re PR target/2623 ([ARM/2.95] Wrong code when accessing unsigned short in a structure.)
authorRichard Earnshaw <rearnsha@arm.com>
Mon, 25 Mar 2002 22:22:35 +0000 (22:22 +0000)
committerRichard Earnshaw <rearnsha@gcc.gnu.org>
Mon, 25 Mar 2002 22:22:35 +0000 (22:22 +0000)
PR target/2623
* arm.md (loadhi_preinc, loadhi_predec, loadhi_shiftpreinc)
(loadhi_shiftpredec, loadhi-with-writeback peephole): Don't use
these patterns on arm_archv4.

From-SVN: r51345

gcc/ChangeLog
gcc/config/arm/arm.md

index c228fcc5f492a876ebed8b6e5415f2cf0af79257..4ef20e8b7ccac7aae3145de884310bf46611b6bf 100644 (file)
@@ -1,3 +1,10 @@
+2002-03-25  Richard Earnshaw  <rearnsha@arm.com>
+
+       PR target/2623
+       * arm.md (loadhi_preinc, loadhi_predec, loadhi_shiftpreinc)
+       (loadhi_shiftpredec, loadhi-with-writeback peephole): Don't use
+       these patterns on arm_archv4.
+
 2002-03-25  Danny Smith  <dannysmith@sourceforge.users.net>
 
        * config/i386/mingw32.h (WINT_TYPE): Define as "short unsigned
index 7d73cbd3b9ada3753cff5e70f66727febe0fc329..77be4f3bec0b45baafc1541147862253e817b063 100644 (file)
   "TARGET_ARM
    && !BYTES_BIG_ENDIAN
    && !TARGET_MMU_TRAPS
+   && !arm_arch4
    && REGNO (operands[0]) != FRAME_POINTER_REGNUM
    && REGNO (operands[1]) != FRAME_POINTER_REGNUM
    && (GET_CODE (operands[2]) != REG
   "TARGET_ARM
    && !BYTES_BIG_ENDIAN
    && !TARGET_MMU_TRAPS
+   && !arm_arch4
    && REGNO (operands[0]) != FRAME_POINTER_REGNUM
    && REGNO (operands[1]) != FRAME_POINTER_REGNUM
    && (GET_CODE (operands[2]) != REG
   "TARGET_ARM
    && !BYTES_BIG_ENDIAN
    && !TARGET_MMU_TRAPS
+   && !arm_arch4
    && REGNO (operands[0]) != FRAME_POINTER_REGNUM
    && REGNO (operands[1]) != FRAME_POINTER_REGNUM
    && REGNO (operands[3]) != FRAME_POINTER_REGNUM"
   "TARGET_ARM
    && !BYTES_BIG_ENDIAN
    && !TARGET_MMU_TRAPS
+   && !arm_arch4
    && REGNO (operands[0]) != FRAME_POINTER_REGNUM
    && REGNO (operands[1]) != FRAME_POINTER_REGNUM
    && REGNO (operands[3]) != FRAME_POINTER_REGNUM"
   "TARGET_ARM
    && !BYTES_BIG_ENDIAN
    && !TARGET_MMU_TRAPS
+   && !arm_arch4
    && REGNO (operands[0]) != REGNO(operands[1])
    && (GET_CODE (operands[2]) != REG
        || REGNO(operands[0]) != REGNO (operands[2]))"