aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorDavid S. Miller <davem@redhat.com>2002-06-22 05:05:18 -0700
committerDavid S. Miller <davem@gcc.gnu.org>2002-06-22 05:05:18 -0700
commit7ae3e57c3a18499f14adc49ea8cb65890c254010 (patch)
treec0d5562703764de96a3b6013082a9e3e09b0376a /gcc
parent847c76c86abab21f77c80bf224c35869f6a12736 (diff)
downloadgcc-7ae3e57c3a18499f14adc49ea8cb65890c254010.zip
gcc-7ae3e57c3a18499f14adc49ea8cb65890c254010.tar.gz
gcc-7ae3e57c3a18499f14adc49ea8cb65890c254010.tar.bz2
PR target/6841 target/6770 target/6719
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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/config/sparc/sparc.h2
2 files changed, 9 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 0d3a098..f4c29d9 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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.
diff --git a/gcc/config/sparc/sparc.h b/gcc/config/sparc/sparc.h
index b27cea0..cb556a3 100644
--- a/gcc/config/sparc/sparc.h
+++ b/gcc/config/sparc/sparc.h
@@ -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 \