]> git.ipfire.org Git - thirdparty/gcc.git/commit
RISC-V: unrecognizable insn ICE in xtheadvector/pr114194.c on 32bit targets
authorJin Ma <jinma@linux.alibaba.com>
Tue, 11 Feb 2025 13:28:05 +0000 (21:28 +0800)
committerJin Ma <jinma@linux.alibaba.com>
Wed, 12 Feb 2025 02:21:09 +0000 (10:21 +0800)
commit580f571be6ce80aa71fb80e7b16e01824f088229
tree3e9cfe387cfb0878256990691c6453c9ae524ac4
parent805329e09cede41209f6c3502fa2c17aefffe91b
RISC-V: unrecognizable insn ICE in xtheadvector/pr114194.c on 32bit targets

This is a follow-up to the patch below to avoid generating unrecognized
vsetivl instructions for XTheadVector.

https://gcc.gnu.org/pipermail/gcc-patches/2025-January/674185.html

PR target/118601

gcc/ChangeLog:

* config/riscv/riscv-string.cc (expand_block_move): Check with new
constraint 'vl' instead of 'K'.
(expand_vec_setmem): Likewise.
(expand_vec_cmpmem): Likewise.
* config/riscv/riscv-v.cc (force_vector_length_operand): Likewise.
(expand_load_store): Likewise.
(expand_strided_load): Likewise.
(expand_strided_store): Likewise.
(expand_lanes_load_store): Likewise.

gcc/testsuite/ChangeLog:

* gcc.target/riscv/rvv/xtheadvector/pr114194.c: Move to...
* gcc.target/riscv/rvv/xtheadvector/pr114194-rv64.c: ...here.
* gcc.target/riscv/rvv/xtheadvector/pr114194-rv32.c: New test.
* gcc.target/riscv/rvv/xtheadvector/pr118601.c: New test.

Reported-by: Edwin Lu <ewlu@rivosinc.com>
gcc/config/riscv/riscv-string.cc
gcc/config/riscv/riscv-v.cc
gcc/testsuite/gcc.target/riscv/rvv/xtheadvector/pr114194-rv32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/xtheadvector/pr114194-rv64.c [moved from gcc/testsuite/gcc.target/riscv/rvv/xtheadvector/pr114194.c with 80% similarity]
gcc/testsuite/gcc.target/riscv/rvv/xtheadvector/pr118601.c [new file with mode: 0644]