https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115439

--- Comment #5 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Andrew Pinski from comment #4)
> I think something like this:
> ```
> [apinski@xeond2 arm]$ git diff mve.md
> diff --git a/gcc/config/arm/mve.md b/gcc/config/arm/mve.md
> index 9fe51298cdc..8af4797e935 100644
> --- a/gcc/config/arm/mve.md
> +++ b/gcc/config/arm/mve.md
> @@ -6897,6 +6897,12 @@ (define_expand "vcond_mask_<mode><MVE_vpred>"
>           (match_operand:MVE_VLD_ST 2 "s_register_operand")))]
>    "TARGET_HAVE_MVE"
>  {
> +  if (!register_operand (operands[3], <MVE_VPRED>mode))
> +    operands[3] = force_reg (operands[3]);
> +  if (!register_operand (operands[1], <MODE>mode))
> +    operands[1] = force_reg (operands[1]);
> +  if (!register_operand (operands[2], <MODE>mode))
> +    operands[1] = force_reg (operands[2]);

copy and pasto:`operands[1] = force_reg (operands[1]);` is the correct line for
above.

>    switch (GET_MODE_CLASS (<MODE>mode))
>      {
>        case MODE_VECTOR_INT:
> 
> ```
> Signed-off-by: Andrew Pinski  <quic_apin...@quicinc.com>

Reply via email to