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

Reply via email to