]> gcc.gnu.org Git - gcc.git/commitdiff
mn10300.c (mn10300_hard_regno_mode_ok): Do not accept extended registers in any mode...
authorNick Clifton <nickc@redhat.com>
Wed, 5 Feb 2014 09:47:59 +0000 (09:47 +0000)
committerNick Clifton <nickc@gcc.gnu.org>
Wed, 5 Feb 2014 09:47:59 +0000 (09:47 +0000)
* config/mn10300/mn10300.c (mn10300_hard_regno_mode_ok): Do not
accept extended registers in any mode when compiling for the
MN10300.

From-SVN: r207498

gcc/ChangeLog
gcc/config/mn10300/mn10300.c

index 28d171caefca97f8efb429784bacff496adb1c57..f609d3f28225eef31f4161bb4a319b17a17cc37a 100644 (file)
@@ -1,3 +1,9 @@
+2014-02-05  Nick Clifton  <nickc@redhat.com>
+
+       * config/mn10300/mn10300.c (mn10300_hard_regno_mode_ok): Do not
+       accept extended registers in any mode when compiling for the
+       MN10300.
+
 2014-02-05  Yury Gribov  <y.gribov@samsung.com>
 
        * cif-code.def (ATTRIBUTE_MISMATCH): New CIF code.
index 1b9581910bf65ee096487b49d0da0b3d7ca25e7f..a2133f21783c1148a5850fabced2e54f8738b7f5 100644 (file)
@@ -68,7 +68,6 @@ static int cc_flags_for_mode(enum machine_mode);
 static int cc_flags_for_code(enum rtx_code);
 \f
 /* Implement TARGET_OPTION_OVERRIDE.  */
-
 static void
 mn10300_option_override (void)
 {
@@ -1413,7 +1412,6 @@ mn10300_secondary_reload (bool in_p, rtx x, reg_class_t rclass_i,
       if (addr && CONSTANT_ADDRESS_P (addr))
        return GENERAL_REGS;
     }
-
   /* Otherwise assume no secondary reloads are needed.  */
   return NO_REGS;
 }
@@ -2614,7 +2612,10 @@ mn10300_hard_regno_mode_ok (unsigned int regno, enum machine_mode mode)
       || REGNO_REG_CLASS (regno) == FP_ACC_REGS)
     /* Do not store integer values in FP registers.  */
     return GET_MODE_CLASS (mode) == MODE_FLOAT && ((regno & 1) == 0);
-  
+
+  if (! TARGET_AM33 && REGNO_REG_CLASS (regno) == EXTENDED_REGS)
+    return false;
+
   if (((regno) & 1) == 0 || GET_MODE_SIZE (mode) == 4)
     return true;
 
This page took 0.072386 seconds and 5 git commands to generate.