@@ -19,8 +19,10 @@ pub struct ScalarPair {
19
19
#[ no_mangle]
20
20
pub fn load ( x : & ScalarPair ) -> ScalarPair {
21
21
// CHECK-LABEL: @load(
22
- // CHECK-SAME: sret([32 x i8]) align 16 dereferenceable(32) %_0,
23
- // CHECK-SAME: align 16 dereferenceable(32) %x
22
+ // CHECK-SAME: sret([32 x i8]) align 16
23
+ // CHECK-SAME: dereferenceable(32) %_0,
24
+ // CHECK-SAME: align 16
25
+ // CHECK-SAME: dereferenceable(32) %x
24
26
// CHECK: [[A:%.*]] = load i32, ptr %x, align 16
25
27
// CHECK-NEXT: [[GEP:%.*]] = getelementptr inbounds i8, ptr %x, i64 16
26
28
// CHECK-NEXT: [[B:%.*]] = load i128, ptr [[GEP]], align 16
@@ -34,7 +36,8 @@ pub fn load(x: &ScalarPair) -> ScalarPair {
34
36
#[ no_mangle]
35
37
pub fn store ( x : & mut ScalarPair ) {
36
38
// CHECK-LABEL: @store(
37
- // CHECK-SAME: align 16 dereferenceable(32) %x
39
+ // CHECK-SAME: align 16
40
+ // CHECK-SAME: dereferenceable(32) %x
38
41
// CHECK: store i32 1, ptr %x, align 16
39
42
// CHECK-NEXT: [[GEP:%.*]] = getelementptr inbounds i8, ptr %x, i64 16
40
43
// CHECK-NEXT: store i128 2, ptr [[GEP]], align 16
@@ -55,8 +58,10 @@ pub fn alloca() {
55
58
#[ no_mangle]
56
59
pub fn load_volatile ( x : & ScalarPair ) -> ScalarPair {
57
60
// CHECK-LABEL: @load_volatile(
58
- // CHECK-SAME: sret([32 x i8]) align 16 dereferenceable(32) %_0,
59
- // CHECK-SAME: align 16 dereferenceable(32) %x
61
+ // CHECK-SAME: sret([32 x i8]) align 16
62
+ // CHECK-SAME: dereferenceable(32) %_0,
63
+ // CHECK-SAME: align 16
64
+ // CHECK-SAME: dereferenceable(32) %x
60
65
// CHECK: [[LOAD:%.*]] = load volatile %ScalarPair, ptr %x, align 16
61
66
// CHECK-NEXT: store %ScalarPair [[LOAD]], ptr %_0, align 16
62
67
// CHECK-NEXT: ret void
@@ -66,7 +71,8 @@ pub fn load_volatile(x: &ScalarPair) -> ScalarPair {
66
71
#[ no_mangle]
67
72
pub fn transmute ( x : ScalarPair ) -> ( std:: mem:: MaybeUninit < i128 > , i128 ) {
68
73
// CHECK-LABEL: @transmute(
69
- // CHECK-SAME: sret([32 x i8]) align 16 dereferenceable(32) %_0,
74
+ // CHECK-SAME: sret([32 x i8]) align 16
75
+ // CHECK-SAME: dereferenceable(32) %_0,
70
76
// CHECK-SAME: i32 noundef %x.0, i128 noundef %x.1
71
77
// CHECK: store i32 %x.0, ptr %_0, align 16
72
78
// CHECK-NEXT: [[GEP:%.*]] = getelementptr inbounds i8, ptr %_0, i64 16
@@ -86,7 +92,8 @@ pub struct Struct {
86
92
#[ no_mangle]
87
93
pub fn store_struct ( x : & mut Struct ) {
88
94
// CHECK-LABEL: @store_struct(
89
- // CHECK-SAME: align 16 dereferenceable(32) %x
95
+ // CHECK-SAME: align 16
96
+ // CHECK-SAME: dereferenceable(32) %x
90
97
// CHECK: [[TMP:%.*]] = alloca [32 x i8], align 16
91
98
// CHECK: store i32 1, ptr [[TMP]], align 16
92
99
// CHECK-NEXT: [[GEP1:%.*]] = getelementptr inbounds i8, ptr [[TMP]], i64 4
0 commit comments