@@ -239,13 +239,10 @@ define void @test_none_v4i32(<2 x i32> %vec, ptr %ptr1) {
239
239
;
240
240
; CHECK-LE-P9-LABEL: test_none_v4i32:
241
241
; CHECK-LE-P9: # %bb.0: # %entry
242
- ; CHECK-LE-P9-NEXT: li r3, 0
243
- ; CHECK-LE-P9-NEXT: vextuwrx r3, r3, v2
244
- ; CHECK-LE-P9-NEXT: mtfprwz f0, r3
245
242
; CHECK-LE-P9-NEXT: addis r3, r2, .LCPI2_0@toc@ha
246
243
; CHECK-LE-P9-NEXT: addi r3, r3, .LCPI2_0@toc@l
247
- ; CHECK-LE-P9-NEXT: lxv vs1 , 0(r3)
248
- ; CHECK-LE-P9-NEXT: xxperm v2, vs0, vs1
244
+ ; CHECK-LE-P9-NEXT: lxv vs0 , 0(r3)
245
+ ; CHECK-LE-P9-NEXT: xxperm v2, v2, vs0
249
246
; CHECK-LE-P9-NEXT: stxv v2, 0(r5)
250
247
; CHECK-LE-P9-NEXT: blr
251
248
;
@@ -263,14 +260,11 @@ define void @test_none_v4i32(<2 x i32> %vec, ptr %ptr1) {
263
260
;
264
261
; CHECK-BE-P9-LABEL: test_none_v4i32:
265
262
; CHECK-BE-P9: # %bb.0: # %entry
266
- ; CHECK-BE-P9-NEXT: li r3, 0
267
- ; CHECK-BE-P9-NEXT: vextuwlx r3, r3, v2
268
- ; CHECK-BE-P9-NEXT: mtfprwz f0, r3
269
263
; CHECK-BE-P9-NEXT: addis r3, r2, .LCPI2_0@toc@ha
270
264
; CHECK-BE-P9-NEXT: addi r3, r3, .LCPI2_0@toc@l
271
- ; CHECK-BE-P9-NEXT: lxv vs1 , 0(r3)
272
- ; CHECK-BE-P9-NEXT: xxperm vs0 , v2, vs1
273
- ; CHECK-BE-P9-NEXT: stxv vs0 , 0(r5)
265
+ ; CHECK-BE-P9-NEXT: lxv vs0 , 0(r3)
266
+ ; CHECK-BE-P9-NEXT: xxperm v2 , v2, vs0
267
+ ; CHECK-BE-P9-NEXT: stxv v2 , 0(r5)
274
268
; CHECK-BE-P9-NEXT: blr
275
269
;
276
270
; CHECK-AIX-64-P8-LABEL: test_none_v4i32:
@@ -286,13 +280,10 @@ define void @test_none_v4i32(<2 x i32> %vec, ptr %ptr1) {
286
280
;
287
281
; CHECK-AIX-64-P9-LABEL: test_none_v4i32:
288
282
; CHECK-AIX-64-P9: # %bb.0: # %entry
289
- ; CHECK-AIX-64-P9-NEXT: li r4, 0
290
- ; CHECK-AIX-64-P9-NEXT: vextuwlx r4, r4, v2
291
- ; CHECK-AIX-64-P9-NEXT: mtfprwz f0, r4
292
283
; CHECK-AIX-64-P9-NEXT: ld r4, L..C1(r2) # %const.0
293
- ; CHECK-AIX-64-P9-NEXT: lxv vs1 , 0(r4)
294
- ; CHECK-AIX-64-P9-NEXT: xxperm vs0 , v2, vs1
295
- ; CHECK-AIX-64-P9-NEXT: stxv vs0 , 0(r3)
284
+ ; CHECK-AIX-64-P9-NEXT: lxv vs0 , 0(r4)
285
+ ; CHECK-AIX-64-P9-NEXT: xxperm v2 , v2, vs0
286
+ ; CHECK-AIX-64-P9-NEXT: stxv v2 , 0(r3)
296
287
; CHECK-AIX-64-P9-NEXT: blr
297
288
;
298
289
; CHECK-AIX-32-P8-LABEL: test_none_v4i32:
@@ -308,13 +299,10 @@ define void @test_none_v4i32(<2 x i32> %vec, ptr %ptr1) {
308
299
;
309
300
; CHECK-AIX-32-P9-LABEL: test_none_v4i32:
310
301
; CHECK-AIX-32-P9: # %bb.0: # %entry
311
- ; CHECK-AIX-32-P9-NEXT: addi r4, r1, -16
312
- ; CHECK-AIX-32-P9-NEXT: stxv v2, -16(r1)
313
- ; CHECK-AIX-32-P9-NEXT: lfiwzx f0, 0, r4
314
302
; CHECK-AIX-32-P9-NEXT: lwz r4, L..C1(r2) # %const.0
315
- ; CHECK-AIX-32-P9-NEXT: lxv vs1 , 0(r4)
316
- ; CHECK-AIX-32-P9-NEXT: xxperm vs0 , v2, vs1
317
- ; CHECK-AIX-32-P9-NEXT: stxv vs0 , 0(r3)
303
+ ; CHECK-AIX-32-P9-NEXT: lxv vs0 , 0(r4)
304
+ ; CHECK-AIX-32-P9-NEXT: xxperm v2 , v2, vs0
305
+ ; CHECK-AIX-32-P9-NEXT: stxv v2 , 0(r3)
318
306
; CHECK-AIX-32-P9-NEXT: blr
319
307
entry:
320
308
%0 = extractelement <2 x i32 > %vec , i64 0
0 commit comments