aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/config/arm/arm.md3
2 files changed, 6 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index c31352a..fd67f31 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+Tue Apr 20 17:57:14 1999 Catherine Moore <clm@cygnus.com>
+
+ * config/arm/arm.md (movhi): Add check for odd offset.
+
Tue Apr 20 13:14:58 EDT 1999 John Wehle (john@feith.com)
* i386.c (output_move_double): Abort if a non-offsettable
diff --git a/gcc/config/arm/arm.md b/gcc/config/arm/arm.md
index 2c2d48b..174b00b 100644
--- a/gcc/config/arm/arm.md
+++ b/gcc/config/arm/arm.md
@@ -2913,10 +2913,11 @@
if ((GET_CODE (base = XEXP (operands[1], 0)) == REG
|| (GET_CODE (base) == PLUS
&& GET_CODE (offset = XEXP (base, 1)) == CONST_INT
+ && ((INTVAL(offset) & 1) != 1)
&& GET_CODE (base = XEXP (base, 0)) == REG))
&& REGNO_POINTER_ALIGN (REGNO (base)) >= 4)
{
- HOST_WIDE_INT new_offset = INTVAL (offset) & ~2;
+ HOST_WIDE_INT new_offset = INTVAL (offset) & ~3;
rtx new;
new = gen_rtx_MEM (SImode,