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

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Last reconfirmed|                            |2023-01-30
             Status|UNCONFIRMED                 |NEW
     Ever confirmed|0                           |1

--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Introduced when -mcpu=ampere1a support was added in r13-4018-g590a06afbf0e96.

The issue is obvious:
+      if (GET_CODE (curr_src) == PLUS
+         && (GET_CODE (prev_src) == PLUS || GET_CODE (prev_src) == MINUS)
+         && CONST_INT_P (XEXP (curr_src, 1))
+         && INTVAL (XEXP (curr_src, 1)) == polarity
+         && REG_P (XEXP (curr_src, 0))
+         && REGNO (SET_DEST (prev_set)) == REGNO (XEXP (curr_src, 0)))
+       return true;


There is no check to make sure SET_DEST was a REG_P.

Reply via email to