aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn David Anglin <dave.anglin@nrc-cnrc.gc.ca>2010-03-22 01:00:30 +0000
committerJohn David Anglin <danglin@gcc.gnu.org>2010-03-22 01:00:30 +0000
commit19c1be3917d8295435bf605e2dcc260e93095fe0 (patch)
tree6d14152dc600b1d6a3aa30d838d99501a743f60d
parente0899a64f992dcfd22e419ad972cb4b49606a870 (diff)
downloadgcc-19c1be3917d8295435bf605e2dcc260e93095fe0.zip
gcc-19c1be3917d8295435bf605e2dcc260e93095fe0.tar.gz
gcc-19c1be3917d8295435bf605e2dcc260e93095fe0.tar.bz2
re PR middle-end/42718 (FAIL: gcc.c-torture/compile/pr42559.c at -O1 and above)
PR middle-end/42718 * pa.md (movmemsi): Set align to one if zero. (movmemdi): Likewise. From-SVN: r157614
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/pa/pa.md4
2 files changed, 8 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 06e2ffd..24e5e50 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2010-03-21 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR middle-end/42718
+ * pa.md (movmemsi): Set align to one if zero.
+ (movmemdi): Likewise.
+
2010-03-21 Richard Earnshaw <rearnsha@arm.com>
PR target/42321
diff --git a/gcc/config/pa/pa.md b/gcc/config/pa/pa.md
index d10a40d..b620193 100644
--- a/gcc/config/pa/pa.md
+++ b/gcc/config/pa/pa.md
@@ -3097,7 +3097,7 @@
size = INTVAL (operands[2]);
align = INTVAL (operands[3]);
- align = align > 4 ? 4 : align;
+ align = align > 4 ? 4 : (align ? align : 1);
/* If size/alignment is large, then use the library routines. */
if (size / align > 16)
@@ -3285,7 +3285,7 @@
size = INTVAL (operands[2]);
align = INTVAL (operands[3]);
- align = align > 8 ? 8 : align;
+ align = align > 8 ? 8 : (align ? align : 1);
/* If size/alignment is large, then use the library routines. */
if (size / align > 16)