From 19c1be3917d8295435bf605e2dcc260e93095fe0 Mon Sep 17 00:00:00 2001 From: John David Anglin Date: Mon, 22 Mar 2010 01:00:30 +0000 Subject: [PATCH] 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 --- gcc/ChangeLog | 6 ++++++ gcc/config/pa/pa.md | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 06e2ffd83d0..24e5e50f4dc 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2010-03-21 John David Anglin + + PR middle-end/42718 + * pa.md (movmemsi): Set align to one if zero. + (movmemdi): Likewise. + 2010-03-21 Richard Earnshaw PR target/42321 diff --git a/gcc/config/pa/pa.md b/gcc/config/pa/pa.md index d10a40d55e1..b620193e546 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)