@@ -50,9 +50,9 @@ define <8 x i8> @shuffle_index_indices_from_op1(ptr %a, ptr %b) {
50
50
; SVE2_MIN_256_NOMAX-NEXT: ptrue p0.b, vl32
51
51
; SVE2_MIN_256_NOMAX-NEXT: adrp x8, .LCPI0_0
52
52
; SVE2_MIN_256_NOMAX-NEXT: add x8, x8, :lo12:.LCPI0_0
53
- ; SVE2_MIN_256_NOMAX-NEXT: ldr d1 , [x0]
54
- ; SVE2_MIN_256_NOMAX-NEXT: ld1b { z0 .b }, p0/z, [x8]
55
- ; SVE2_MIN_256_NOMAX-NEXT: tbl z0.b, { z1 .b }, z0 .b
53
+ ; SVE2_MIN_256_NOMAX-NEXT: ldr d0 , [x0]
54
+ ; SVE2_MIN_256_NOMAX-NEXT: ld1b { z1 .b }, p0/z, [x8]
55
+ ; SVE2_MIN_256_NOMAX-NEXT: tbl z0.b, { z0 .b }, z1 .b
56
56
; SVE2_MIN_256_NOMAX-NEXT: // kill: def $d0 killed $d0 killed $z0
57
57
; SVE2_MIN_256_NOMAX-NEXT: ret
58
58
%op1 = load <8 x i8 >, ptr %a
@@ -105,9 +105,9 @@ define <8 x i8> @shuffle_index_indices_from_op2(ptr %a, ptr %b) {
105
105
; SVE2_MIN_256_NOMAX-NEXT: ptrue p0.b, vl32
106
106
; SVE2_MIN_256_NOMAX-NEXT: adrp x8, .LCPI1_0
107
107
; SVE2_MIN_256_NOMAX-NEXT: add x8, x8, :lo12:.LCPI1_0
108
- ; SVE2_MIN_256_NOMAX-NEXT: ldr d1 , [x1]
109
- ; SVE2_MIN_256_NOMAX-NEXT: ld1b { z0 .b }, p0/z, [x8]
110
- ; SVE2_MIN_256_NOMAX-NEXT: tbl z0.b, { z1 .b }, z0 .b
108
+ ; SVE2_MIN_256_NOMAX-NEXT: ldr d0 , [x1]
109
+ ; SVE2_MIN_256_NOMAX-NEXT: ld1b { z1 .b }, p0/z, [x8]
110
+ ; SVE2_MIN_256_NOMAX-NEXT: tbl z0.b, { z0 .b }, z1 .b
111
111
; SVE2_MIN_256_NOMAX-NEXT: // kill: def $d0 killed $d0 killed $z0
112
112
; SVE2_MIN_256_NOMAX-NEXT: ret
113
113
%op1 = load <8 x i8 >, ptr %a
@@ -386,9 +386,9 @@ define <8 x i8> @shuffle_op1_poison(ptr %a, ptr %b) {
386
386
; SVE2_MIN_256_NOMAX-NEXT: ptrue p0.b, vl32
387
387
; SVE2_MIN_256_NOMAX-NEXT: adrp x8, .LCPI4_0
388
388
; SVE2_MIN_256_NOMAX-NEXT: add x8, x8, :lo12:.LCPI4_0
389
- ; SVE2_MIN_256_NOMAX-NEXT: ldr d1 , [x1]
390
- ; SVE2_MIN_256_NOMAX-NEXT: ld1b { z0 .b }, p0/z, [x8]
391
- ; SVE2_MIN_256_NOMAX-NEXT: tbl z0.b, { z1 .b }, z0 .b
389
+ ; SVE2_MIN_256_NOMAX-NEXT: ldr d0 , [x1]
390
+ ; SVE2_MIN_256_NOMAX-NEXT: ld1b { z1 .b }, p0/z, [x8]
391
+ ; SVE2_MIN_256_NOMAX-NEXT: tbl z0.b, { z0 .b }, z1 .b
392
392
; SVE2_MIN_256_NOMAX-NEXT: // kill: def $d0 killed $d0 killed $z0
393
393
; SVE2_MIN_256_NOMAX-NEXT: ret
394
394
%op2 = load <8 x i8 >, ptr %b
@@ -453,9 +453,9 @@ define <8 x i8> @shuffle_index_size_op1_maxhw(ptr %a, ptr %b) "target-features"=
453
453
; CHECK-NEXT: ptrue p0.b
454
454
; CHECK-NEXT: adrp x8, .LCPI6_0
455
455
; CHECK-NEXT: add x8, x8, :lo12:.LCPI6_0
456
- ; CHECK-NEXT: ldr d1 , [x0]
457
- ; CHECK-NEXT: ld1b { z0 .b }, p0/z, [x8]
458
- ; CHECK-NEXT: tbl z0.b, { z1 .b }, z0 .b
456
+ ; CHECK-NEXT: ldr d0 , [x0]
457
+ ; CHECK-NEXT: ld1b { z1 .b }, p0/z, [x8]
458
+ ; CHECK-NEXT: tbl z0.b, { z0 .b }, z1 .b
459
459
; CHECK-NEXT: // kill: def $d0 killed $d0 killed $z0
460
460
; CHECK-NEXT: ret
461
461
%op1 = load <8 x i8 >, ptr %a
@@ -597,19 +597,19 @@ define <8 x i16> @shuffle_index_indices_from_both_ops_i16(ptr %a, ptr %b) {
597
597
; SVE2_MIN_256_NOMAX: // %bb.0:
598
598
; SVE2_MIN_256_NOMAX-NEXT: ptrue p0.h, vl16
599
599
; SVE2_MIN_256_NOMAX-NEXT: rdvl x8, #1
600
+ ; SVE2_MIN_256_NOMAX-NEXT: ldr q0, [x0]
601
+ ; SVE2_MIN_256_NOMAX-NEXT: lsr x8, x8, #4
600
602
; SVE2_MIN_256_NOMAX-NEXT: adrp x9, .LCPI7_0
601
603
; SVE2_MIN_256_NOMAX-NEXT: add x9, x9, :lo12:.LCPI7_0
602
- ; SVE2_MIN_256_NOMAX-NEXT: lsr x8, x8, #4
603
604
; SVE2_MIN_256_NOMAX-NEXT: adrp x10, .LCPI7_1
604
605
; SVE2_MIN_256_NOMAX-NEXT: add x10, x10, :lo12:.LCPI7_1
606
+ ; SVE2_MIN_256_NOMAX-NEXT: ldr q1, [x1]
605
607
; SVE2_MIN_256_NOMAX-NEXT: lsl w8, w8, #3
606
- ; SVE2_MIN_256_NOMAX-NEXT: mov z2.h, w8
607
- ; SVE2_MIN_256_NOMAX-NEXT: ld1h { z0.h }, p0/z, [x9]
608
- ; SVE2_MIN_256_NOMAX-NEXT: ld1h { z1.h }, p0/z, [x10]
609
- ; SVE2_MIN_256_NOMAX-NEXT: mad z0.h, p0/m, z2.h, z1.h
610
- ; SVE2_MIN_256_NOMAX-NEXT: ldr q1, [x0]
611
- ; SVE2_MIN_256_NOMAX-NEXT: ldr q2, [x1]
612
- ; SVE2_MIN_256_NOMAX-NEXT: tbl z0.h, { z1.h, z2.h }, z0.h
608
+ ; SVE2_MIN_256_NOMAX-NEXT: mov z4.h, w8
609
+ ; SVE2_MIN_256_NOMAX-NEXT: ld1h { z2.h }, p0/z, [x9]
610
+ ; SVE2_MIN_256_NOMAX-NEXT: ld1h { z3.h }, p0/z, [x10]
611
+ ; SVE2_MIN_256_NOMAX-NEXT: mad z2.h, p0/m, z4.h, z3.h
612
+ ; SVE2_MIN_256_NOMAX-NEXT: tbl z0.h, { z0.h, z1.h }, z2.h
613
613
; SVE2_MIN_256_NOMAX-NEXT: // kill: def $q0 killed $q0 killed $z0
614
614
; SVE2_MIN_256_NOMAX-NEXT: ret
615
615
%op1 = load <8 x i16 >, ptr %a
0 commit comments