diff options
| author | Chris Lattner <sabre@nondot.org> | 2010-09-21 23:40:48 +0000 |
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2010-09-21 23:40:48 +0000 |
| commit | b2f659b7a0b787a933c5bd6d665ea0299e5b7ad1 (patch) | |
| tree | c35b270709d4db5dc9067c0d69548154c04612d0 /clang/test/CodeGen/atomic.c | |
| parent | c9066d3072637bd638b31fbac168b87142e02874 (diff) | |
| download | bcm5719-llvm-b2f659b7a0b787a933c5bd6d665ea0299e5b7ad1.tar.gz bcm5719-llvm-b2f659b7a0b787a933c5bd6d665ea0299e5b7ad1.zip | |
fix the rest of rdar://8461279 - clang miscompiles address-space qualified atomics
llvm-svn: 114503
Diffstat (limited to 'clang/test/CodeGen/atomic.c')
| -rw-r--r-- | clang/test/CodeGen/atomic.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/clang/test/CodeGen/atomic.c b/clang/test/CodeGen/atomic.c index 6b80e6dda64..e3bc2185b75 100644 --- a/clang/test/CodeGen/atomic.c +++ b/clang/test/CodeGen/atomic.c @@ -130,6 +130,7 @@ void release_return(int *lock) { } +// rdar://8461279 - Atomics with address spaces. // CHECK: @addrspace void addrspace(int __attribute__((address_space(256))) * P) { __sync_bool_compare_and_swap(P, 0, 1); @@ -142,5 +143,12 @@ void addrspace(int __attribute__((address_space(256))) * P) { // CHECK: call void @llvm.memory.barrier(i1 true, i1 true, i1 true, i1 true, i1 true) // CHECK: call i32 @llvm.atomic.cmp.swap.i32.p256i32(i32 addrspace(256)*{{.*}}, i32 0, i32 1) // CHECK: call void @llvm.memory.barrier(i1 true, i1 true, i1 true, i1 true, i1 true) + + + __sync_xor_and_fetch(P, 123); + // CHECK: call void @llvm.memory.barrier(i1 true, i1 true, i1 true, i1 true, i1 true) + // CHECK: call i32 @llvm.atomic.load.xor.i32.p256i32(i32 addrspace(256)* {{.*}}, i32 123) + // CHECK: call void @llvm.memory.barrier(i1 true, i1 true, i1 true, i1 true, i1 true) + } |

