@@ -221,16 +221,16 @@ define <vscale x 32 x bfloat> @vfdiv_vv_nxv32bf16(<vscale x 32 x bfloat> %va, <v
221221; CHECK-NEXT: vs8r.v v24, (a0) # Unknown-size Folded Spill
222222; CHECK-NEXT: vfwcvtbf16.f.f.v v0, v8
223223; CHECK-NEXT: vfwcvtbf16.f.f.v v24, v20
224- ; CHECK-NEXT: vfwcvtbf16.f.f.v v16, v12
225- ; CHECK-NEXT: vl8r.v v8, (a0) # Unknown-size Folded Reload
224+ ; CHECK-NEXT: vl8r.v v16, (a0) # Unknown-size Folded Reload
226225; CHECK-NEXT: vsetvli zero, zero, e32, m8, ta, ma
227- ; CHECK-NEXT: vfdiv.vv v0 , v0, v8
226+ ; CHECK-NEXT: vfdiv.vv v16 , v0, v16
228227; CHECK-NEXT: vsetvli zero, zero, e16, m4, ta, ma
229- ; CHECK-NEXT: vfncvtbf16 .f.f.w v8, v0
228+ ; CHECK-NEXT: vfwcvtbf16 .f.f.v v0, v12
230229; CHECK-NEXT: vsetvli zero, zero, e32, m8, ta, ma
231- ; CHECK-NEXT: vfdiv.vv v16, v16 , v24
230+ ; CHECK-NEXT: vfdiv.vv v24, v0 , v24
232231; CHECK-NEXT: vsetvli zero, zero, e16, m4, ta, ma
233- ; CHECK-NEXT: vfncvtbf16.f.f.w v12, v16
232+ ; CHECK-NEXT: vfncvtbf16.f.f.w v8, v16
233+ ; CHECK-NEXT: vfncvtbf16.f.f.w v12, v24
234234; CHECK-NEXT: csrr a0, vlenb
235235; CHECK-NEXT: slli a0, a0, 3
236236; CHECK-NEXT: add sp, sp, a0
@@ -249,32 +249,42 @@ define <vscale x 32 x bfloat> @vfdiv_vf_nxv32bf16(<vscale x 32 x bfloat> %va, bf
249249; CHECK-NEXT: addi sp, sp, -16
250250; CHECK-NEXT: .cfi_def_cfa_offset 16
251251; CHECK-NEXT: csrr a0, vlenb
252- ; CHECK-NEXT: slli a0, a0, 3
252+ ; CHECK-NEXT: slli a0, a0, 4
253253; CHECK-NEXT: sub sp, sp, a0
254- ; CHECK-NEXT: .cfi_escape 0x0f, 0x0d, 0x72, 0x00, 0x11, 0x10, 0x22, 0x11, 0x08 , 0x92, 0xa2, 0x38, 0x00, 0x1e, 0x22 # sp + 16 + 8 * vlenb
254+ ; CHECK-NEXT: .cfi_escape 0x0f, 0x0d, 0x72, 0x00, 0x11, 0x10, 0x22, 0x11, 0x10 , 0x92, 0xa2, 0x38, 0x00, 0x1e, 0x22 # sp + 16 + 16 * vlenb
255255; CHECK-NEXT: fmv.x.h a0, fa0
256256; CHECK-NEXT: vsetvli a1, zero, e16, m4, ta, ma
257257; CHECK-NEXT: vfwcvtbf16.f.f.v v16, v8
258258; CHECK-NEXT: addi a1, sp, 16
259259; CHECK-NEXT: vs8r.v v16, (a1) # Unknown-size Folded Spill
260- ; CHECK-NEXT: vfwcvtbf16.f.f.v v24, v12
261260; CHECK-NEXT: vsetvli a1, zero, e16, m8, ta, ma
262- ; CHECK-NEXT: vmv.v.x v8 , a0
261+ ; CHECK-NEXT: vmv.v.x v16 , a0
263262; CHECK-NEXT: vsetvli a0, zero, e16, m4, ta, ma
264- ; CHECK-NEXT: vfwcvtbf16.f.f.v v0, v8
265- ; CHECK-NEXT: vfwcvtbf16.f.f.v v16, v12
263+ ; CHECK-NEXT: vfwcvtbf16.f.f.v v0, v16
264+ ; CHECK-NEXT: vfwcvtbf16.f.f.v v24, v20
265+ ; CHECK-NEXT: csrr a0, vlenb
266+ ; CHECK-NEXT: slli a0, a0, 3
267+ ; CHECK-NEXT: add a0, sp, a0
268+ ; CHECK-NEXT: addi a0, a0, 16
269+ ; CHECK-NEXT: vs8r.v v24, (a0) # Unknown-size Folded Spill
266270; CHECK-NEXT: addi a0, sp, 16
267- ; CHECK-NEXT: vl8r.v v8 , (a0) # Unknown-size Folded Reload
271+ ; CHECK-NEXT: vl8r.v v16 , (a0) # Unknown-size Folded Reload
268272; CHECK-NEXT: vsetvli zero, zero, e32, m8, ta, ma
269- ; CHECK-NEXT: vfdiv.vv v0, v8 , v0
273+ ; CHECK-NEXT: vfdiv.vv v24, v16 , v0
270274; CHECK-NEXT: vsetvli zero, zero, e16, m4, ta, ma
271- ; CHECK-NEXT: vfncvtbf16.f.f.w v8, v0
275+ ; CHECK-NEXT: vfwcvtbf16.f.f.v v0, v12
276+ ; CHECK-NEXT: csrr a0, vlenb
277+ ; CHECK-NEXT: slli a0, a0, 3
278+ ; CHECK-NEXT: add a0, sp, a0
279+ ; CHECK-NEXT: addi a0, a0, 16
280+ ; CHECK-NEXT: vl8r.v v8, (a0) # Unknown-size Folded Reload
272281; CHECK-NEXT: vsetvli zero, zero, e32, m8, ta, ma
273- ; CHECK-NEXT: vfdiv.vv v16, v24, v16
282+ ; CHECK-NEXT: vfdiv.vv v16, v0, v8
274283; CHECK-NEXT: vsetvli zero, zero, e16, m4, ta, ma
284+ ; CHECK-NEXT: vfncvtbf16.f.f.w v8, v24
275285; CHECK-NEXT: vfncvtbf16.f.f.w v12, v16
276286; CHECK-NEXT: csrr a0, vlenb
277- ; CHECK-NEXT: slli a0, a0, 3
287+ ; CHECK-NEXT: slli a0, a0, 4
278288; CHECK-NEXT: add sp, sp, a0
279289; CHECK-NEXT: .cfi_def_cfa sp, 16
280290; CHECK-NEXT: addi sp, sp, 16
@@ -573,16 +583,16 @@ define <vscale x 32 x half> @vfdiv_vv_nxv32f16(<vscale x 32 x half> %va, <vscale
573583; ZVFHMIN-NEXT: vs8r.v v24, (a0) # Unknown-size Folded Spill
574584; ZVFHMIN-NEXT: vfwcvt.f.f.v v0, v8
575585; ZVFHMIN-NEXT: vfwcvt.f.f.v v24, v20
576- ; ZVFHMIN-NEXT: vfwcvt.f.f.v v16, v12
577- ; ZVFHMIN-NEXT: vl8r.v v8, (a0) # Unknown-size Folded Reload
586+ ; ZVFHMIN-NEXT: vl8r.v v16, (a0) # Unknown-size Folded Reload
578587; ZVFHMIN-NEXT: vsetvli zero, zero, e32, m8, ta, ma
579- ; ZVFHMIN-NEXT: vfdiv.vv v0 , v0, v8
588+ ; ZVFHMIN-NEXT: vfdiv.vv v16 , v0, v16
580589; ZVFHMIN-NEXT: vsetvli zero, zero, e16, m4, ta, ma
581- ; ZVFHMIN-NEXT: vfncvt .f.f.w v8, v0
590+ ; ZVFHMIN-NEXT: vfwcvt .f.f.v v0, v12
582591; ZVFHMIN-NEXT: vsetvli zero, zero, e32, m8, ta, ma
583- ; ZVFHMIN-NEXT: vfdiv.vv v16, v16 , v24
592+ ; ZVFHMIN-NEXT: vfdiv.vv v24, v0 , v24
584593; ZVFHMIN-NEXT: vsetvli zero, zero, e16, m4, ta, ma
585- ; ZVFHMIN-NEXT: vfncvt.f.f.w v12, v16
594+ ; ZVFHMIN-NEXT: vfncvt.f.f.w v8, v16
595+ ; ZVFHMIN-NEXT: vfncvt.f.f.w v12, v24
586596; ZVFHMIN-NEXT: csrr a0, vlenb
587597; ZVFHMIN-NEXT: slli a0, a0, 3
588598; ZVFHMIN-NEXT: add sp, sp, a0
@@ -607,32 +617,42 @@ define <vscale x 32 x half> @vfdiv_vf_nxv32f16(<vscale x 32 x half> %va, half %b
607617; ZVFHMIN-NEXT: addi sp, sp, -16
608618; ZVFHMIN-NEXT: .cfi_def_cfa_offset 16
609619; ZVFHMIN-NEXT: csrr a0, vlenb
610- ; ZVFHMIN-NEXT: slli a0, a0, 3
620+ ; ZVFHMIN-NEXT: slli a0, a0, 4
611621; ZVFHMIN-NEXT: sub sp, sp, a0
612- ; ZVFHMIN-NEXT: .cfi_escape 0x0f, 0x0d, 0x72, 0x00, 0x11, 0x10, 0x22, 0x11, 0x08 , 0x92, 0xa2, 0x38, 0x00, 0x1e, 0x22 # sp + 16 + 8 * vlenb
622+ ; ZVFHMIN-NEXT: .cfi_escape 0x0f, 0x0d, 0x72, 0x00, 0x11, 0x10, 0x22, 0x11, 0x10 , 0x92, 0xa2, 0x38, 0x00, 0x1e, 0x22 # sp + 16 + 16 * vlenb
613623; ZVFHMIN-NEXT: fmv.x.h a0, fa0
614624; ZVFHMIN-NEXT: vsetvli a1, zero, e16, m4, ta, ma
615625; ZVFHMIN-NEXT: vfwcvt.f.f.v v16, v8
616626; ZVFHMIN-NEXT: addi a1, sp, 16
617627; ZVFHMIN-NEXT: vs8r.v v16, (a1) # Unknown-size Folded Spill
618- ; ZVFHMIN-NEXT: vfwcvt.f.f.v v24, v12
619628; ZVFHMIN-NEXT: vsetvli a1, zero, e16, m8, ta, ma
620- ; ZVFHMIN-NEXT: vmv.v.x v8 , a0
629+ ; ZVFHMIN-NEXT: vmv.v.x v16 , a0
621630; ZVFHMIN-NEXT: vsetvli a0, zero, e16, m4, ta, ma
622- ; ZVFHMIN-NEXT: vfwcvt.f.f.v v0, v8
623- ; ZVFHMIN-NEXT: vfwcvt.f.f.v v16, v12
631+ ; ZVFHMIN-NEXT: vfwcvt.f.f.v v0, v16
632+ ; ZVFHMIN-NEXT: vfwcvt.f.f.v v24, v20
633+ ; ZVFHMIN-NEXT: csrr a0, vlenb
634+ ; ZVFHMIN-NEXT: slli a0, a0, 3
635+ ; ZVFHMIN-NEXT: add a0, sp, a0
636+ ; ZVFHMIN-NEXT: addi a0, a0, 16
637+ ; ZVFHMIN-NEXT: vs8r.v v24, (a0) # Unknown-size Folded Spill
624638; ZVFHMIN-NEXT: addi a0, sp, 16
625- ; ZVFHMIN-NEXT: vl8r.v v8 , (a0) # Unknown-size Folded Reload
639+ ; ZVFHMIN-NEXT: vl8r.v v16 , (a0) # Unknown-size Folded Reload
626640; ZVFHMIN-NEXT: vsetvli zero, zero, e32, m8, ta, ma
627- ; ZVFHMIN-NEXT: vfdiv.vv v0, v8 , v0
641+ ; ZVFHMIN-NEXT: vfdiv.vv v24, v16 , v0
628642; ZVFHMIN-NEXT: vsetvli zero, zero, e16, m4, ta, ma
629- ; ZVFHMIN-NEXT: vfncvt.f.f.w v8, v0
643+ ; ZVFHMIN-NEXT: vfwcvt.f.f.v v0, v12
644+ ; ZVFHMIN-NEXT: csrr a0, vlenb
645+ ; ZVFHMIN-NEXT: slli a0, a0, 3
646+ ; ZVFHMIN-NEXT: add a0, sp, a0
647+ ; ZVFHMIN-NEXT: addi a0, a0, 16
648+ ; ZVFHMIN-NEXT: vl8r.v v8, (a0) # Unknown-size Folded Reload
630649; ZVFHMIN-NEXT: vsetvli zero, zero, e32, m8, ta, ma
631- ; ZVFHMIN-NEXT: vfdiv.vv v16, v24, v16
650+ ; ZVFHMIN-NEXT: vfdiv.vv v16, v0, v8
632651; ZVFHMIN-NEXT: vsetvli zero, zero, e16, m4, ta, ma
652+ ; ZVFHMIN-NEXT: vfncvt.f.f.w v8, v24
633653; ZVFHMIN-NEXT: vfncvt.f.f.w v12, v16
634654; ZVFHMIN-NEXT: csrr a0, vlenb
635- ; ZVFHMIN-NEXT: slli a0, a0, 3
655+ ; ZVFHMIN-NEXT: slli a0, a0, 4
636656; ZVFHMIN-NEXT: add sp, sp, a0
637657; ZVFHMIN-NEXT: .cfi_def_cfa sp, 16
638658; ZVFHMIN-NEXT: addi sp, sp, 16
0 commit comments