pa.md (reload_peepholes): Don't allow addresses with side effects for the memory...
authorJeffrey A Law <law@cygnus.com>
Thu, 18 Sep 1997 07:45:15 +0000 (07:45 +0000)
committerJeff Law <law@gcc.gnu.org>
Thu, 18 Sep 1997 07:45:15 +0000 (01:45 -0600)
        * pa.md (reload_peepholes): Don't allow addresses with side
        effects for the memory operand.
Geez, how long have we been screwing this up...

From-SVN: r15536

gcc/ChangeLog
gcc/config/pa/pa.md

index 1d12a8f6fe5982d49f2c7e266c8f81914d4a9442..c199435e7aea1983a97b8789e009b44b16c5c1aa 100644 (file)
@@ -1,3 +1,8 @@
+Thu Sep 18 01:47:06 1997  Jeffrey A Law  (law@cygnus.com)
+
+       * pa.md (reload_peepholes): Don't allow addresses with side
+       effects for the memory operand.
+
 Wed Sep 17 18:19:53 1997  Jason Merrill  <jason@yorick.cygnus.com>
 
        * libgcc2.c (find_exception_handler): Subtract one from our PC when
index 1844a6ea844b3217550e385351a8ad679113f2ce..138f675af003ec08af45b950ca3e4662f4e7463f 100644 (file)
    && GET_MODE (operands[0]) == DFmode
    && GET_CODE (operands[1]) == REG
    && GET_CODE (operands[2]) == REG
+   && ! side_effects_p (XEXP (operands[0], 0))
    && REGNO_REG_CLASS (REGNO (operands[1]))
       == REGNO_REG_CLASS (REGNO (operands[2]))"
   "*
    && GET_MODE (operands[0]) == DFmode
    && GET_CODE (operands[0]) == REG
    && GET_CODE (operands[2]) == REG
+   && ! side_effects_p (XEXP (operands[1], 0))
    && REGNO_REG_CLASS (REGNO (operands[0]))
       == REGNO_REG_CLASS (REGNO (operands[2]))"
   "*