https://gcc.gnu.org/bugzilla/show_bug.cgi?id=128162
--- Comment #16 from GCC Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Pan Li <[email protected]>: https://gcc.gnu.org/g:c0e167041b054400959aa8b3923df76934197fec commit r17-5791-gc0e167041b054400959aa8b3923df76934197fec Author: Pan Li <[email protected]> Date: Fri Oct 30 16:20:05 2026 +0800 RISC-V: Add tests for no reg overlap of fp widen ternary [PR target/128162] Add test cases for the register group overlap of the floating-point widening ternary insns, to ensure the vs1 and vs2 will not fall inside the vd register group, as the vd is also read as the accumulator with a wider EEW. The test cases ask for the overlap by taking a piece of the vd register group as the vs1 or vs2, and cover below insns. vfwmacc.vv, vfwmsac.vv, vfwnmacc.vv, vfwnmsac.vv vfwmacc.vf, vfwmsac.vf, vfwnmacc.vf, vfwnmsac.vf vfwmaccbf16.vv, vfwmaccbf16.vf PR target/128162 gcc/testsuite/ChangeLog: * gcc.target/riscv/rvv/autovec/group_overlap/vfwmaccbf16_vf-bf16-m1.c: New test. * gcc.target/riscv/rvv/autovec/group_overlap/vfwmaccbf16_vf-bf16-m2.c: New test. * gcc.target/riscv/rvv/autovec/group_overlap/vfwmaccbf16_vf-bf16-m4.c: New test. * gcc.target/riscv/rvv/autovec/group_overlap/vfwmaccbf16_vv-bf16-m1.c: New test. * gcc.target/riscv/rvv/autovec/group_overlap/vfwmaccbf16_vv-bf16-m2.c: New test. * gcc.target/riscv/rvv/autovec/group_overlap/vfwmaccbf16_vv-bf16-m4.c: New test. * gcc.target/riscv/rvv/autovec/group_overlap/vfwmacc_vf-f16-m1.c: New test. * gcc.target/riscv/rvv/autovec/group_overlap/vfwmacc_vf-f16-m2.c: New test. * gcc.target/riscv/rvv/autovec/group_overlap/vfwmacc_vf-f16-m4.c: New test. * gcc.target/riscv/rvv/autovec/group_overlap/vfwmacc_vf-f32-m1.c: New test. * gcc.target/riscv/rvv/autovec/group_overlap/vfwmacc_vf-f32-m2.c: New test. * gcc.target/riscv/rvv/autovec/group_overlap/vfwmacc_vf-f32-m4.c: New test. * gcc.target/riscv/rvv/autovec/group_overlap/vfwmacc_vv-f16-m1.c: New test. * gcc.target/riscv/rvv/autovec/group_overlap/vfwmacc_vv-f16-m2.c: New test. * gcc.target/riscv/rvv/autovec/group_overlap/vfwmacc_vv-f16-m4.c: New test. * gcc.target/riscv/rvv/autovec/group_overlap/vfwmacc_vv-f32-m1.c: New test. * gcc.target/riscv/rvv/autovec/group_overlap/vfwmacc_vv-f32-m2.c: New test. * gcc.target/riscv/rvv/autovec/group_overlap/vfwmacc_vv-f32-m4.c: New test. * gcc.target/riscv/rvv/autovec/group_overlap/vfwmsac_vf-f16-m1.c: New test. * gcc.target/riscv/rvv/autovec/group_overlap/vfwmsac_vf-f16-m2.c: New test. * gcc.target/riscv/rvv/autovec/group_overlap/vfwmsac_vf-f16-m4.c: New test. * gcc.target/riscv/rvv/autovec/group_overlap/vfwmsac_vf-f32-m1.c: New test. * gcc.target/riscv/rvv/autovec/group_overlap/vfwmsac_vf-f32-m2.c: New test. * gcc.target/riscv/rvv/autovec/group_overlap/vfwmsac_vf-f32-m4.c: New test. * gcc.target/riscv/rvv/autovec/group_overlap/vfwmsac_vv-f16-m1.c: New test. * gcc.target/riscv/rvv/autovec/group_overlap/vfwmsac_vv-f16-m2.c: New test. * gcc.target/riscv/rvv/autovec/group_overlap/vfwmsac_vv-f16-m4.c: New test. * gcc.target/riscv/rvv/autovec/group_overlap/vfwmsac_vv-f32-m1.c: New test. * gcc.target/riscv/rvv/autovec/group_overlap/vfwmsac_vv-f32-m2.c: New test. * gcc.target/riscv/rvv/autovec/group_overlap/vfwmsac_vv-f32-m4.c: New test. * gcc.target/riscv/rvv/autovec/group_overlap/vfwnmacc_vf-f16-m1.c: New test. * gcc.target/riscv/rvv/autovec/group_overlap/vfwnmacc_vf-f16-m2.c: New test. * gcc.target/riscv/rvv/autovec/group_overlap/vfwnmacc_vf-f16-m4.c: New test. * gcc.target/riscv/rvv/autovec/group_overlap/vfwnmacc_vf-f32-m1.c: New test. * gcc.target/riscv/rvv/autovec/group_overlap/vfwnmacc_vf-f32-m2.c: New test. * gcc.target/riscv/rvv/autovec/group_overlap/vfwnmacc_vf-f32-m4.c: New test. * gcc.target/riscv/rvv/autovec/group_overlap/vfwnmacc_vv-f16-m1.c: New test. * gcc.target/riscv/rvv/autovec/group_overlap/vfwnmacc_vv-f16-m2.c: New test. * gcc.target/riscv/rvv/autovec/group_overlap/vfwnmacc_vv-f16-m4.c: New test. * gcc.target/riscv/rvv/autovec/group_overlap/vfwnmacc_vv-f32-m1.c: New test. * gcc.target/riscv/rvv/autovec/group_overlap/vfwnmacc_vv-f32-m2.c: New test. * gcc.target/riscv/rvv/autovec/group_overlap/vfwnmacc_vv-f32-m4.c: New test. * gcc.target/riscv/rvv/autovec/group_overlap/vfwnmsac_vf-f16-m1.c: New test. * gcc.target/riscv/rvv/autovec/group_overlap/vfwnmsac_vf-f16-m2.c: New test. * gcc.target/riscv/rvv/autovec/group_overlap/vfwnmsac_vf-f16-m4.c: New test. * gcc.target/riscv/rvv/autovec/group_overlap/vfwnmsac_vf-f32-m1.c: New test. * gcc.target/riscv/rvv/autovec/group_overlap/vfwnmsac_vf-f32-m2.c: New test. * gcc.target/riscv/rvv/autovec/group_overlap/vfwnmsac_vf-f32-m4.c: New test. * gcc.target/riscv/rvv/autovec/group_overlap/vfwnmsac_vv-f16-m1.c: New test. * gcc.target/riscv/rvv/autovec/group_overlap/vfwnmsac_vv-f16-m2.c: New test. * gcc.target/riscv/rvv/autovec/group_overlap/vfwnmsac_vv-f16-m4.c: New test. * gcc.target/riscv/rvv/autovec/group_overlap/vfwnmsac_vv-f32-m1.c: New test. * gcc.target/riscv/rvv/autovec/group_overlap/vfwnmsac_vv-f32-m2.c: New test. * gcc.target/riscv/rvv/autovec/group_overlap/vfwnmsac_vv-f32-m4.c: New test. Signed-off-by: Pan Li <[email protected]>
