(ASM_OUTPUT_LONG_DOUBLE): New macro.
authorDoug Evans <dje@gnu.org>
Mon, 26 Apr 1993 11:52:51 +0000 (11:52 +0000)
committerDoug Evans <dje@gnu.org>
Mon, 26 Apr 1993 11:52:51 +0000 (11:52 +0000)
From-SVN: r4234

gcc/config/sparc/sparc.h
gcc/config/sparc/sysv4.h

index 0322d5c0473c855cecd34d3ccf9c30a25bade063..b5a434690e32be2953ebe6916bc1a2dc2f1ea73e 100644 (file)
@@ -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)  \
index 6759ae32019b8166f8f2b6a63cfdafca1641d4fb..f36fd356772f096225b987e9d9b2276d03a8f66c 100644 (file)
@@ -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)