@@ -16,10 +16,10 @@ define <4 x i16> @shuffle_v4i16(<4 x i16> %x, <4 x i16> %y) {
1616define <8 x i32 > @shuffle_v8i32 (<8 x i32 > %x , <8 x i32 > %y ) {
1717; CHECK-LABEL: shuffle_v8i32:
1818; CHECK: # %bb.0:
19- ; CHECK-NEXT: li a0, 52
19+ ; CHECK-NEXT: li a0, 203
2020; CHECK-NEXT: vsetivli zero, 8, e32, m2, ta, ma
2121; 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
2323; CHECK-NEXT: ret
2424 %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 >
2525 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) {
455455; CHECK-NEXT: addi a0, a0, %lo(.LCPI26_0)
456456; CHECK-NEXT: vsetivli zero, 8, e8, mf2, ta, ma
457457; CHECK-NEXT: vle8.v v10, (a0)
458- ; CHECK-NEXT: li a0, 65
458+ ; CHECK-NEXT: li a0, 20
459459; 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
461461; CHECK-NEXT: vrgather.vv v8, v9, v10
462462; CHECK-NEXT: ret
463463 %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) {
688688; CHECK-NEXT: addi a0, a0, %lo(.LCPI46_0)
689689; CHECK-NEXT: vsetivli zero, 8, e8, mf2, ta, ma
690690; CHECK-NEXT: vle8.v v10, (a0)
691- ; CHECK-NEXT: li a0, 171
691+ ; CHECK-NEXT: li a0, 84
692692; 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
694694; CHECK-NEXT: vrgather.vv v8, v9, v10
695695; CHECK-NEXT: ret
696696 %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) {
702702; CHECK-LABEL: shuffle_v8i32_2:
703703; CHECK: # %bb.0:
704704; 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
706706; 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
708708; CHECK-NEXT: ret
709709 %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 >
710710 ret <8 x i32 > %s
@@ -1074,10 +1074,10 @@ define <16 x i32> @shuffle_disjoint_lanes(<16 x i32> %v, <16 x i32> %w) {
10741074; CHECK-NEXT: addi a0, a0, %lo(.LCPI70_0)
10751075; CHECK-NEXT: vsetivli zero, 16, e32, m4, ta, ma
10761076; 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
10791079; 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
10811081; CHECK-NEXT: vsetvli zero, zero, e16, m2, ta, ma
10821082; CHECK-NEXT: vsext.vf2 v18, v16
10831083; 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>
10941094; CHECK-NEXT: addi a0, a0, %lo(.LCPI71_0)
10951095; CHECK-NEXT: vsetivli zero, 16, e32, m4, ta, ma
10961096; CHECK-NEXT: vle8.v v16, (a0)
1097- ; CHECK-NEXT: li a0, -304
1097+ ; CHECK-NEXT: li a0, 271
10981098; 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
11001100; CHECK-NEXT: vsetvli zero, zero, e16, m2, ta, ma
11011101; CHECK-NEXT: vsext.vf2 v18, v16
11021102; CHECK-NEXT: vsetvli zero, zero, e32, m4, ta, ma
0 commit comments