]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR target/14166 (GCC-3.3.3 build fails with internal compiler error)
authorRichard Earnshaw <rearnsha@arm.com>
Wed, 25 Feb 2004 11:50:25 +0000 (11:50 +0000)
committerRichard Earnshaw <rearnsha@gcc.gnu.org>
Wed, 25 Feb 2004 11:50:25 +0000 (11:50 +0000)
PR target/14166
* arm.h (THUMB_GO_IF_LEGITIMATE_ADDRESS): Only allow constant pool
references from SImode.
* arm.md (thumb_movhi_insn): Don't allow minipool references.

From-SVN: r78428

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

index 9957c6472ca34ef6b52971a4f33d8ee3cf394227..9526f9c11c5a62f1eb910c9c1bb2531415a47dbf 100644 (file)
@@ -1,3 +1,10 @@
+2004-02-25  Richard Earnshaw  <rearnsha@arm.com>
+
+       PR target/14166
+       * arm.h (THUMB_GO_IF_LEGITIMATE_ADDRESS): Only allow constant pool 
+       references from SImode.
+       * arm.md (thumb_movhi_insn): Don't allow minipool references.
+
 2004-02-24  Bob Wilson  <bob.wilson@acm.org>
 
        Backport from mainline (changes to xtensa_expand_prologue go into
index eda2d47feff7ed5ab6b4b457c81e074e052ef4ee..bce8f280aa7493944886dbcabbed8ff913358b9c 100644 (file)
@@ -1,6 +1,6 @@
 /* Definitions of target machine for GNU compiler, for ARM.
    Copyright (C) 1991, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
-   2001, 2002 Free Software Foundation, Inc.
+   2001, 2002, 2004 Free Software Foundation, Inc.
    Contributed by Pieter `Tiggr' Schoenmakers (rcpieter@win.tue.nl)
    and Martin Simmons (@harleqn.co.uk).
    More major hacks by Richard Earnshaw (rearnsha@arm.com)
@@ -2180,6 +2180,7 @@ typedef struct
        goto WIN;                                                       \
     }                                                                  \
   else if (GET_MODE_CLASS (MODE) != MODE_FLOAT                         \
+          && GET_MODE_SIZE (mode) == 4                                 \
           && GET_CODE (X) == SYMBOL_REF                                \
           && CONSTANT_POOL_ADDRESS_P (X)                               \
           && ! (flag_pic                                               \
index 0e6071295b9086fb63e3c99aea412477d24a3023..edf9dae1e551a2ed7487615475f51910f4aabd52 100644 (file)
@@ -1,6 +1,6 @@
 ;;- Machine description for ARM for GNU compiler
 ;;  Copyright 1991, 1993, 1994, 1995, 1996, 1996, 1997, 1998, 1999, 2000,
-;;  2001, 2002  Free Software Foundation, Inc.
+;;  2001, 2002, 2004  Free Software Foundation, Inc.
 ;;  Contributed by Pieter `Tiggr' Schoenmakers (rcpieter@win.tue.nl)
 ;;  and Martin Simmons (@harleqn.co.uk).
 ;;  More major hacks by Richard Earnshaw (rearnsha@arm.com).
 )
 
 (define_insn "*thumb_movhi_insn"
-  [(set (match_operand:HI 0 "nonimmediate_operand" "=l,l, m,*r,*h,l")
-       (match_operand:HI 1 "general_operand"       "l,mn,l,*h,*r,I"))]
+  [(set (match_operand:HI 0 "nonimmediate_operand" "=l,l,m,*r,*h,l")
+       (match_operand:HI 1 "general_operand"       "l,m,l,*h,*r,I"))]
   "TARGET_THUMB
    && (   register_operand (operands[0], HImode)
        || register_operand (operands[1], HImode))"
       return \"ldrh    %0, %1\";
     }"
   [(set_attr "length" "2,4,2,2,2,2")
-   (set_attr "type" "*,load,store1,*,*,*")
-   (set_attr "pool_range" "*,64,*,*,*,*")]
+   (set_attr "type" "*,load,store1,*,*,*")]
 )