|
1 | | -// NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py |
2 | 1 | // RUN: %clang_cc1 -triple s390x-linux-gnu -O1 -emit-llvm %s -o - | FileCheck %s |
3 | 2 | // |
4 | 3 | // Test __atomic_is_lock_free() and __atomic_always_lock_free() for __int128 |
|
9 | 8 |
|
10 | 9 | __int128 Int128_Al16 __attribute__((aligned(16))); |
11 | 10 |
|
12 | | -// CHECK-LABEL: @fun_PtrAl16_is_lock_free( |
13 | | -// CHECK-NEXT: entry: |
14 | | -// CHECK-NEXT: [[CALL:%.*]] = tail call zeroext i1 @__atomic_is_lock_free(i64 noundef 16, ptr noundef nonnull @Int128_Al16) #[[ATTR2]] |
15 | | -// CHECK-NEXT: ret i1 [[CALL]] |
16 | | -// |
17 | | -_Bool fun_PtrAl16_is_lock_free() { |
| 11 | +// CHECK-LABEL: @fun0 |
| 12 | +// CHECK: tail call zeroext i1 @__atomic_is_lock_free |
| 13 | +_Bool fun0() { |
18 | 14 | return __atomic_is_lock_free(16, &Int128_Al16); |
19 | 15 | } |
20 | 16 |
|
21 | | -// CHECK-LABEL: @fun_PtrAl16_always_lock_free( |
22 | | -// CHECK-NEXT: entry: |
23 | | -// CHECK-NEXT: ret i1 false |
24 | | -// |
25 | | -_Bool fun_PtrAl16_always_lock_free() { |
| 17 | +// CHECK-LABEL: @fun1 |
| 18 | +// CHECK: ret i1 false |
| 19 | +_Bool fun1() { |
26 | 20 | return __atomic_always_lock_free(16, &Int128_Al16); |
27 | 21 | } |
28 | 22 |
|
29 | 23 | // Also test these with a 16 byte size and null-pointer. |
30 | | -// CHECK-LABEL: @fun_noptr_is_lock_free( |
31 | | -// CHECK-NEXT: entry: |
32 | | -// CHECK-NEXT: ret i1 true |
33 | | -// |
34 | | -_Bool fun_noptr_is_lock_free() { |
| 24 | +// CHECK-LABEL: @fun2 |
| 25 | +// CHECK: ret i1 true |
| 26 | +_Bool fun2() { |
35 | 27 | return __atomic_is_lock_free(16, 0); |
36 | 28 | } |
37 | 29 |
|
38 | | -// CHECK-LABEL: @fun_noptr_always_lock_free( |
39 | | -// CHECK-NEXT: entry: |
40 | | -// CHECK-NEXT: ret i1 true |
41 | | -// |
42 | | -_Bool fun_noptr_always_lock_free() { |
| 30 | +// CHECK-LABEL: @fun3 |
| 31 | +// CHECK: ret i1 true |
| 32 | +_Bool fun3() { |
43 | 33 | return __atomic_always_lock_free(16, 0); |
44 | 34 | } |
45 | 35 |
|
46 | 36 | // Also test __c11_atomic_is_lock_free() with a 16 byte size. |
47 | | -// CHECK-LABEL: @fun_c11_is_lock_free( |
48 | | -// CHECK-NEXT: entry: |
49 | | -// CHECK-NEXT: ret i1 true |
50 | | -// |
51 | | -_Bool fun_c11_is_lock_free() { |
| 37 | +// CHECK-LABEL: @fun4 |
| 38 | +// CHECK: ret i1 true |
| 39 | +_Bool fun4() { |
52 | 40 | return __c11_atomic_is_lock_free(16); |
53 | 41 | } |
54 | 42 |
|
0 commit comments