aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim Wilson <wilson@gcc.gnu.org>1993-08-12 10:41:35 -0700
committerJim Wilson <wilson@gcc.gnu.org>1993-08-12 10:41:35 -0700
commit2e7ac77cb9952913586e6b0e81776710b10e69f5 (patch)
tree2784b213318c17cb2e9bed4d1203164ab468d7f0
parent7d26fec6ad4427524ae363313e610c77b48e9993 (diff)
downloadgcc-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.h41
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. */