From e247ca2ac42b5cca9acdd9a4f35dec09beba0a08 Mon Sep 17 00:00:00 2001 From: Richard Kenner Date: Sat, 13 Apr 1996 20:18:03 -0400 Subject: [PATCH] (CHECK_FLOAT_VALUE): Define. (ASM_OUTPUT_FLOAT): Print the value in hex. From-SVN: r11758 --- gcc/config/alpha/alpha.h | 28 +++++++++++----------------- 1 file changed, 11 insertions(+), 17 deletions(-) diff --git a/gcc/config/alpha/alpha.h b/gcc/config/alpha/alpha.h index 7084661467f..f5c609954ef 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. */ -- 2.30.2