diff options
author | Catherine Moore <clm@cygnus.com> | 1999-04-20 16:42:31 +0000 |
---|---|---|
committer | Catherine Moore <clm@gcc.gnu.org> | 1999-04-20 12:42:31 -0400 |
commit | 0f834f0a3e618d5af3dfdeb1dba4ffe085fd4484 (patch) | |
tree | f59673008b570f512eadcb31c01109d6ef5a8c9b | |
parent | 76409268c445eaaa65619bcc0266661b779409f5 (diff) | |
download | gcc-0f834f0a3e618d5af3dfdeb1dba4ffe085fd4484.zip gcc-0f834f0a3e618d5af3dfdeb1dba4ffe085fd4484.tar.gz gcc-0f834f0a3e618d5af3dfdeb1dba4ffe085fd4484.tar.bz2 |
arm.md (movhi): Add check for odd offset.
Tue Apr 20 17:57:14 1999 Catherine Moore <clm@cygnus.com>
* config/arm/arm.md (movhi): Add check for odd offset.
From-SVN: r26564
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/config/arm/arm.md | 3 |
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, |