On 5/18/2026 9:54 AM, Robin Dapp wrote:
> v1 forgot to guard the convert_modes appropriately, v2 fixes this.
>
> Currently, reduc-6.c fails on the trunk when compiling for 32 bit.
> We emit a pred_extract_first of a V2DImode during legitimization of
> a move. Normally, we would split that insn into two 32-bit extracts
> but this splitter needs to be able to create pseudos which it can't
> after reload. The insn here is created during reload when we can still
> create pseudos. This patch just piggybacks on the existing handling
> when no 64-bit vector elements are available (!TARGET_VECTOR_ELEN64).
> Thus, we don't emit 64-bit extracts and don't need to rely on splitting
> late.
>
> Regtested on rv64gcv_zvl512b and rv32gcv_zvl512b and waiting for the
> CI again.
>
> Regards
> Robin
>
> PR target/125097
>
> gcc/ChangeLog:
>
> * config/riscv/riscv.cc (riscv_legitimize_move): Emit 32-bit
> vec_extracts right away.
OK
jeff