diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1996-04-13 20:18:03 -0400 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1996-04-13 20:18:03 -0400 |
commit | e247ca2ac42b5cca9acdd9a4f35dec09beba0a08 (patch) | |
tree | e02e5e637ec4633d1d5facc109e4fcdaaa9e3161 | |
parent | a874dd182c0ccbe5ca9109b014c2787598a292a6 (diff) | |
download | gcc-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.h | 28 |
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. */ |