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 <[email protected]>