On 8/14/25 7:34 AM, Kito Cheng wrote:
can_find_related_mode_p didn't handle VLS type correctly, and the root cause is TARGET_MIN_VLEN is in bits, but what we want is in bytes. gcc/ChangeLog: * config/riscv/riscv-selftests.cc (riscv_run_selftests): Call run_vectorize_related_mode_selftests. (test_vectorize_related_mode): New. (run_vectorize_related_mode_selftests): New. * config/riscv/riscv-v.cc (can_find_related_mode_p): Handle VLS type correctly.
Looks like it blew up in the self-tests. From pre-commit testing:
cc1: internal compiler error: in require, at machmode.h:323 0x2ed3166 internal_error(char const*, ...) ../../../gcc/gcc/diagnostic-global-context.cc:534 0xd40037 fancy_abort(char const*, int, char const*) ../../../gcc/gcc/diagnostics/context.cc:1687 0xc6ff83 opt_mode<machine_mode>::require() const ../../../gcc/gcc/machmode.h:323 0xc6ff83 opt_mode<machine_mode>::require() const ../../../gcc/gcc/machmode.h:321 0xc6ff83 test_vectorize_related_mode ../../../gcc/gcc/config/riscv/riscv-selftests.cc:375 0x1a0b245 run_vectorize_related_mode_selftests ../../../gcc/gcc/config/riscv/riscv-selftests.cc:386 0x1a0b245 selftest::riscv_run_selftests() ../../../gcc/gcc/config/riscv/riscv-selftests.cc:467 0x2d54fd5 selftest::run_tests() ../../../gcc/gcc/selftest-run-tests.cc:117 0x15020be toplev::run_self_tests() ../../../gcc/gcc/toplev.cc:2281 Please submit a full bug report, with preprocessed source (by using -freport-bug).