@@ -16,10 +16,10 @@ define <4 x i16> @shuffle_v4i16(<4 x i16> %x, <4 x i16> %y) {
16
16
define <8 x i32 > @shuffle_v8i32 (<8 x i32 > %x , <8 x i32 > %y ) {
17
17
; CHECK-LABEL: shuffle_v8i32:
18
18
; CHECK: # %bb.0:
19
- ; CHECK-NEXT: li a0, 52
19
+ ; CHECK-NEXT: li a0, 203
20
20
; CHECK-NEXT: vsetivli zero, 8, e32, m2, ta, ma
21
21
; CHECK-NEXT: vmv.s.x v0, a0
22
- ; CHECK-NEXT: vmerge.vvm v8, v8, v10 , v0
22
+ ; CHECK-NEXT: vmerge.vvm v8, v10, v8 , v0
23
23
; CHECK-NEXT: ret
24
24
%s = shufflevector <8 x i32 > %x , <8 x i32 > %y , <8 x i32 > <i32 0 , i32 1 , i32 10 , i32 3 , i32 12 , i32 13 , i32 6 , i32 7 >
25
25
ret <8 x i32 > %s
@@ -455,9 +455,9 @@ define <8 x i8> @splat_ve2_we0_ins_i2ve4_i5we6(<8 x i8> %v, <8 x i8> %w) {
455
455
; CHECK-NEXT: addi a0, a0, %lo(.LCPI26_0)
456
456
; CHECK-NEXT: vsetivli zero, 8, e8, mf2, ta, ma
457
457
; CHECK-NEXT: vle8.v v10, (a0)
458
- ; CHECK-NEXT: li a0, 65
458
+ ; CHECK-NEXT: li a0, 20
459
459
; CHECK-NEXT: vmv.s.x v0, a0
460
- ; CHECK-NEXT: vmerge.vvm v9, v8, v9 , v0
460
+ ; CHECK-NEXT: vmerge.vvm v9, v9, v8 , v0
461
461
; CHECK-NEXT: vrgather.vv v8, v9, v10
462
462
; CHECK-NEXT: ret
463
463
%shuff = shufflevector <8 x i8 > %v , <8 x i8 > %w , <8 x i32 > <i32 2 , i32 8 , i32 4 , i32 2 , i32 2 , i32 14 , i32 8 , i32 2 >
@@ -688,9 +688,9 @@ define <8 x i8> @unmergable(<8 x i8> %v, <8 x i8> %w) {
688
688
; CHECK-NEXT: addi a0, a0, %lo(.LCPI46_0)
689
689
; CHECK-NEXT: vsetivli zero, 8, e8, mf2, ta, ma
690
690
; CHECK-NEXT: vle8.v v10, (a0)
691
- ; CHECK-NEXT: li a0, 171
691
+ ; CHECK-NEXT: li a0, 84
692
692
; CHECK-NEXT: vmv.s.x v0, a0
693
- ; CHECK-NEXT: vmerge.vvm v9, v8, v9 , v0
693
+ ; CHECK-NEXT: vmerge.vvm v9, v9, v8 , v0
694
694
; CHECK-NEXT: vrgather.vv v8, v9, v10
695
695
; CHECK-NEXT: ret
696
696
%res = shufflevector <8 x i8 > %v , <8 x i8 > %w , <8 x i32 > <i32 2 , i32 9 , i32 4 , i32 11 , i32 6 , i32 13 , i32 8 , i32 15 >
@@ -702,9 +702,9 @@ define <8 x i32> @shuffle_v8i32_2(<8 x i32> %x, <8 x i32> %y) {
702
702
; CHECK-LABEL: shuffle_v8i32_2:
703
703
; CHECK: # %bb.0:
704
704
; CHECK-NEXT: vsetivli zero, 1, e8, mf8, ta, ma
705
- ; CHECK-NEXT: vmv.v.i v0, 12
705
+ ; CHECK-NEXT: vmv.v.i v0, -13
706
706
; CHECK-NEXT: vsetivli zero, 8, e32, m2, ta, ma
707
- ; CHECK-NEXT: vmerge.vvm v8, v8, v10 , v0
707
+ ; CHECK-NEXT: vmerge.vvm v8, v10, v8 , v0
708
708
; CHECK-NEXT: ret
709
709
%s = shufflevector <8 x i32 > %x , <8 x i32 > %y , <8 x i32 > <i32 0 , i32 1 , i32 10 , i32 11 , i32 4 , i32 5 , i32 6 , i32 7 >
710
710
ret <8 x i32 > %s
@@ -1022,10 +1022,10 @@ define <16 x i32> @shuffle_disjoint_lanes(<16 x i32> %v, <16 x i32> %w) {
1022
1022
; CHECK-NEXT: addi a0, a0, %lo(.LCPI70_0)
1023
1023
; CHECK-NEXT: vsetivli zero, 16, e32, m4, ta, ma
1024
1024
; CHECK-NEXT: vle8.v v16, (a0)
1025
- ; CHECK-NEXT: lui a0, 5
1026
- ; CHECK-NEXT: addi a0, a0, 1365
1025
+ ; CHECK-NEXT: lui a0, 11
1026
+ ; CHECK-NEXT: addi a0, a0, -1366
1027
1027
; CHECK-NEXT: vmv.s.x v0, a0
1028
- ; CHECK-NEXT: vmerge.vvm v12, v8, v12 , v0
1028
+ ; CHECK-NEXT: vmerge.vvm v12, v12, v8 , v0
1029
1029
; CHECK-NEXT: vsetvli zero, zero, e16, m2, ta, ma
1030
1030
; CHECK-NEXT: vsext.vf2 v18, v16
1031
1031
; CHECK-NEXT: vsetvli zero, zero, e32, m4, ta, ma
@@ -1042,9 +1042,9 @@ define <16 x i32> @shuffle_disjoint_lanes_one_identity(<16 x i32> %v, <16 x i32>
1042
1042
; CHECK-NEXT: addi a0, a0, %lo(.LCPI71_0)
1043
1043
; CHECK-NEXT: vsetivli zero, 16, e32, m4, ta, ma
1044
1044
; CHECK-NEXT: vle8.v v16, (a0)
1045
- ; CHECK-NEXT: li a0, -304
1045
+ ; CHECK-NEXT: li a0, 271
1046
1046
; CHECK-NEXT: vmv.s.x v0, a0
1047
- ; CHECK-NEXT: vmerge.vvm v12, v8, v12 , v0
1047
+ ; CHECK-NEXT: vmerge.vvm v12, v12, v8 , v0
1048
1048
; CHECK-NEXT: vsetvli zero, zero, e16, m2, ta, ma
1049
1049
; CHECK-NEXT: vsext.vf2 v18, v16
1050
1050
; CHECK-NEXT: vsetvli zero, zero, e32, m4, ta, ma
0 commit comments