Sha256: df3f100c0938b14acd7fb0f23fe39dbde3d0c93c8693ba4d30bc522b73f7c504
Contents?: true
Size: 1.33 KB
Versions: 1
Compression:
Stored size: 1.33 KB
Contents
#include <benchmark/benchmark.h> #ifdef __clang__ #pragma clang diagnostic ignored "-Wreturn-type" #endif extern "C" { extern int ExternInt; extern int ExternInt2; extern int ExternInt3; } // CHECK-LABEL: test_basic: extern "C" void test_basic() { int x; benchmark::DoNotOptimize(&x); x = 101; benchmark::ClobberMemory(); // CHECK: leaq [[DEST:[^,]+]], %rax // CHECK: movl $101, [[DEST]] // CHECK: ret } // CHECK-LABEL: test_redundant_store: extern "C" void test_redundant_store() { ExternInt = 3; benchmark::ClobberMemory(); ExternInt = 51; // CHECK-DAG: ExternInt // CHECK-DAG: movl $3 // CHECK: movl $51 } // CHECK-LABEL: test_redundant_read: extern "C" void test_redundant_read() { int x; benchmark::DoNotOptimize(&x); x = ExternInt; benchmark::ClobberMemory(); x = ExternInt2; // CHECK: leaq [[DEST:[^,]+]], %rax // CHECK: ExternInt(%rip) // CHECK: movl %eax, [[DEST]] // CHECK-NOT: ExternInt2 // CHECK: ret } // CHECK-LABEL: test_redundant_read2: extern "C" void test_redundant_read2() { int x; benchmark::DoNotOptimize(&x); x = ExternInt; benchmark::ClobberMemory(); x = ExternInt2; benchmark::ClobberMemory(); // CHECK: leaq [[DEST:[^,]+]], %rax // CHECK: ExternInt(%rip) // CHECK: movl %eax, [[DEST]] // CHECK: ExternInt2(%rip) // CHECK: movl %eax, [[DEST]] // CHECK: ret }
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
simdjson-0.3.0 | vendor/simdjson/dependencies/benchmark/test/clobber_memory_assembly_test.cc |