PR target/6841 target/6770 target/6719
authorDavid S. Miller <davem@redhat.com>
Sat, 22 Jun 2002 12:05:18 +0000 (05:05 -0700)
committerDavid S. Miller <davem@gcc.gnu.org>
Sat, 22 Jun 2002 12:05:18 +0000 (05:05 -0700)
2002-06-22  David S. Miller  <davem@redhat.com>

PR target/6841 target/6770 target/6719
* config/sparc/sparc.h (PREFERRED_RELOAD_CLASS): Return
NO_REGS for constant X when CLASS is GENERAL_OR_FP_REGS or
GENERAL_OR_EXTRA_FP_REGS.

From-SVN: r54910

gcc/ChangeLog
gcc/config/sparc/sparc.h

index 0d3a098ca7e24f6751f6313bce3de747ae021b78..f4c29d9720bfb65e8952047fe16aebf8b6b6a5f7 100644 (file)
@@ -1,3 +1,10 @@
+2002-06-22  David S. Miller  <davem@redhat.com>
+
+       PR target/6841 target/6770 target/6719
+       * config/sparc/sparc.h (PREFERRED_RELOAD_CLASS): Return
+       NO_REGS for constant X when CLASS is GENERAL_OR_FP_REGS or
+       GENERAL_OR_EXTRA_FP_REGS.
+
 2002-06-22  Neil Booth  <neil@daikokuya.co.uk>
 
        * cpptrad.c (struct fun_macro): Add line number.
index b27cea071f57a7e79aa2fd73df415e927770ef04..cb556a31ac7d2cf8a4b0b8476cda3e938085f5cc 100644 (file)
@@ -1416,6 +1416,8 @@ extern char leaf_reg_remap[];
 #define PREFERRED_RELOAD_CLASS(X,CLASS)                        \
   (CONSTANT_P (X)                                      \
    ? ((FP_REG_CLASS_P (CLASS)                          \
+       || (CLASS) == GENERAL_OR_FP_REGS                        \
+       || (CLASS) == GENERAL_OR_EXTRA_FP_REGS          \
        || (GET_MODE_CLASS (GET_MODE (X)) == MODE_FLOAT \
           && ! TARGET_FPU)                             \
        || (GET_MODE (X) == TFmode                      \