@@ -201,3 +201,113 @@ body: |
201
201
RET_ReallyLR
202
202
203
203
...
204
+ ---
205
+ name : test_idx_undef
206
+ body : |
207
+ bb.1:
208
+ liveins: $x0
209
+ ; CHECK-LABEL: name: test_idx_undef
210
+ ; CHECK: liveins: $x0
211
+ ; CHECK-NEXT: {{ $}}
212
+ ; CHECK-NEXT: RET_ReallyLR
213
+ %3:_(s8) = G_CONSTANT i8 127
214
+ %2:_(<32 x s8>) = G_BUILD_VECTOR %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8)
215
+ %4:_(s8) = G_CONSTANT i8 -128
216
+ %5:_(s64) = G_IMPLICIT_DEF
217
+ %0:_(p0) = COPY $x0
218
+ %1:_(<32 x s8>) = G_INSERT_VECTOR_ELT %2, %4(s8), %5(s64)
219
+ G_STORE %1(<32 x s8>), %0(p0) :: (store (<32 x s8>))
220
+ RET_ReallyLR
221
+
222
+ ...
223
+ ---
224
+ name : test_elt_undef
225
+ body : |
226
+ bb.1:
227
+ liveins: $x0
228
+ ; CHECK-LABEL: name: test_elt_undef
229
+ ; CHECK: liveins: $x0
230
+ ; CHECK-NEXT: {{ $}}
231
+ ; CHECK-NEXT: [[C:%[0-9]+]]:_(s8) = G_CONSTANT i8 127
232
+ ; CHECK-NEXT: [[DEF:%[0-9]+]]:_(s8) = G_IMPLICIT_DEF
233
+ ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x0
234
+ ; CHECK-NEXT: [[BUILD_VECTOR:%[0-9]+]]:_(<32 x s8>) = G_BUILD_VECTOR [[C]](s8), [[C]](s8), [[C]](s8), [[DEF]](s8), [[C]](s8), [[C]](s8), [[C]](s8), [[C]](s8), [[C]](s8), [[C]](s8), [[C]](s8), [[C]](s8), [[C]](s8), [[C]](s8), [[C]](s8), [[C]](s8), [[C]](s8), [[C]](s8), [[C]](s8), [[C]](s8), [[C]](s8), [[C]](s8), [[C]](s8), [[C]](s8), [[C]](s8), [[C]](s8), [[C]](s8), [[C]](s8), [[C]](s8), [[C]](s8), [[C]](s8), [[C]](s8)
235
+ ; CHECK-NEXT: G_STORE [[BUILD_VECTOR]](<32 x s8>), [[COPY]](p0) :: (store (<32 x s8>))
236
+ ; CHECK-NEXT: RET_ReallyLR
237
+ %3:_(s8) = G_CONSTANT i8 127
238
+ %2:_(<32 x s8>) = G_BUILD_VECTOR %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8)
239
+ %4:_(s8) = G_IMPLICIT_DEF
240
+ %5:_(s64) = G_CONSTANT i64 3
241
+ %0:_(p0) = COPY $x0
242
+ %1:_(<32 x s8>) = G_INSERT_VECTOR_ELT %2, %4(s8), %5(s64)
243
+ G_STORE %1(<32 x s8>), %0(p0) :: (store (<32 x s8>))
244
+ RET_ReallyLR
245
+
246
+ ...
247
+ ---
248
+ name : test_elt_undef_with_freeze
249
+ body : |
250
+ bb.1:
251
+ liveins: $x0
252
+ ; CHECK-LABEL: name: test_elt_undef_with_freeze
253
+ ; CHECK: liveins: $x0
254
+ ; CHECK-NEXT: {{ $}}
255
+ ; CHECK-NEXT: [[C:%[0-9]+]]:_(s8) = G_CONSTANT i8 127
256
+ ; CHECK-NEXT: [[BUILD_VECTOR:%[0-9]+]]:_(<32 x s8>) = G_BUILD_VECTOR [[C]](s8), [[C]](s8), [[C]](s8), [[C]](s8), [[C]](s8), [[C]](s8), [[C]](s8), [[C]](s8), [[C]](s8), [[C]](s8), [[C]](s8), [[C]](s8), [[C]](s8), [[C]](s8), [[C]](s8), [[C]](s8), [[C]](s8), [[C]](s8), [[C]](s8), [[C]](s8), [[C]](s8), [[C]](s8), [[C]](s8), [[C]](s8), [[C]](s8), [[C]](s8), [[C]](s8), [[C]](s8), [[C]](s8), [[C]](s8), [[C]](s8), [[C]](s8)
257
+ ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x0
258
+ ; CHECK-NEXT: [[FREEZE:%[0-9]+]]:_(<32 x s8>) = G_FREEZE [[BUILD_VECTOR]]
259
+ ; CHECK-NEXT: G_STORE [[FREEZE]](<32 x s8>), [[COPY]](p0) :: (store (<32 x s8>))
260
+ ; CHECK-NEXT: RET_ReallyLR
261
+ %3:_(s8) = G_CONSTANT i8 127
262
+ %2:_(<32 x s8>) = G_BUILD_VECTOR %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8)
263
+ %4:_(s8) = G_IMPLICIT_DEF
264
+ %5:_(s64) = G_CONSTANT i64 3
265
+ %0:_(p0) = COPY $x0
266
+ %9:_(<32 x s8>) = G_FREEZE %2
267
+ %1:_(<32 x s8>) = G_INSERT_VECTOR_ELT %9, %4(s8), %5(s64)
268
+ G_STORE %1(<32 x s8>), %0(p0) :: (store (<32 x s8>))
269
+ RET_ReallyLR
270
+
271
+ ...
272
+ ---
273
+ name : test_insert_extract
274
+ body : |
275
+ bb.1:
276
+ liveins: $x0
277
+ ; CHECK-LABEL: name: test_insert_extract
278
+ ; CHECK: liveins: $x0
279
+ ; CHECK-NEXT: {{ $}}
280
+ ; CHECK-NEXT: [[C:%[0-9]+]]:_(s8) = G_CONSTANT i8 127
281
+ ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x0
282
+ ; CHECK-NEXT: [[BUILD_VECTOR:%[0-9]+]]:_(<32 x s8>) = G_BUILD_VECTOR [[C]](s8), [[C]](s8), [[C]](s8), [[C]](s8), [[C]](s8), [[C]](s8), [[C]](s8), [[C]](s8), [[C]](s8), [[C]](s8), [[C]](s8), [[C]](s8), [[C]](s8), [[C]](s8), [[C]](s8), [[C]](s8), [[C]](s8), [[C]](s8), [[C]](s8), [[C]](s8), [[C]](s8), [[C]](s8), [[C]](s8), [[C]](s8), [[C]](s8), [[C]](s8), [[C]](s8), [[C]](s8), [[C]](s8), [[C]](s8), [[C]](s8), [[C]](s8)
283
+ ; CHECK-NEXT: G_STORE [[BUILD_VECTOR]](<32 x s8>), [[COPY]](p0) :: (store (<32 x s8>))
284
+ ; CHECK-NEXT: RET_ReallyLR
285
+ %3:_(s8) = G_CONSTANT i8 127
286
+ %2:_(<32 x s8>) = G_BUILD_VECTOR %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8)
287
+ %5:_(s64) = G_CONSTANT i64 3
288
+ %4:_(s8) = G_EXTRACT_VECTOR_ELT %2, %5
289
+ %0:_(p0) = COPY $x0
290
+ %1:_(<32 x s8>) = G_INSERT_VECTOR_ELT %2, %4(s8), %5(s64)
291
+ G_STORE %1(<32 x s8>), %0(p0) :: (store (<32 x s8>))
292
+ RET_ReallyLR
293
+
294
+ ...
295
+ ---
296
+ name : test_idx_oob
297
+ body : |
298
+ bb.1:
299
+ liveins: $x0
300
+ ; CHECK-LABEL: name: test_idx_oob
301
+ ; CHECK: liveins: $x0
302
+ ; CHECK-NEXT: {{ $}}
303
+ ; CHECK-NEXT: RET_ReallyLR
304
+ %3:_(s8) = G_CONSTANT i8 127
305
+ %2:_(<32 x s8>) = G_BUILD_VECTOR %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8), %3(s8)
306
+ %4:_(s8) = G_CONSTANT i8 -128
307
+ %5:_(s64) = G_CONSTANT i64 1024
308
+ %0:_(p0) = COPY $x0
309
+ %1:_(<32 x s8>) = G_INSERT_VECTOR_ELT %2, %4(s8), %5(s64)
310
+ G_STORE %1(<32 x s8>), %0(p0) :: (store (<32 x s8>))
311
+ RET_ReallyLR
312
+
313
+ ...
0 commit comments