@@ -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
@@ -1074,10 +1074,10 @@ define <16 x i32> @shuffle_disjoint_lanes(<16 x i32> %v, <16 x i32> %w) {
1074
1074
; CHECK-NEXT: addi a0, a0, %lo(.LCPI70_0)
1075
1075
; CHECK-NEXT: vsetivli zero, 16, e32, m4, ta, ma
1076
1076
; CHECK-NEXT: vle8.v v16, (a0)
1077
- ; CHECK-NEXT: lui a0, 5
1078
- ; CHECK-NEXT: addi a0, a0, 1365
1077
+ ; CHECK-NEXT: lui a0, 11
1078
+ ; CHECK-NEXT: addi a0, a0, -1366
1079
1079
; CHECK-NEXT: vmv.s.x v0, a0
1080
- ; CHECK-NEXT: vmerge.vvm v12, v8, v12 , v0
1080
+ ; CHECK-NEXT: vmerge.vvm v12, v12, v8 , v0
1081
1081
; CHECK-NEXT: vsetvli zero, zero, e16, m2, ta, ma
1082
1082
; CHECK-NEXT: vsext.vf2 v18, v16
1083
1083
; CHECK-NEXT: vsetvli zero, zero, e32, m4, ta, ma
@@ -1094,9 +1094,9 @@ define <16 x i32> @shuffle_disjoint_lanes_one_identity(<16 x i32> %v, <16 x i32>
1094
1094
; CHECK-NEXT: addi a0, a0, %lo(.LCPI71_0)
1095
1095
; CHECK-NEXT: vsetivli zero, 16, e32, m4, ta, ma
1096
1096
; CHECK-NEXT: vle8.v v16, (a0)
1097
- ; CHECK-NEXT: li a0, -304
1097
+ ; CHECK-NEXT: li a0, 271
1098
1098
; CHECK-NEXT: vmv.s.x v0, a0
1099
- ; CHECK-NEXT: vmerge.vvm v12, v8, v12 , v0
1099
+ ; CHECK-NEXT: vmerge.vvm v12, v12, v8 , v0
1100
1100
; CHECK-NEXT: vsetvli zero, zero, e16, m2, ta, ma
1101
1101
; CHECK-NEXT: vsext.vf2 v18, v16
1102
1102
; CHECK-NEXT: vsetvli zero, zero, e32, m4, ta, ma
0 commit comments