diff options
author | Jim Wilson <wilson@gcc.gnu.org> | 1993-08-12 10:41:35 -0700 |
---|---|---|
committer | Jim Wilson <wilson@gcc.gnu.org> | 1993-08-12 10:41:35 -0700 |
commit | 2e7ac77cb9952913586e6b0e81776710b10e69f5 (patch) | |
tree | 2784b213318c17cb2e9bed4d1203164ab468d7f0 | |
parent | 7d26fec6ad4427524ae363313e610c77b48e9993 (diff) | |
download | gcc-2e7ac77cb9952913586e6b0e81776710b10e69f5.zip gcc-2e7ac77cb9952913586e6b0e81776710b10e69f5.tar.gz gcc-2e7ac77cb9952913586e6b0e81776710b10e69f5.tar.bz2 |
(ASM_OUTPUT_DOUBLE): Always use REAL_VALUE_TO_TARGET_DOUBLE.
(ASM_OUTPUT_FLOAT): Always use REAL_VALUE_TO_TARGET_SINGLE.
From-SVN: r5140
-rw-r--r-- | gcc/config/sparc/sparc.h | 41 |
1 files changed, 8 insertions, 33 deletions
diff --git a/gcc/config/sparc/sparc.h b/gcc/config/sparc/sparc.h index 0e4a475..914ecc5 100644 --- a/gcc/config/sparc/sparc.h +++ b/gcc/config/sparc/sparc.h @@ -1619,47 +1619,22 @@ extern struct rtx_def *legitimize_pic_address (); /* This is how to output an assembler line defining a `double' constant. */ -/* Assemblers (both gas 1.35 and as in 4.0.3) - seem to treat -0.0 as if it were 0.0. - They reject 99e9999, but accept inf. */ #define ASM_OUTPUT_DOUBLE(FILE,VALUE) \ { \ - if (REAL_VALUE_ISINF (VALUE) \ - || REAL_VALUE_ISNAN (VALUE) \ - || REAL_VALUE_MINUS_ZERO (VALUE)) \ - { \ - long t[2]; \ - REAL_VALUE_TO_TARGET_DOUBLE ((VALUE), t); \ - fprintf (FILE, "\t%s\t0x%lx\n\t%s\t0x%lx\n", \ - ASM_LONG, t[0], ASM_LONG, t[1]); \ - } \ - else \ - { \ - char str[30]; \ - REAL_VALUE_TO_DECIMAL ((VALUE), "%.17g", str); \ - fprintf (FILE, "\t.double 0r%s\n", str); \ - } \ + long t[2]; \ + REAL_VALUE_TO_TARGET_DOUBLE ((VALUE), t); \ + fprintf (FILE, "\t%s\t0x%lx\n\t%s\t0x%lx\n", \ + ASM_LONG, t[0], ASM_LONG, t[1]); \ } /* This is how to output an assembler line defining a `float' constant. */ #define ASM_OUTPUT_FLOAT(FILE,VALUE) \ { \ - if (REAL_VALUE_ISINF (VALUE) \ - || REAL_VALUE_ISNAN (VALUE) \ - || REAL_VALUE_MINUS_ZERO (VALUE)) \ - { \ - long t; \ - REAL_VALUE_TO_TARGET_SINGLE ((VALUE), t); \ - fprintf (FILE, "\t%s\t0x%lx\n", ASM_LONG, t); \ - } \ - else \ - { \ - char str[30]; \ - REAL_VALUE_TO_DECIMAL ((VALUE), "%.9g", str); \ - fprintf (FILE, "\t.single 0r%s\n", str); \ - } \ - } + long t; \ + REAL_VALUE_TO_TARGET_SINGLE ((VALUE), t); \ + fprintf (FILE, "\t%s\t0x%lx\n", ASM_LONG, t); \ + } \ /* This is how to output an assembler line defining a `long double' constant. */ |