From: Doug Evans Date: Mon, 26 Apr 1993 11:52:51 +0000 (+0000) Subject: (ASM_OUTPUT_LONG_DOUBLE): New macro. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=0cd02cbbfb635002ecd371f79243933fc34b1f47;p=gcc.git (ASM_OUTPUT_LONG_DOUBLE): New macro. From-SVN: r4234 --- diff --git a/gcc/config/sparc/sparc.h b/gcc/config/sparc/sparc.h index 0322d5c0473..b5a434690e3 100644 --- a/gcc/config/sparc/sparc.h +++ b/gcc/config/sparc/sparc.h @@ -1629,6 +1629,17 @@ extern struct rtx_def *legitimize_pic_address (); fprintf (FILE, "\t.single 0r%.9g\n", VALUE); \ } +/* This is how to output an assembler line defining a `long double' + constant. */ + +#define ASM_OUTPUT_LONG_DOUBLE(FILE,VALUE) \ + { \ + long t[4]; \ + REAL_VALUE_TO_TARGET_LONG_DOUBLE ((VALUE), t); \ + fprintf (FILE, "\t%s\t0x%lx\n\t%s\t0x%lx\n\t%s\t0x%lx\n\t%s\t0x%lx\n", \ + ASM_LONG, t[0], ASM_LONG, t[1], ASM_LONG, t[2], ASM_LONG, t[3]); \ + } + /* This is how to output an assembler line defining an `int' constant. */ #define ASM_OUTPUT_INT(FILE,VALUE) \ diff --git a/gcc/config/sparc/sysv4.h b/gcc/config/sparc/sysv4.h index 6759ae32019..f36fd356772 100644 --- a/gcc/config/sparc/sysv4.h +++ b/gcc/config/sparc/sysv4.h @@ -184,3 +184,16 @@ do { long value[2]; \ #endif /* word order matches */ #endif /* HOST_FLOAT_FORMAT == TARGET_FLOAT_FORMAT */ + +/* This is how to output an assembler line defining a `long double' + constant. */ + +#undef ASM_OUTPUT_LONG_DOUBLE +#define ASM_OUTPUT_LONG_DOUBLE(FILE,VALUE) \ +do { long value[4]; \ + REAL_VALUE_TO_TARGET_LONG_DOUBLE ((VALUE), value); \ + fprintf((FILE), "\t.long\t0x%x\n", value[0]); \ + fprintf((FILE), "\t.long\t0x%x\n", value[1]); \ + fprintf((FILE), "\t.long\t0x%x\n", value[2]); \ + fprintf((FILE), "\t.long\t0x%x\n", value[3]); \ + } while (0)