diff options
author | Jeff Law <jlaw@ventanamicro.com> | 2025-08-14 14:15:40 -0600 |
---|---|---|
committer | Jeff Law <jlaw@ventanamicro.com> | 2025-08-14 14:15:40 -0600 |
commit | 44cd33881ff45ee7acc0ae1ddf154163d1eef924 (patch) | |
tree | ff9018526a377545fd57556902084fe9ec4e799b /libjava/java | |
parent | ead213a9b06f7fcafc5650a8391779ba313e197d (diff) | |
download | gcc-44cd33881ff45ee7acc0ae1ddf154163d1eef924.zip gcc-44cd33881ff45ee7acc0ae1ddf154163d1eef924.tar.gz gcc-44cd33881ff45ee7acc0ae1ddf154163d1eef924.tar.bz2 |
[PR target/119275][RISC-V] Avoid calling gen_lowpart in cases where it would ICE
So this is a minor bug in the riscv move expanders. It has a special cases for
extraction from vector objects which makes assumptions that it can use
gen_lowpart unconditionally. That's not always the case.
We can just bypass that special code for cases where we can't use gen_lowpart
and let the more generic code run. If gen_lowpart_common indicates we've got a
case that can't be handled we just bypass the special extraction code.
Tested on riscv64-elf and riscv32-elf. Waiting for pre-commit CI to do its
thing.
PR target/119275
gcc/
* config/riscv/riscv.cc (riscv_legitimize_move): Avoid calling
gen_lowpart for cases where it'll fail. Just use standard expander
paths for those cases.
gcc/testsuite/
* gcc.target/riscv/pr119275.c: New test.
Diffstat (limited to 'libjava/java')
0 files changed, 0 insertions, 0 deletions