aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJeffrey A Law <law@cygnus.com>1997-09-18 07:45:15 +0000
committerJeff Law <law@gcc.gnu.org>1997-09-18 01:45:15 -0600
commitf05011492be2d32526bbc5303d1121dd70ed9a1c (patch)
tree8a1a9ac4080e909b10405adcdec0cceb176bcfb0 /gcc
parent5aa0f40f6a1d37b4ef6919263c7b65182150294a (diff)
downloadgcc-f05011492be2d32526bbc5303d1121dd70ed9a1c.zip
gcc-f05011492be2d32526bbc5303d1121dd70ed9a1c.tar.gz
gcc-f05011492be2d32526bbc5303d1121dd70ed9a1c.tar.bz2
pa.md (reload_peepholes): Don't allow addresses with side effects for the memory operand.
* 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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/pa/pa.md2
2 files changed, 7 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 1d12a8f..c199435 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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
diff --git a/gcc/config/pa/pa.md b/gcc/config/pa/pa.md
index 1844a6e..138f675 100644
--- a/gcc/config/pa/pa.md
+++ b/gcc/config/pa/pa.md
@@ -4846,6 +4846,7 @@
&& 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]))"
"*
@@ -4885,6 +4886,7 @@
&& 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]))"
"*