From: Richard Kenner Date: Sun, 14 Apr 1996 00:18:03 +0000 (-0400) Subject: (CHECK_FLOAT_VALUE): Define. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=e247ca2ac42b5cca9acdd9a4f35dec09beba0a08;p=gcc.git (CHECK_FLOAT_VALUE): Define. (ASM_OUTPUT_FLOAT): Print the value in hex. From-SVN: r11758 --- 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. */