@@ -93,183 +93,3 @@ define i64 @testuu0xf555f555f555f555() {
93
93
; CHECK-NEXT: ret
94
94
ret i64 u0xf555f555f555f555
95
95
}
96
-
97
- define void @test_store_0x1234567812345678 (ptr %x ) {
98
- ; CHECK-LABEL: test_store_0x1234567812345678:
99
- ; CHECK: // %bb.0:
100
- ; CHECK-NEXT: mov x8, #22136 // =0x5678
101
- ; CHECK-NEXT: movk x8, #4660, lsl #16
102
- ; CHECK-NEXT: stp w8, w8, [x0]
103
- ; CHECK-NEXT: ret
104
- store i64 u0x1234567812345678, ptr %x
105
- ret void
106
- }
107
-
108
- define void @test_store_0xff3456ffff3456ff (ptr %x ) {
109
- ; CHECK-LABEL: test_store_0xff3456ffff3456ff:
110
- ; CHECK: // %bb.0:
111
- ; CHECK-NEXT: mov x8, #22271 // =0x56ff
112
- ; CHECK-NEXT: movk x8, #65332, lsl #16
113
- ; CHECK-NEXT: stp w8, w8, [x0]
114
- ; CHECK-NEXT: ret
115
- store i64 u0xff3456ffff3456ff, ptr %x
116
- ret void
117
- }
118
-
119
- define void @test_store_0x00345600345600 (ptr %x ) {
120
- ; CHECK-LABEL: test_store_0x00345600345600:
121
- ; CHECK: // %bb.0:
122
- ; CHECK-NEXT: mov x8, #22016 // =0x5600
123
- ; CHECK-NEXT: movk x8, #52, lsl #16
124
- ; CHECK-NEXT: movk x8, #13398, lsl #32
125
- ; CHECK-NEXT: str x8, [x0]
126
- ; CHECK-NEXT: ret
127
- store i64 u0x00345600345600, ptr %x
128
- ret void
129
- }
130
-
131
- define void @test_store_0x5555555555555555 (ptr %x ) {
132
- ; CHECK-LABEL: test_store_0x5555555555555555:
133
- ; CHECK: // %bb.0:
134
- ; CHECK-NEXT: mov x8, #6148914691236517205 // =0x5555555555555555
135
- ; CHECK-NEXT: str x8, [x0]
136
- ; CHECK-NEXT: ret
137
- store i64 u0x5555555555555555, ptr %x
138
- ret void
139
- }
140
-
141
- define void @test_store_0x5055555550555555 (ptr %x ) {
142
- ; CHECK-LABEL: test_store_0x5055555550555555:
143
- ; CHECK: // %bb.0:
144
- ; CHECK-NEXT: mov x8, #6148914691236517205 // =0x5555555555555555
145
- ; CHECK-NEXT: and x8, x8, #0xf0fffffff0ffffff
146
- ; CHECK-NEXT: str x8, [x0]
147
- ; CHECK-NEXT: ret
148
- store i64 u0x5055555550555555, ptr %x
149
- ret void
150
- }
151
-
152
- define void @test_store_0x0000555555555555 (ptr %x ) {
153
- ; CHECK-LABEL: test_store_0x0000555555555555:
154
- ; CHECK: // %bb.0:
155
- ; CHECK-NEXT: mov x8, #6148914691236517205 // =0x5555555555555555
156
- ; CHECK-NEXT: movk x8, #0, lsl #48
157
- ; CHECK-NEXT: str x8, [x0]
158
- ; CHECK-NEXT: ret
159
- store i64 u0x0000555555555555, ptr %x
160
- ret void
161
- }
162
-
163
- define void @test_store_0x0000555500005555 (ptr %x ) {
164
- ; CHECK-LABEL: test_store_0x0000555500005555:
165
- ; CHECK: // %bb.0:
166
- ; CHECK-NEXT: mov x8, #21845 // =0x5555
167
- ; CHECK-NEXT: stp w8, w8, [x0]
168
- ; CHECK-NEXT: ret
169
- store i64 u0x0000555500005555, ptr %x
170
- ret void
171
- }
172
-
173
- define void @test_store_0x5555000055550000 (ptr %x ) {
174
- ; CHECK-LABEL: test_store_0x5555000055550000:
175
- ; CHECK: // %bb.0:
176
- ; CHECK-NEXT: mov x8, #1431633920 // =0x55550000
177
- ; CHECK-NEXT: stp w8, w8, [x0]
178
- ; CHECK-NEXT: ret
179
- store i64 u0x5555000055550000, ptr %x
180
- ret void
181
- }
182
-
183
- define void @test_store_u0xffff5555ffff5555 (ptr %x ) {
184
- ; CHECK-LABEL: test_store_u0xffff5555ffff5555:
185
- ; CHECK: // %bb.0:
186
- ; CHECK-NEXT: mov x8, #-43691 // =0xffffffffffff5555
187
- ; CHECK-NEXT: movk x8, #21845, lsl #32
188
- ; CHECK-NEXT: str x8, [x0]
189
- ; CHECK-NEXT: ret
190
- store i64 u0xffff5555ffff5555, ptr %x
191
- ret void
192
- }
193
-
194
- define void @test_store_0x8888ffff8888ffff (ptr %x ) {
195
- ; CHECK-LABEL: test_store_0x8888ffff8888ffff:
196
- ; CHECK: // %bb.0:
197
- ; CHECK-NEXT: mov x8, #-2004287489 // =0xffffffff8888ffff
198
- ; CHECK-NEXT: movk x8, #34952, lsl #48
199
- ; CHECK-NEXT: str x8, [x0]
200
- ; CHECK-NEXT: ret
201
- store i64 u0x8888ffff8888ffff, ptr %x
202
- ret void
203
- }
204
-
205
- define void @test_store_uu0xfffff555f555f555 (ptr %x ) {
206
- ; CHECK-LABEL: test_store_uu0xfffff555f555f555:
207
- ; CHECK: // %bb.0:
208
- ; CHECK-NEXT: mov x8, #-2731 // =0xfffffffffffff555
209
- ; CHECK-NEXT: movk x8, #62805, lsl #16
210
- ; CHECK-NEXT: movk x8, #62805, lsl #32
211
- ; CHECK-NEXT: str x8, [x0]
212
- ; CHECK-NEXT: ret
213
- store i64 u0xfffff555f555f555, ptr %x
214
- ret void
215
- }
216
-
217
- define void @test_store_uu0xf555f555f555f555 (ptr %x ) {
218
- ; CHECK-LABEL: test_store_uu0xf555f555f555f555:
219
- ; CHECK: // %bb.0:
220
- ; CHECK-NEXT: mov x8, #6148914691236517205 // =0x5555555555555555
221
- ; CHECK-NEXT: orr x8, x8, #0xe001e001e001e001
222
- ; CHECK-NEXT: str x8, [x0]
223
- ; CHECK-NEXT: ret
224
- store i64 u0xf555f555f555f555, ptr %x
225
- ret void
226
- }
227
-
228
- define void @test_store_0x1234567812345678_offset_range (ptr %x ) {
229
- ; CHECK-LABEL: test_store_0x1234567812345678_offset_range:
230
- ; CHECK: // %bb.0:
231
- ; CHECK-NEXT: mov x8, #22136 // =0x5678
232
- ; CHECK-NEXT: movk x8, #4660, lsl #16
233
- ; CHECK-NEXT: stp w8, w8, [x0, #32]
234
- ; CHECK-NEXT: ret
235
- %g = getelementptr i64 , ptr %x , i64 4
236
- store i64 u0x1234567812345678, ptr %g
237
- ret void
238
- }
239
-
240
- define void @test_store_0x1234567812345678_offset_min (ptr %x ) {
241
- ; CHECK-LABEL: test_store_0x1234567812345678_offset_min:
242
- ; CHECK: // %bb.0:
243
- ; CHECK-NEXT: mov x8, #22136 // =0x5678
244
- ; CHECK-NEXT: movk x8, #4660, lsl #16
245
- ; CHECK-NEXT: stp w8, w8, [x0]
246
- ; CHECK-NEXT: ret
247
- %g = getelementptr i8 , ptr %x , i32 0
248
- store i64 u0x1234567812345678, ptr %g
249
- ret void
250
- }
251
-
252
- define void @test_store_0x1234567812345678_offset_max (ptr %x ) {
253
- ; CHECK-LABEL: test_store_0x1234567812345678_offset_max:
254
- ; CHECK: // %bb.0:
255
- ; CHECK-NEXT: mov x8, #22136 // =0x5678
256
- ; CHECK-NEXT: movk x8, #4660, lsl #16
257
- ; CHECK-NEXT: stp w8, w8, [x0, #248]
258
- ; CHECK-NEXT: ret
259
- %g = getelementptr i8 , ptr %x , i32 248
260
- store i64 u0x1234567812345678, ptr %g
261
- ret void
262
- }
263
-
264
- define void @test_store_0x1234567812345678_offset_max_over (ptr %x ) {
265
- ; CHECK-LABEL: test_store_0x1234567812345678_offset_max_over:
266
- ; CHECK: // %bb.0:
267
- ; CHECK-NEXT: mov x8, #22136 // =0x5678
268
- ; CHECK-NEXT: movk x8, #4660, lsl #16
269
- ; CHECK-NEXT: orr x8, x8, x8, lsl #32
270
- ; CHECK-NEXT: stur x8, [x0, #249]
271
- ; CHECK-NEXT: ret
272
- %g = getelementptr i8 , ptr %x , i32 249
273
- store i64 u0x1234567812345678, ptr %g
274
- ret void
275
- }
0 commit comments