Hi Jin,

> --- a/gcc/config/riscv/riscv-v.cc
> +++ b/gcc/config/riscv/riscv-v.cc
> @@ -1883,6 +1883,19 @@ legitimize_move (rtx dest, rtx *srcp)
>        return true;
>      }
>  
> +  /* A SUBREG of a constant is not a valid vector move operand.  Force the
> +     inner constant into a register and rebuild the SUBREG.  */

If it's not a valid move operand, how do we get here?  Is (subreg:V2SI 
(symbol_ref ...)) even valid RTL?

-- 
Regards
 Robin

Reply via email to