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.  */

```

Reply via email to