@@ -969,44 +969,11 @@ define <8 x i64> @shuffle_v8i64_as_i128(<8 x i64> %v) {
969969 ret <8 x i64 > %shuffle
970970}
971971
972- ; Test case where first span has undefs
973- define <8 x i64 > @shuffle_v8i64_as_i128_2 (<8 x i64 > %v ) {
974- ; CHECK-LABEL: shuffle_v8i64_as_i128_2:
975- ; CHECK: # %bb.0:
976- ; CHECK-NEXT: lui a0, %hi(.LCPI30_0)
977- ; CHECK-NEXT: addi a0, a0, %lo(.LCPI30_0)
978- ; CHECK-NEXT: vsetivli zero, 8, e16, m1, ta, ma
979- ; CHECK-NEXT: vle16.v v16, (a0)
980- ; CHECK-NEXT: vsetvli a0, zero, e64, m1, ta, ma
981- ; CHECK-NEXT: vrgatherei16.vv v13, v9, v16
982- ; CHECK-NEXT: vrgatherei16.vv v12, v8, v16
983- ; CHECK-NEXT: vrgatherei16.vv v14, v10, v16
984- ; CHECK-NEXT: vrgatherei16.vv v15, v11, v16
985- ; CHECK-NEXT: vmv4r.v v8, v12
986- ; CHECK-NEXT: ret
987- ;
988- ; ZVKB-V-LABEL: shuffle_v8i64_as_i128_2:
989- ; ZVKB-V: # %bb.0:
990- ; ZVKB-V-NEXT: lui a0, %hi(.LCPI30_0)
991- ; ZVKB-V-NEXT: addi a0, a0, %lo(.LCPI30_0)
992- ; ZVKB-V-NEXT: vsetivli zero, 8, e16, m1, ta, ma
993- ; ZVKB-V-NEXT: vle16.v v16, (a0)
994- ; ZVKB-V-NEXT: vsetvli a0, zero, e64, m1, ta, ma
995- ; ZVKB-V-NEXT: vrgatherei16.vv v13, v9, v16
996- ; ZVKB-V-NEXT: vrgatherei16.vv v12, v8, v16
997- ; ZVKB-V-NEXT: vrgatherei16.vv v14, v10, v16
998- ; ZVKB-V-NEXT: vrgatherei16.vv v15, v11, v16
999- ; ZVKB-V-NEXT: vmv4r.v v8, v12
1000- ; ZVKB-V-NEXT: ret
1001- %shuffle = shufflevector <8 x i64 > %v , <8 x i64 > poison, <8 x i32 > <i32 undef , i32 undef , i32 3 , i32 2 , i32 5 , i32 4 , i32 7 , i32 6 >
1002- ret <8 x i64 > %shuffle
1003- }
1004-
1005972define <8 x i64 > @shuffle_v8i64_as_i256 (<8 x i64 > %v ) {
1006973; CHECK-LABEL: shuffle_v8i64_as_i256:
1007974; CHECK: # %bb.0:
1008- ; CHECK-NEXT: lui a0, %hi(.LCPI31_0 )
1009- ; CHECK-NEXT: addi a0, a0, %lo(.LCPI31_0 )
975+ ; CHECK-NEXT: lui a0, %hi(.LCPI30_0 )
976+ ; CHECK-NEXT: addi a0, a0, %lo(.LCPI30_0 )
1010977; CHECK-NEXT: vsetivli zero, 8, e64, m4, ta, ma
1011978; CHECK-NEXT: vle16.v v16, (a0)
1012979; CHECK-NEXT: vrgatherei16.vv v12, v8, v16
@@ -1015,8 +982,8 @@ define <8 x i64> @shuffle_v8i64_as_i256(<8 x i64> %v) {
1015982;
1016983; ZVKB-V-LABEL: shuffle_v8i64_as_i256:
1017984; ZVKB-V: # %bb.0:
1018- ; ZVKB-V-NEXT: lui a0, %hi(.LCPI31_0 )
1019- ; ZVKB-V-NEXT: addi a0, a0, %lo(.LCPI31_0 )
985+ ; ZVKB-V-NEXT: lui a0, %hi(.LCPI30_0 )
986+ ; ZVKB-V-NEXT: addi a0, a0, %lo(.LCPI30_0 )
1020987; ZVKB-V-NEXT: vsetivli zero, 8, e64, m4, ta, ma
1021988; ZVKB-V-NEXT: vle16.v v16, (a0)
1022989; ZVKB-V-NEXT: vrgatherei16.vv v12, v8, v16
@@ -1029,8 +996,8 @@ define <8 x i64> @shuffle_v8i64_as_i256(<8 x i64> %v) {
1029996define <8 x i64 > @shuffle_v8i64_as_i256_zvl256b (<8 x i64 > %v ) vscale_range(4 ,0 ) {
1030997; CHECK-LABEL: shuffle_v8i64_as_i256_zvl256b:
1031998; CHECK: # %bb.0:
1032- ; CHECK-NEXT: lui a0, %hi(.LCPI32_0 )
1033- ; CHECK-NEXT: addi a0, a0, %lo(.LCPI32_0 )
999+ ; CHECK-NEXT: lui a0, %hi(.LCPI31_0 )
1000+ ; CHECK-NEXT: addi a0, a0, %lo(.LCPI31_0 )
10341001; CHECK-NEXT: vsetivli zero, 8, e16, mf2, ta, ma
10351002; CHECK-NEXT: vle16.v v12, (a0)
10361003; CHECK-NEXT: vsetvli a0, zero, e64, m1, ta, ma
@@ -1041,8 +1008,8 @@ define <8 x i64> @shuffle_v8i64_as_i256_zvl256b(<8 x i64> %v) vscale_range(4,0)
10411008;
10421009; ZVKB-V-LABEL: shuffle_v8i64_as_i256_zvl256b:
10431010; ZVKB-V: # %bb.0:
1044- ; ZVKB-V-NEXT: lui a0, %hi(.LCPI32_0 )
1045- ; ZVKB-V-NEXT: addi a0, a0, %lo(.LCPI32_0 )
1011+ ; ZVKB-V-NEXT: lui a0, %hi(.LCPI31_0 )
1012+ ; ZVKB-V-NEXT: addi a0, a0, %lo(.LCPI31_0 )
10461013; ZVKB-V-NEXT: vsetivli zero, 8, e16, mf2, ta, ma
10471014; ZVKB-V-NEXT: vle16.v v12, (a0)
10481015; ZVKB-V-NEXT: vsetvli a0, zero, e64, m1, ta, ma
0 commit comments