diff options
Diffstat (limited to 'test/CodeGen/atomic-ops-libcall.c')
-rw-r--r-- | test/CodeGen/atomic-ops-libcall.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/test/CodeGen/atomic-ops-libcall.c b/test/CodeGen/atomic-ops-libcall.c index 0093a8cbbbba4..c673b07f8ed83 100644 --- a/test/CodeGen/atomic-ops-libcall.c +++ b/test/CodeGen/atomic-ops-libcall.c @@ -1,5 +1,8 @@ // RUN: %clang_cc1 < %s -triple armv5e-none-linux-gnueabi -emit-llvm -O1 | FileCheck %s +// FIXME: This file should not be checking -O1 output. +// Ie, it is testing many IR optimizer passes as part of front-end verification. + enum memory_order { memory_order_relaxed, memory_order_consume, memory_order_acquire, memory_order_release, memory_order_acq_rel, memory_order_seq_cst @@ -110,7 +113,8 @@ int test_atomic_xor_fetch(int *p) { int test_atomic_nand_fetch(int *p) { // CHECK: test_atomic_nand_fetch // CHECK: [[CALL:%[^ ]*]] = tail call i32 @__atomic_fetch_nand_4(i8* {{%[0-9]+}}, i32 55, i32 5) - // CHECK: [[OR:%[^ ]*]] = or i32 [[CALL]], -56 - // CHECK: {{%[^ ]*}} = xor i32 [[OR]], 55 + // FIXME: We should not be checking optimized IR. It changes independently of clang. + // FIXME-CHECK: [[AND:%[^ ]*]] = and i32 [[CALL]], 55 + // FIXME-CHECK: {{%[^ ]*}} = xor i32 [[AND]], -1 return __atomic_nand_fetch(p, 55, memory_order_seq_cst); } |