diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1995-02-21 07:29:42 -0500 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1995-02-21 07:29:42 -0500 |
commit | 0adc764e3af9aa971626e52205b40d86aa2e48f1 (patch) | |
tree | c74975d208505f7b94319ef8a3565ce527f790aa /gcc | |
parent | 8d800403fc15143793ddf05374696890c97bf561 (diff) | |
download | gcc-0adc764e3af9aa971626e52205b40d86aa2e48f1.zip gcc-0adc764e3af9aa971626e52205b40d86aa2e48f1.tar.gz gcc-0adc764e3af9aa971626e52205b40d86aa2e48f1.tar.bz2 |
(output_toc): Use REAL_VALUE_* macros.
From-SVN: r8985
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/config/rs6000/rs6000.c | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index 6eb40f3..cd6b9a1 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -1996,17 +1996,18 @@ output_toc (file, x, labelno) FP constants. */ if (GET_CODE (x) == CONST_DOUBLE && GET_MODE (x) == DFmode - && TARGET_FLOAT_FORMAT == HOST_FLOAT_FORMAT - && BITS_PER_WORD == HOST_BITS_PER_INT && ! (TARGET_NO_FP_IN_TOC && ! TARGET_MINIMAL_TOC)) { + REAL_VALUE_TYPE r; + long l[2]; + + REAL_VALUE_FROM_CONST_DOUBLE (r, x); + REAL_VALUE_TO_TARGET_DOUBLE (r, l); if (TARGET_MINIMAL_TOC) - fprintf (file, "\t.long %d\n\t.long %d\n", - CONST_DOUBLE_LOW (x), CONST_DOUBLE_HIGH (x)); + fprintf (file, "\t.long %ld\n\t.long %ld\n", l[0], l[1]); else - fprintf (file, "\t.tc FD_%x_%x[TC],%d,%d\n", - CONST_DOUBLE_LOW (x), CONST_DOUBLE_HIGH (x), - CONST_DOUBLE_LOW (x), CONST_DOUBLE_HIGH (x)); + fprintf (file, "\t.tc FD_%lx_%lx[TC],%ld,%ld\n", + l[0], l[1], l[0], l[1]); return; } else if (GET_CODE (x) == CONST_DOUBLE && GET_MODE (x) == SFmode |