RISC-V: Disallow COSNT_VECTOR for DI on RV32
commit8faae311a60a552ed3d506de28c50c77fa49b229
authorJuzhe-Zhong <juzhe.zhong@rivai.ai>
Tue, 21 Nov 2023 10:02:09 +0000 (21 18:02 +0800)
committerPan Li <pan2.li@intel.com>
Tue, 21 Nov 2023 13:37:59 +0000 (21 21:37 +0800)
treea9b65296ec5e6bf4877a932db84593f9f4a1e6ed
parent87b9a01ea79a3af39f3adf7b60aa9526a32de17e
RISC-V: Disallow COSNT_VECTOR for DI on RV32

This bug is exposed when testing on zvl512b RV32 system.

The rootcause is RA reload DI CONST_VECTOR into vmv.v.x then it ICE.

So disallow DI CONST_VECTOR on RV32.

PR target/112598

gcc/ChangeLog:

* config/riscv/riscv.cc (riscv_const_insns): Disallow DI CONST_VECTOR on RV32.

gcc/testsuite/ChangeLog:

* gcc.target/riscv/rvv/autovec/pr112598-1.c: New test.
gcc/config/riscv/riscv.cc
gcc/testsuite/gcc.target/riscv/rvv/autovec/pr112598-1.c [new file with mode: 0644]