@@ -3156,6 +3156,7 @@ define void @mscatter_v8i64(<8 x i64> %val, <8 x ptr> %ptrs, <8 x i1> %m) {
31563156; RV32ZVE32F-NEXT: .cfi_offset s0, -4
31573157; RV32ZVE32F-NEXT: .cfi_offset s1, -8
31583158; RV32ZVE32F-NEXT: .cfi_offset s2, -12
3159+ ; RV32ZVE32F-NEXT: .cfi_remember_state
31593160; RV32ZVE32F-NEXT: lw a1, 60(a0)
31603161; RV32ZVE32F-NEXT: lw a2, 56(a0)
31613162; RV32ZVE32F-NEXT: lw a3, 52(a0)
@@ -3212,6 +3213,7 @@ define void @mscatter_v8i64(<8 x i64> %val, <8 x ptr> %ptrs, <8 x i1> %m) {
32123213; RV32ZVE32F-NEXT: .cfi_def_cfa_offset 0
32133214; RV32ZVE32F-NEXT: ret
32143215; RV32ZVE32F-NEXT: .LBB41_10: # %cond.store
3216+ ; RV32ZVE32F-NEXT: .cfi_restore_state
32153217; RV32ZVE32F-NEXT: lw s1, 4(a0)
32163218; RV32ZVE32F-NEXT: lw a0, 0(a0)
32173219; RV32ZVE32F-NEXT: vsetvli zero, zero, e32, m4, ta, ma
@@ -3280,6 +3282,7 @@ define void @mscatter_v8i64(<8 x i64> %val, <8 x ptr> %ptrs, <8 x i1> %m) {
32803282; RV64ZVE32F-NEXT: .cfi_offset s0, -8
32813283; RV64ZVE32F-NEXT: .cfi_offset s1, -16
32823284; RV64ZVE32F-NEXT: .cfi_offset s2, -24
3285+ ; RV64ZVE32F-NEXT: .cfi_remember_state
32833286; RV64ZVE32F-NEXT: ld a2, 56(a1)
32843287; RV64ZVE32F-NEXT: ld a4, 48(a1)
32853288; RV64ZVE32F-NEXT: ld a6, 40(a1)
@@ -3332,6 +3335,7 @@ define void @mscatter_v8i64(<8 x i64> %val, <8 x ptr> %ptrs, <8 x i1> %m) {
33323335; RV64ZVE32F-NEXT: .cfi_def_cfa_offset 0
33333336; RV64ZVE32F-NEXT: ret
33343337; RV64ZVE32F-NEXT: .LBB41_10: # %cond.store
3338+ ; RV64ZVE32F-NEXT: .cfi_restore_state
33353339; RV64ZVE32F-NEXT: ld a1, 0(a1)
33363340; RV64ZVE32F-NEXT: ld a0, 0(a0)
33373341; RV64ZVE32F-NEXT: sd a0, 0(a1)
@@ -3394,6 +3398,7 @@ define void @mscatter_baseidx_v8i8_v8i64(<8 x i64> %val, ptr %base, <8 x i8> %id
33943398; RV32ZVE32F-NEXT: .cfi_offset s0, -4
33953399; RV32ZVE32F-NEXT: .cfi_offset s1, -8
33963400; RV32ZVE32F-NEXT: .cfi_offset s2, -12
3401+ ; RV32ZVE32F-NEXT: .cfi_remember_state
33973402; RV32ZVE32F-NEXT: lw a2, 60(a0)
33983403; RV32ZVE32F-NEXT: lw a3, 56(a0)
33993404; RV32ZVE32F-NEXT: lw a4, 52(a0)
@@ -3455,6 +3460,7 @@ define void @mscatter_baseidx_v8i8_v8i64(<8 x i64> %val, ptr %base, <8 x i8> %id
34553460; RV32ZVE32F-NEXT: .cfi_def_cfa_offset 0
34563461; RV32ZVE32F-NEXT: ret
34573462; RV32ZVE32F-NEXT: .LBB42_10: # %cond.store
3463+ ; RV32ZVE32F-NEXT: .cfi_restore_state
34583464; RV32ZVE32F-NEXT: lw a1, 4(a0)
34593465; RV32ZVE32F-NEXT: lw a0, 0(a0)
34603466; RV32ZVE32F-NEXT: vmv.x.s s2, v8
@@ -3642,6 +3648,7 @@ define void @mscatter_baseidx_sext_v8i8_v8i64(<8 x i64> %val, ptr %base, <8 x i8
36423648; RV32ZVE32F-NEXT: .cfi_offset s0, -4
36433649; RV32ZVE32F-NEXT: .cfi_offset s1, -8
36443650; RV32ZVE32F-NEXT: .cfi_offset s2, -12
3651+ ; RV32ZVE32F-NEXT: .cfi_remember_state
36453652; RV32ZVE32F-NEXT: lw a2, 60(a0)
36463653; RV32ZVE32F-NEXT: lw a3, 56(a0)
36473654; RV32ZVE32F-NEXT: lw a4, 52(a0)
@@ -3703,6 +3710,7 @@ define void @mscatter_baseidx_sext_v8i8_v8i64(<8 x i64> %val, ptr %base, <8 x i8
37033710; RV32ZVE32F-NEXT: .cfi_def_cfa_offset 0
37043711; RV32ZVE32F-NEXT: ret
37053712; RV32ZVE32F-NEXT: .LBB43_10: # %cond.store
3713+ ; RV32ZVE32F-NEXT: .cfi_restore_state
37063714; RV32ZVE32F-NEXT: lw a1, 4(a0)
37073715; RV32ZVE32F-NEXT: lw a0, 0(a0)
37083716; RV32ZVE32F-NEXT: vmv.x.s s2, v8
@@ -3892,6 +3900,7 @@ define void @mscatter_baseidx_zext_v8i8_v8i64(<8 x i64> %val, ptr %base, <8 x i8
38923900; RV32ZVE32F-NEXT: .cfi_offset s0, -4
38933901; RV32ZVE32F-NEXT: .cfi_offset s1, -8
38943902; RV32ZVE32F-NEXT: .cfi_offset s2, -12
3903+ ; RV32ZVE32F-NEXT: .cfi_remember_state
38953904; RV32ZVE32F-NEXT: lw a2, 60(a0)
38963905; RV32ZVE32F-NEXT: lw a3, 56(a0)
38973906; RV32ZVE32F-NEXT: lw a4, 52(a0)
@@ -3953,6 +3962,7 @@ define void @mscatter_baseidx_zext_v8i8_v8i64(<8 x i64> %val, ptr %base, <8 x i8
39533962; RV32ZVE32F-NEXT: .cfi_def_cfa_offset 0
39543963; RV32ZVE32F-NEXT: ret
39553964; RV32ZVE32F-NEXT: .LBB44_10: # %cond.store
3965+ ; RV32ZVE32F-NEXT: .cfi_restore_state
39563966; RV32ZVE32F-NEXT: lw a1, 4(a0)
39573967; RV32ZVE32F-NEXT: lw a0, 0(a0)
39583968; RV32ZVE32F-NEXT: vmv.x.s s2, v8
@@ -4149,6 +4159,7 @@ define void @mscatter_baseidx_v8i16_v8i64(<8 x i64> %val, ptr %base, <8 x i16> %
41494159; RV32ZVE32F-NEXT: .cfi_offset s0, -4
41504160; RV32ZVE32F-NEXT: .cfi_offset s1, -8
41514161; RV32ZVE32F-NEXT: .cfi_offset s2, -12
4162+ ; RV32ZVE32F-NEXT: .cfi_remember_state
41524163; RV32ZVE32F-NEXT: lw a2, 60(a0)
41534164; RV32ZVE32F-NEXT: lw a3, 56(a0)
41544165; RV32ZVE32F-NEXT: lw a4, 52(a0)
@@ -4210,6 +4221,7 @@ define void @mscatter_baseidx_v8i16_v8i64(<8 x i64> %val, ptr %base, <8 x i16> %
42104221; RV32ZVE32F-NEXT: .cfi_def_cfa_offset 0
42114222; RV32ZVE32F-NEXT: ret
42124223; RV32ZVE32F-NEXT: .LBB45_10: # %cond.store
4224+ ; RV32ZVE32F-NEXT: .cfi_restore_state
42134225; RV32ZVE32F-NEXT: lw a1, 4(a0)
42144226; RV32ZVE32F-NEXT: lw a0, 0(a0)
42154227; RV32ZVE32F-NEXT: vmv.x.s s2, v8
@@ -4398,6 +4410,7 @@ define void @mscatter_baseidx_sext_v8i16_v8i64(<8 x i64> %val, ptr %base, <8 x i
43984410; RV32ZVE32F-NEXT: .cfi_offset s0, -4
43994411; RV32ZVE32F-NEXT: .cfi_offset s1, -8
44004412; RV32ZVE32F-NEXT: .cfi_offset s2, -12
4413+ ; RV32ZVE32F-NEXT: .cfi_remember_state
44014414; RV32ZVE32F-NEXT: lw a2, 60(a0)
44024415; RV32ZVE32F-NEXT: lw a3, 56(a0)
44034416; RV32ZVE32F-NEXT: lw a4, 52(a0)
@@ -4459,6 +4472,7 @@ define void @mscatter_baseidx_sext_v8i16_v8i64(<8 x i64> %val, ptr %base, <8 x i
44594472; RV32ZVE32F-NEXT: .cfi_def_cfa_offset 0
44604473; RV32ZVE32F-NEXT: ret
44614474; RV32ZVE32F-NEXT: .LBB46_10: # %cond.store
4475+ ; RV32ZVE32F-NEXT: .cfi_restore_state
44624476; RV32ZVE32F-NEXT: lw a1, 4(a0)
44634477; RV32ZVE32F-NEXT: lw a0, 0(a0)
44644478; RV32ZVE32F-NEXT: vmv.x.s s2, v8
@@ -4649,6 +4663,7 @@ define void @mscatter_baseidx_zext_v8i16_v8i64(<8 x i64> %val, ptr %base, <8 x i
46494663; RV32ZVE32F-NEXT: .cfi_offset s0, -4
46504664; RV32ZVE32F-NEXT: .cfi_offset s1, -8
46514665; RV32ZVE32F-NEXT: .cfi_offset s2, -12
4666+ ; RV32ZVE32F-NEXT: .cfi_remember_state
46524667; RV32ZVE32F-NEXT: lw a2, 60(a0)
46534668; RV32ZVE32F-NEXT: lw a3, 56(a0)
46544669; RV32ZVE32F-NEXT: lw a4, 52(a0)
@@ -4710,6 +4725,7 @@ define void @mscatter_baseidx_zext_v8i16_v8i64(<8 x i64> %val, ptr %base, <8 x i
47104725; RV32ZVE32F-NEXT: .cfi_def_cfa_offset 0
47114726; RV32ZVE32F-NEXT: ret
47124727; RV32ZVE32F-NEXT: .LBB47_10: # %cond.store
4728+ ; RV32ZVE32F-NEXT: .cfi_restore_state
47134729; RV32ZVE32F-NEXT: lw a1, 4(a0)
47144730; RV32ZVE32F-NEXT: lw a0, 0(a0)
47154731; RV32ZVE32F-NEXT: vmv.x.s s2, v8
@@ -4908,6 +4924,7 @@ define void @mscatter_baseidx_v8i32_v8i64(<8 x i64> %val, ptr %base, <8 x i32> %
49084924; RV32ZVE32F-NEXT: .cfi_offset s0, -4
49094925; RV32ZVE32F-NEXT: .cfi_offset s1, -8
49104926; RV32ZVE32F-NEXT: .cfi_offset s2, -12
4927+ ; RV32ZVE32F-NEXT: .cfi_remember_state
49114928; RV32ZVE32F-NEXT: lw a2, 60(a0)
49124929; RV32ZVE32F-NEXT: lw a3, 56(a0)
49134930; RV32ZVE32F-NEXT: lw a4, 52(a0)
@@ -4968,6 +4985,7 @@ define void @mscatter_baseidx_v8i32_v8i64(<8 x i64> %val, ptr %base, <8 x i32> %
49684985; RV32ZVE32F-NEXT: .cfi_def_cfa_offset 0
49694986; RV32ZVE32F-NEXT: ret
49704987; RV32ZVE32F-NEXT: .LBB48_10: # %cond.store
4988+ ; RV32ZVE32F-NEXT: .cfi_restore_state
49714989; RV32ZVE32F-NEXT: lw a1, 4(a0)
49724990; RV32ZVE32F-NEXT: lw a0, 0(a0)
49734991; RV32ZVE32F-NEXT: vmv.x.s s2, v8
@@ -5155,6 +5173,7 @@ define void @mscatter_baseidx_sext_v8i32_v8i64(<8 x i64> %val, ptr %base, <8 x i
51555173; RV32ZVE32F-NEXT: .cfi_offset s0, -4
51565174; RV32ZVE32F-NEXT: .cfi_offset s1, -8
51575175; RV32ZVE32F-NEXT: .cfi_offset s2, -12
5176+ ; RV32ZVE32F-NEXT: .cfi_remember_state
51585177; RV32ZVE32F-NEXT: lw a2, 60(a0)
51595178; RV32ZVE32F-NEXT: lw a3, 56(a0)
51605179; RV32ZVE32F-NEXT: lw a4, 52(a0)
@@ -5215,6 +5234,7 @@ define void @mscatter_baseidx_sext_v8i32_v8i64(<8 x i64> %val, ptr %base, <8 x i
52155234; RV32ZVE32F-NEXT: .cfi_def_cfa_offset 0
52165235; RV32ZVE32F-NEXT: ret
52175236; RV32ZVE32F-NEXT: .LBB49_10: # %cond.store
5237+ ; RV32ZVE32F-NEXT: .cfi_restore_state
52185238; RV32ZVE32F-NEXT: lw a1, 4(a0)
52195239; RV32ZVE32F-NEXT: lw a0, 0(a0)
52205240; RV32ZVE32F-NEXT: vmv.x.s s2, v8
@@ -5403,6 +5423,7 @@ define void @mscatter_baseidx_zext_v8i32_v8i64(<8 x i64> %val, ptr %base, <8 x i
54035423; RV32ZVE32F-NEXT: .cfi_offset s0, -4
54045424; RV32ZVE32F-NEXT: .cfi_offset s1, -8
54055425; RV32ZVE32F-NEXT: .cfi_offset s2, -12
5426+ ; RV32ZVE32F-NEXT: .cfi_remember_state
54065427; RV32ZVE32F-NEXT: lw a2, 60(a0)
54075428; RV32ZVE32F-NEXT: lw a3, 56(a0)
54085429; RV32ZVE32F-NEXT: lw a4, 52(a0)
@@ -5463,6 +5484,7 @@ define void @mscatter_baseidx_zext_v8i32_v8i64(<8 x i64> %val, ptr %base, <8 x i
54635484; RV32ZVE32F-NEXT: .cfi_def_cfa_offset 0
54645485; RV32ZVE32F-NEXT: ret
54655486; RV32ZVE32F-NEXT: .LBB50_10: # %cond.store
5487+ ; RV32ZVE32F-NEXT: .cfi_restore_state
54665488; RV32ZVE32F-NEXT: lw a1, 4(a0)
54675489; RV32ZVE32F-NEXT: lw a0, 0(a0)
54685490; RV32ZVE32F-NEXT: vmv.x.s s2, v8
@@ -5671,6 +5693,7 @@ define void @mscatter_baseidx_v8i64(<8 x i64> %val, ptr %base, <8 x i64> %idxs,
56715693; RV32ZVE32F-NEXT: .cfi_offset s6, -28
56725694; RV32ZVE32F-NEXT: .cfi_offset s7, -32
56735695; RV32ZVE32F-NEXT: .cfi_offset s8, -36
5696+ ; RV32ZVE32F-NEXT: .cfi_remember_state
56745697; RV32ZVE32F-NEXT: lw a3, 60(a0)
56755698; RV32ZVE32F-NEXT: lw a4, 56(a0)
56765699; RV32ZVE32F-NEXT: lw a5, 52(a0)
@@ -5759,6 +5782,7 @@ define void @mscatter_baseidx_v8i64(<8 x i64> %val, ptr %base, <8 x i64> %idxs,
57595782; RV32ZVE32F-NEXT: .cfi_def_cfa_offset 0
57605783; RV32ZVE32F-NEXT: ret
57615784; RV32ZVE32F-NEXT: .LBB51_10: # %cond.store
5785+ ; RV32ZVE32F-NEXT: .cfi_restore_state
57625786; RV32ZVE32F-NEXT: lw a1, 4(a0)
57635787; RV32ZVE32F-NEXT: lw a0, 0(a0)
57645788; RV32ZVE32F-NEXT: vmv.x.s s2, v8
@@ -5828,6 +5852,7 @@ define void @mscatter_baseidx_v8i64(<8 x i64> %val, ptr %base, <8 x i64> %idxs,
58285852; RV64ZVE32F-NEXT: .cfi_offset s1, -16
58295853; RV64ZVE32F-NEXT: .cfi_offset s2, -24
58305854; RV64ZVE32F-NEXT: .cfi_offset s3, -32
5855+ ; RV64ZVE32F-NEXT: .cfi_remember_state
58315856; RV64ZVE32F-NEXT: ld a3, 56(a0)
58325857; RV64ZVE32F-NEXT: ld a4, 48(a0)
58335858; RV64ZVE32F-NEXT: ld a6, 40(a0)
@@ -5884,6 +5909,7 @@ define void @mscatter_baseidx_v8i64(<8 x i64> %val, ptr %base, <8 x i64> %idxs,
58845909; RV64ZVE32F-NEXT: .cfi_def_cfa_offset 0
58855910; RV64ZVE32F-NEXT: ret
58865911; RV64ZVE32F-NEXT: .LBB51_10: # %cond.store
5912+ ; RV64ZVE32F-NEXT: .cfi_restore_state
58875913; RV64ZVE32F-NEXT: ld a2, 0(a2)
58885914; RV64ZVE32F-NEXT: ld a0, 0(a0)
58895915; RV64ZVE32F-NEXT: slli a2, a2, 3
0 commit comments