@@ -1754,6 +1754,17 @@ define void @store_factor4_one_active(ptr %ptr, <4 x i32> %v) {
17541754 ret void
17551755}
17561756
1757+ define void @vpstore_factor4_one_active (ptr %ptr , <4 x i32 > %v ) {
1758+ ; CHECK-LABEL: vpstore_factor4_one_active:
1759+ ; CHECK: # %bb.0:
1760+ ; CHECK-NEXT: vsetivli zero, 4, e32, m1, ta, ma
1761+ ; CHECK-NEXT: vsseg4e32.v v8, (a0)
1762+ ; CHECK-NEXT: ret
1763+ %v0 = shufflevector <4 x i32 > %v , <4 x i32 > poison, <16 x i32 > <i32 0 , i32 undef , i32 undef , i32 undef , i32 1 , i32 undef , i32 undef , i32 undef , i32 2 , i32 undef , i32 undef , i32 undef , i32 3 , i32 undef , i32 undef , i32 undef >
1764+ tail call void @llvm.vp.store.v16i32.p0 (<16 x i32 > %v0 , ptr %ptr , <16 x i1 > splat (i1 true ), i32 16 )
1765+ ret void
1766+ }
1767+
17571768define void @store_factor4_one_active_idx1 (ptr %ptr , <4 x i32 > %v ) {
17581769; CHECK-LABEL: store_factor4_one_active_idx1:
17591770; CHECK: # %bb.0:
@@ -1828,8 +1839,8 @@ define {<4 x i32>, <4 x i32>, <4 x i32>} @invalid_vp_mask(ptr %ptr) {
18281839; RV32-NEXT: vle32.v v12, (a0), v0.t
18291840; RV32-NEXT: li a0, 36
18301841; RV32-NEXT: vmv.s.x v20, a1
1831- ; RV32-NEXT: lui a1, %hi(.LCPI53_0 )
1832- ; RV32-NEXT: addi a1, a1, %lo(.LCPI53_0 )
1842+ ; RV32-NEXT: lui a1, %hi(.LCPI54_0 )
1843+ ; RV32-NEXT: addi a1, a1, %lo(.LCPI54_0 )
18331844; RV32-NEXT: vsetivli zero, 8, e32, m2, ta, ma
18341845; RV32-NEXT: vle16.v v21, (a1)
18351846; RV32-NEXT: vcompress.vm v8, v12, v11
@@ -1904,8 +1915,8 @@ define {<4 x i32>, <4 x i32>, <4 x i32>} @invalid_vp_evl(ptr %ptr) {
19041915; RV32-NEXT: vmv.s.x v10, a0
19051916; RV32-NEXT: li a0, 146
19061917; RV32-NEXT: vmv.s.x v11, a0
1907- ; RV32-NEXT: lui a0, %hi(.LCPI54_0 )
1908- ; RV32-NEXT: addi a0, a0, %lo(.LCPI54_0 )
1918+ ; RV32-NEXT: lui a0, %hi(.LCPI55_0 )
1919+ ; RV32-NEXT: addi a0, a0, %lo(.LCPI55_0 )
19091920; RV32-NEXT: vsetivli zero, 8, e32, m2, ta, ma
19101921; RV32-NEXT: vle16.v v20, (a0)
19111922; RV32-NEXT: li a0, 36
0 commit comments