diff options
| author | Dimitry Andric <dim@FreeBSD.org> | 2014-11-24 09:15:30 +0000 |
|---|---|---|
| committer | Dimitry Andric <dim@FreeBSD.org> | 2014-11-24 09:15:30 +0000 |
| commit | 9f4dbff6669c8037f3b036bcf580d14f1a4f12a5 (patch) | |
| tree | 47df2c12b57214af6c31e47404b005675b8b7ffc /test/CodeGen/atomic.c | |
| parent | f73d5f23a889b93d89ddef61ac0995df40286bb8 (diff) | |
Notes
Diffstat (limited to 'test/CodeGen/atomic.c')
| -rw-r--r-- | test/CodeGen/atomic.c | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/test/CodeGen/atomic.c b/test/CodeGen/atomic.c index ac3848f02f9e..43f5bc81ee98 100644 --- a/test/CodeGen/atomic.c +++ b/test/CodeGen/atomic.c @@ -35,10 +35,12 @@ int atomic(void) { // CHECK: atomicrmw xchg i32* %val, i32 8 seq_cst old = __sync_val_compare_and_swap(&val, 4, 1976); - // CHECK: cmpxchg i32* %val, i32 4, i32 1976 seq_cst - + // CHECK: [[PAIR:%[a-z0-9_.]+]] = cmpxchg i32* %val, i32 4, i32 1976 seq_cst + // CHECK: extractvalue { i32, i1 } [[PAIR]], 0 + old = __sync_bool_compare_and_swap(&val, 4, 1976); - // CHECK: cmpxchg i32* %val, i32 4, i32 1976 seq_cst + // CHECK: [[PAIR:%[a-z0-9_.]+]] = cmpxchg i32* %val, i32 4, i32 1976 seq_cst + // CHECK: extractvalue { i32, i1 } [[PAIR]], 1 old = __sync_fetch_and_and(&val, 0x9); // CHECK: atomicrmw and i32* %val, i32 9 seq_cst @@ -65,10 +67,13 @@ int atomic(void) { // CHECK: atomicrmw xor i8* %valc, i8 5 seq_cst __sync_val_compare_and_swap((void **)0, (void *)0, (void *)0); - // CHECK: cmpxchg i32* null, i32 0, i32 0 seq_cst + // CHECK: [[PAIR:%[a-z0-9_.]+]] = cmpxchg i32* null, i32 0, i32 0 seq_cst + // CHECK: extractvalue { i32, i1 } [[PAIR]], 0 if ( __sync_val_compare_and_swap(&valb, 0, 1)) { - // CHECK: cmpxchg i8* %valb, i8 0, i8 1 seq_cst + // CHECK: [[PAIR:%[a-z0-9_.]+]] = cmpxchg i8* %valb, i8 0, i8 1 seq_cst + // CHECK: [[VAL:%[a-z0-9_.]+]] = extractvalue { i8, i1 } [[PAIR]], 0 + // CHECK: trunc i8 [[VAL]] to i1 old = 42; } |
