https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121546
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Component|target |rtl-optimization
--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
This seems to fix it but I am not 100% sure I am putting the check in the right
location:
```
diff --git a/gcc/combine.cc b/gcc/combine.cc
index e0dab3d8828..db9be31e02c 100644
--- a/gcc/combine.cc
+++ b/gcc/combine.cc
@@ -8743,6 +8743,9 @@ force_to_mode (rtx x, machine_mode mode, unsigned
HOST_WIDE_INT mask,
if (code == CALL || code == ASM_OPERANDS || code == CLOBBER)
return x;
+ if (VECTOR_MODE_P (GET_MODE (x)))
+ return x;
+
/* We want to perform the operation in its present mode unless we know
that the operation is valid in MODE, in which case we do the operation
in MODE. */
```