diff options
| author | Hans Wennborg <hans@hanshq.net> | 2017-04-07 17:01:56 +0000 |
|---|---|---|
| committer | Hans Wennborg <hans@hanshq.net> | 2017-04-07 17:01:56 +0000 |
| commit | f6388b182d17a035897c9e6699381f549fdd4ec6 (patch) | |
| tree | a9823a0573f7e60b6a6b828d4d1c8f3fa1303b48 /clang/test/CodeGen/ms-intrinsics.c | |
| parent | 3ae87c4650fec9764e5dd0178e20c416002bb0c0 (diff) | |
| download | bcm5719-llvm-f6388b182d17a035897c9e6699381f549fdd4ec6.tar.gz bcm5719-llvm-f6388b182d17a035897c9e6699381f549fdd4ec6.zip | |
Attempt to fix ms-intrinsics.c test
llvm-svn: 299785
Diffstat (limited to 'clang/test/CodeGen/ms-intrinsics.c')
| -rw-r--r-- | clang/test/CodeGen/ms-intrinsics.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/clang/test/CodeGen/ms-intrinsics.c b/clang/test/CodeGen/ms-intrinsics.c index 06d85890128..818be7fd7ff 100644 --- a/clang/test/CodeGen/ms-intrinsics.c +++ b/clang/test/CodeGen/ms-intrinsics.c @@ -438,12 +438,12 @@ unsigned char test_interlockedbittestandset(volatile long *ptr, long bit) { return _interlockedbittestandset(ptr, bit); } // CHECK-LABEL: define{{.*}} i8 @test_interlockedbittestandset -// CHECK: %0 = shl i32 1, %bit -// CHECK: %1 = atomicrmw or i32* %ptr, i32 %0 seq_cst -// CHECK: %2 = lshr i32 %1, %bit -// CHECK: %3 = trunc i32 %2 to i8 -// CHECK: %4 = and i8 %3, 1 -// CHECK: ret i8 %4 +// CHECK: [[MASKBIT:%[0-9]+]] = shl i32 1, %bit +// CHECK: [[OLD:%[0-9]+]] = atomicrmw or i32* %ptr, i32 [[MASKBIT]] seq_cst +// CHECK: [[SHIFT:%[0-9]+]] = lshr i32 [[OLD]], %bit +// CHECK: [[TRUNC:%[0-9]+]] = trunc i32 [[SHIFT]] to i8 +// CHECK: [[AND:%[0-9]+]] = and i8 [[TRUNC]], 1 +// CHECK: ret i8 [[AND]] void test__fastfail() { __fastfail(42); |

