aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1996-04-13 20:18:03 -0400
committerRichard Kenner <kenner@gcc.gnu.org>1996-04-13 20:18:03 -0400
commite247ca2ac42b5cca9acdd9a4f35dec09beba0a08 (patch)
treee02e5e637ec4633d1d5facc109e4fcdaaa9e3161
parenta874dd182c0ccbe5ca9109b014c2787598a292a6 (diff)
downloadgcc-e247ca2ac42b5cca9acdd9a4f35dec09beba0a08.zip
gcc-e247ca2ac42b5cca9acdd9a4f35dec09beba0a08.tar.gz
gcc-e247ca2ac42b5cca9acdd9a4f35dec09beba0a08.tar.bz2
(CHECK_FLOAT_VALUE): Define.
(ASM_OUTPUT_FLOAT): Print the value in hex. From-SVN: r11758
-rw-r--r--gcc/config/alpha/alpha.h28
1 files changed, 11 insertions, 17 deletions
diff --git a/gcc/config/alpha/alpha.h b/gcc/config/alpha/alpha.h
index 7084661..f5c6099 100644
--- a/gcc/config/alpha/alpha.h
+++ b/gcc/config/alpha/alpha.h
@@ -1714,6 +1714,11 @@ literal_section () \
else \
sprintf (LABEL, "*%s%d", PREFIX, NUM)
+/* Check a floating-point value for validity for a particular machine mode. */
+
+#define CHECK_FLOAT_VALUE(MODE, D, OVERFLOW) \
+ ((OVERFLOW) = check_float_value (MODE, &D, OVERFLOW))
+
/* This is how to output an assembler line defining a `double' constant. */
#define ASM_OUTPUT_DOUBLE(FILE,VALUE) \
@@ -1737,23 +1742,12 @@ literal_section () \
/* 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.long 0x%lx\n", t & 0xffffffff); \
- } \
- else \
- { \
- char str[30]; \
- REAL_VALUE_TO_DECIMAL ((VALUE), "%.20e", str); \
- fprintf (FILE, "\t.s_floating %s\n", str); \
- } \
- }
+#define ASM_OUTPUT_FLOAT(FILE,VALUE) \
+ do { \
+ long t; \
+ REAL_VALUE_TO_TARGET_SINGLE ((VALUE), t); \
+ fprintf (FILE, "\t.long 0x%lx\n", t & 0xffffffff); \
+} while (0)
/* This is how to output an assembler line defining an `int' constant. */