aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernd Schmidt <bernds@redhat.co.uk>2000-10-26 23:05:17 +0000
committerRichard Henderson <rth@gcc.gnu.org>2000-10-26 16:05:17 -0700
commit036099eb8fa7798adc7e8558e0d570dc26f3eb50 (patch)
treedb3b5fdfd74db042c5aed48d10546b6e519d7e73
parenta69135b83a02807778228cc2730e3f9bf4d05154 (diff)
downloadgcc-036099eb8fa7798adc7e8558e0d570dc26f3eb50.zip
gcc-036099eb8fa7798adc7e8558e0d570dc26f3eb50.tar.gz
gcc-036099eb8fa7798adc7e8558e0d570dc26f3eb50.tar.bz2
ia64.h (PREFERRED_RELOAD_CLASS): Force floating point constants into memory.
* ia64.h (PREFERRED_RELOAD_CLASS): Force floating point constants into memory. From-SVN: r37075
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/ia64/ia64.h1
2 files changed, 6 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 4bac913..eb72543 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2000-10-26 Bernd Schmidt <bernds@redhat.co.uk>
+
+ * ia64.h (PREFERRED_RELOAD_CLASS): Force floating point constants
+ into memory.
+
2000-10-26 Nathan Sidwell <nathan@codesourcery.com>
* tree.c (make_node, case 't'): Set alignment to that of
diff --git a/gcc/config/ia64/ia64.h b/gcc/config/ia64/ia64.h
index 6f13d8c..9fd78f8 100644
--- a/gcc/config/ia64/ia64.h
+++ b/gcc/config/ia64/ia64.h
@@ -1021,6 +1021,7 @@ enum reg_class
#define PREFERRED_RELOAD_CLASS(X, CLASS) \
(CLASS == FR_REGS && GET_CODE (X) == MEM && MEM_VOLATILE_P (X) ? NO_REGS \
+ : CLASS == FR_REGS && GET_CODE (X) == CONST_DOUBLE ? NO_REGS \
: GET_RTX_CLASS (GET_CODE (X)) != 'o' && CLASS > GR_AND_FR_REGS ? NO_REGS \
: CLASS)