@@ -35,12 +35,10 @@ define void @load_store_units_critical(ptr %arg, ptr noundef %arg1, i64 noundef
35
35
; CHECK-NEXT: fmadd s0, s5, s0, s1
36
36
; CHECK-NEXT: fadd s1, s4, s2
37
37
; CHECK-NEXT: fadd s5, s0, s3
38
- ; CHECK-NEXT: str s1, [x8]
39
- ; CHECK-NEXT: str s5, [x8, #4]
38
+ ; CHECK-NEXT: stp s1, s5, [x8]
40
39
; CHECK-NEXT: fsub s2, s2, s4
41
40
; CHECK-NEXT: fsub s0, s3, s0
42
- ; CHECK-NEXT: str s2, [x8, #8]
43
- ; CHECK-NEXT: str s0, [x8, #12]
41
+ ; CHECK-NEXT: stp s2, s0, [x8, #8]
44
42
; CHECK-NEXT: ldr x9, [x0, #8]
45
43
; CHECK-NEXT: ldp s3, s4, [x9]
46
44
; CHECK-NEXT: ldp s6, s7, [x8, #16]
@@ -51,12 +49,10 @@ define void @load_store_units_critical(ptr %arg, ptr noundef %arg1, i64 noundef
51
49
; CHECK-NEXT: fmadd s3, s17, s3, s4
52
50
; CHECK-NEXT: fadd s4, s16, s6
53
51
; CHECK-NEXT: fadd s17, s3, s7
54
- ; CHECK-NEXT: str s4, [x8, #16]
55
- ; CHECK-NEXT: str s17, [x8, #20]
52
+ ; CHECK-NEXT: stp s4, s17, [x8, #16]
56
53
; CHECK-NEXT: fsub s6, s6, s16
57
54
; CHECK-NEXT: fsub s3, s7, s3
58
- ; CHECK-NEXT: str s6, [x8, #24]
59
- ; CHECK-NEXT: str s3, [x8, #28]
55
+ ; CHECK-NEXT: stp s6, s3, [x8, #24]
60
56
; CHECK-NEXT: ldr x9, [x0, #8]
61
57
; CHECK-NEXT: ldp s7, s16, [x9]
62
58
; CHECK-NEXT: fmul s18, s16, s17
@@ -65,12 +61,10 @@ define void @load_store_units_critical(ptr %arg, ptr noundef %arg1, i64 noundef
65
61
; CHECK-NEXT: fmadd s4, s16, s4, s17
66
62
; CHECK-NEXT: fadd s16, s7, s1
67
63
; CHECK-NEXT: fadd s17, s4, s5
68
- ; CHECK-NEXT: str s16, [x8]
69
- ; CHECK-NEXT: str s17, [x8, #4]
64
+ ; CHECK-NEXT: stp s16, s17, [x8]
70
65
; CHECK-NEXT: fsub s1, s1, s7
71
66
; CHECK-NEXT: fsub s4, s5, s4
72
- ; CHECK-NEXT: str s1, [x8, #16]
73
- ; CHECK-NEXT: str s4, [x8, #20]
67
+ ; CHECK-NEXT: stp s1, s4, [x8, #16]
74
68
; CHECK-NEXT: ldr x10, [x0, #8]
75
69
; CHECK-NEXT: lsl x9, x3, #4
76
70
; CHECK-NEXT: add x10, x10, x9
@@ -81,12 +75,10 @@ define void @load_store_units_critical(ptr %arg, ptr noundef %arg1, i64 noundef
81
75
; CHECK-NEXT: fmadd s3, s4, s6, s3
82
76
; CHECK-NEXT: fadd s4, s1, s2
83
77
; CHECK-NEXT: fadd s5, s3, s0
84
- ; CHECK-NEXT: str s4, [x8, #8]
85
- ; CHECK-NEXT: str s5, [x8, #12]
78
+ ; CHECK-NEXT: stp s4, s5, [x8, #8]
86
79
; CHECK-NEXT: fsub s1, s2, s1
87
80
; CHECK-NEXT: fsub s0, s0, s3
88
- ; CHECK-NEXT: str s1, [x8, #24]
89
- ; CHECK-NEXT: str s0, [x8, #28]
81
+ ; CHECK-NEXT: stp s1, s0, [x8, #24]
90
82
; CHECK-NEXT: ldr x10, [x0, #8]
91
83
; CHECK-NEXT: ldp s0, s1, [x10]
92
84
; CHECK-NEXT: ldp s2, s3, [x8, #32]
@@ -97,12 +89,10 @@ define void @load_store_units_critical(ptr %arg, ptr noundef %arg1, i64 noundef
97
89
; CHECK-NEXT: fmadd s0, s5, s0, s1
98
90
; CHECK-NEXT: fadd s1, s4, s2
99
91
; CHECK-NEXT: fadd s5, s0, s3
100
- ; CHECK-NEXT: str s1, [x8, #32]
101
- ; CHECK-NEXT: str s5, [x8, #36]
92
+ ; CHECK-NEXT: stp s1, s5, [x8, #32]
102
93
; CHECK-NEXT: fsub s4, s2, s4
103
94
; CHECK-NEXT: fsub s6, s3, s0
104
- ; CHECK-NEXT: str s4, [x8, #40]
105
- ; CHECK-NEXT: str s6, [x8, #44]
95
+ ; CHECK-NEXT: stp s4, s6, [x8, #40]
106
96
; CHECK-NEXT: ldr x10, [x0, #8]
107
97
; CHECK-NEXT: ldp s0, s2, [x10]
108
98
; CHECK-NEXT: ldp s3, s7, [x8, #48]
@@ -113,12 +103,10 @@ define void @load_store_units_critical(ptr %arg, ptr noundef %arg1, i64 noundef
113
103
; CHECK-NEXT: fmadd s0, s17, s0, s2
114
104
; CHECK-NEXT: fadd s2, s16, s3
115
105
; CHECK-NEXT: fadd s17, s0, s7
116
- ; CHECK-NEXT: str s2, [x8, #48]
117
- ; CHECK-NEXT: str s17, [x8, #52]
106
+ ; CHECK-NEXT: stp s2, s17, [x8, #48]
118
107
; CHECK-NEXT: fsub s16, s3, s16
119
108
; CHECK-NEXT: fsub s0, s7, s0
120
- ; CHECK-NEXT: str s16, [x8, #56]
121
- ; CHECK-NEXT: str s0, [x8, #60]
109
+ ; CHECK-NEXT: stp s16, s0, [x8, #56]
122
110
; CHECK-NEXT: ldr x10, [x0, #8]
123
111
; CHECK-NEXT: ldp s3, s7, [x10]
124
112
; CHECK-NEXT: fmul s18, s7, s17
@@ -127,12 +115,10 @@ define void @load_store_units_critical(ptr %arg, ptr noundef %arg1, i64 noundef
127
115
; CHECK-NEXT: fmadd s7, s7, s2, s17
128
116
; CHECK-NEXT: fadd s17, s3, s1
129
117
; CHECK-NEXT: fadd s18, s7, s5
130
- ; CHECK-NEXT: str s17, [x8, #32]
131
- ; CHECK-NEXT: str s18, [x8, #36]
118
+ ; CHECK-NEXT: stp s17, s18, [x8, #32]
132
119
; CHECK-NEXT: fsub s2, s1, s3
133
120
; CHECK-NEXT: fsub s3, s5, s7
134
- ; CHECK-NEXT: str s2, [x8, #48]
135
- ; CHECK-NEXT: str s3, [x8, #52]
121
+ ; CHECK-NEXT: stp s2, s3, [x8, #48]
136
122
; CHECK-NEXT: ldr x10, [x0, #8]
137
123
; CHECK-NEXT: add x9, x10, x9
138
124
; CHECK-NEXT: ldp s1, s5, [x9]
@@ -142,12 +128,10 @@ define void @load_store_units_critical(ptr %arg, ptr noundef %arg1, i64 noundef
142
128
; CHECK-NEXT: fmadd s5, s5, s16, s0
143
129
; CHECK-NEXT: fadd s7, s1, s4
144
130
; CHECK-NEXT: fadd s16, s5, s6
145
- ; CHECK-NEXT: str s7, [x8, #40]
146
- ; CHECK-NEXT: str s16, [x8, #44]
131
+ ; CHECK-NEXT: stp s7, s16, [x8, #40]
147
132
; CHECK-NEXT: fsub s0, s4, s1
148
133
; CHECK-NEXT: fsub s1, s6, s5
149
- ; CHECK-NEXT: str s0, [x8, #56]
150
- ; CHECK-NEXT: str s1, [x8, #60]
134
+ ; CHECK-NEXT: stp s0, s1, [x8, #56]
151
135
; CHECK-NEXT: ldr x9, [x0, #8]
152
136
; CHECK-NEXT: ldp s4, s5, [x9]
153
137
; CHECK-NEXT: ldp s6, s19, [x8]
@@ -157,12 +141,10 @@ define void @load_store_units_critical(ptr %arg, ptr noundef %arg1, i64 noundef
157
141
; CHECK-NEXT: fmadd s4, s18, s4, s5
158
142
; CHECK-NEXT: fadd s5, s17, s6
159
143
; CHECK-NEXT: fadd s18, s4, s19
160
- ; CHECK-NEXT: str s5, [x8]
161
- ; CHECK-NEXT: str s18, [x8, #4]
144
+ ; CHECK-NEXT: stp s5, s18, [x8]
162
145
; CHECK-NEXT: fsub s5, s6, s17
163
146
; CHECK-NEXT: fsub s4, s19, s4
164
- ; CHECK-NEXT: str s5, [x8, #32]
165
- ; CHECK-NEXT: str s4, [x8, #36]
147
+ ; CHECK-NEXT: stp s5, s4, [x8, #32]
166
148
; CHECK-NEXT: lsl x9, x3, #32
167
149
; CHECK-NEXT: ldr x10, [x0, #8]
168
150
; CHECK-NEXT: add x9, x10, x9, asr #29
@@ -174,12 +156,10 @@ define void @load_store_units_critical(ptr %arg, ptr noundef %arg1, i64 noundef
174
156
; CHECK-NEXT: fmadd s4, s16, s4, s5
175
157
; CHECK-NEXT: fadd s5, s7, s6
176
158
; CHECK-NEXT: fadd s16, s4, s17
177
- ; CHECK-NEXT: str s5, [x8, #8]
178
- ; CHECK-NEXT: str s16, [x8, #12]
159
+ ; CHECK-NEXT: stp s5, s16, [x8, #8]
179
160
; CHECK-NEXT: fsub s5, s6, s7
180
161
; CHECK-NEXT: fsub s4, s17, s4
181
- ; CHECK-NEXT: str s5, [x8, #40]
182
- ; CHECK-NEXT: str s4, [x8, #44]
162
+ ; CHECK-NEXT: stp s5, s4, [x8, #40]
183
163
; CHECK-NEXT: lsl x9, x3, #33
184
164
; CHECK-NEXT: ldr x10, [x0, #8]
185
165
; CHECK-NEXT: add x9, x10, x9, asr #29
@@ -191,12 +171,10 @@ define void @load_store_units_critical(ptr %arg, ptr noundef %arg1, i64 noundef
191
171
; CHECK-NEXT: fmadd s3, s3, s4, s5
192
172
; CHECK-NEXT: fadd s4, s2, s6
193
173
; CHECK-NEXT: fadd s5, s3, s7
194
- ; CHECK-NEXT: str s4, [x8, #16]
195
- ; CHECK-NEXT: str s5, [x8, #20]
174
+ ; CHECK-NEXT: stp s4, s5, [x8, #16]
196
175
; CHECK-NEXT: fsub s2, s6, s2
197
176
; CHECK-NEXT: fsub s3, s7, s3
198
- ; CHECK-NEXT: str s2, [x8, #48]
199
- ; CHECK-NEXT: str s3, [x8, #52]
177
+ ; CHECK-NEXT: stp s2, s3, [x8, #48]
200
178
; CHECK-NEXT: add w9, w3, w3, lsl #1
201
179
; CHECK-NEXT: lsl x9, x9, #32
202
180
; CHECK-NEXT: ldr x10, [x0, #8]
@@ -209,12 +187,10 @@ define void @load_store_units_critical(ptr %arg, ptr noundef %arg1, i64 noundef
209
187
; CHECK-NEXT: fmadd s1, s1, s2, s3
210
188
; CHECK-NEXT: fadd s2, s0, s4
211
189
; CHECK-NEXT: fadd s3, s1, s5
212
- ; CHECK-NEXT: str s2, [x8, #24]
213
- ; CHECK-NEXT: str s3, [x8, #28]
190
+ ; CHECK-NEXT: stp s2, s3, [x8, #24]
214
191
; CHECK-NEXT: fsub s0, s4, s0
215
192
; CHECK-NEXT: fsub s1, s5, s1
216
- ; CHECK-NEXT: str s0, [x8, #56]
217
- ; CHECK-NEXT: str s1, [x8, #60]
193
+ ; CHECK-NEXT: stp s0, s1, [x8, #56]
218
194
; CHECK-NEXT: ret
219
195
bb:
220
196
%shl = shl i64 %arg3 , 1
0 commit comments