OSDN Git Service

* config/rx/rx.c (rx_is_legitimate_constant): Treat a maximum
authornickc <nickc@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 2 Feb 2010 09:18:04 +0000 (09:18 +0000)
committernickc <nickc@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 2 Feb 2010 09:18:04 +0000 (09:18 +0000)
       constant size of 4 as being the same as 0.
       * doc/invoke.texi (RX Options): Document that -mmax-constant-size
       can take values in the range 0..4.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@156447 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/rx/rx.c
gcc/doc/invoke.texi

index 68ad754..7440bce 100644 (file)
@@ -1,3 +1,10 @@
+2010-02-02  Nick Clifton  <nickc@redhat.com>
+
+       * config/rx/rx.c (rx_is_legitimate_constant): Treat a maximum
+       constant size of 4 as being the same as 0.
+       * doc/invoke.texi (RX Options): Document that -mmax-constant-size
+       can take values in the range 0..4.
+
 2010-02-02  Jack Howarth  <howarth@bromo.med.uc.edu>
 
        PR java/41991
 2010-02-02  Jack Howarth  <howarth@bromo.med.uc.edu>
 
        PR java/41991
index b8d4619..4309998 100644 (file)
@@ -2345,7 +2345,7 @@ rx_is_legitimate_constant (rtx x)
     case SYMBOL_REF:
       return true;
     case CONST_DOUBLE:
     case SYMBOL_REF:
       return true;
     case CONST_DOUBLE:
-      return rx_max_constant_size == 0;
+      return (rx_max_constant_size == 0 || rx_max_constant_size == 4);
     case CONST_VECTOR:
       return false;
     default:
     case CONST_VECTOR:
       return false;
     default:
@@ -2353,7 +2353,7 @@ rx_is_legitimate_constant (rtx x)
       break;
     }
 
       break;
     }
 
-  if (rx_max_constant_size == 0)
+  if (rx_max_constant_size == 0  || rx_max_constant_size == 4)
     /* If there is no constraint on the size of constants
        used as operands, then any value is legitimate.  */
     return true;
     /* If there is no constraint on the size of constants
        used as operands, then any value is legitimate.  */
     return true;
index 44bbd4a..07dd762 100644 (file)
@@ -15554,8 +15554,8 @@ circumstances it can be beneficial to restrict the size of constants
 that are used in instructions.  Constants that are too big are instead
 placed into a constant pool and referenced via register indirection.
 
 that are used in instructions.  Constants that are too big are instead
 placed into a constant pool and referenced via register indirection.
 
-The value @var{N} can be between 0 and 3.  A value of 0, the default,
-means that constants of any size are allowed.
+The value @var{N} can be between 0 and 4.  A value of 0 (the default)
+or 4 means that constants of any size are allowed.
 
 @item -mrelax
 @opindex mrelax
 
 @item -mrelax
 @opindex mrelax