From 0f834f0a3e618d5af3dfdeb1dba4ffe085fd4484 Mon Sep 17 00:00:00 2001 From: Catherine Moore Date: Tue, 20 Apr 1999 16:42:31 +0000 Subject: [PATCH] arm.md (movhi): Add check for odd offset. Tue Apr 20 17:57:14 1999 Catherine Moore * config/arm/arm.md (movhi): Add check for odd offset. From-SVN: r26564 --- gcc/ChangeLog | 4 ++++ gcc/config/arm/arm.md | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c31352a2b49..fd67f315e45 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +Tue Apr 20 17:57:14 1999 Catherine Moore + + * 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 2c2d48b7e7f..174b00b72a9 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,