(PRINT_OPERAND): Turned off: use default.
authorRichard Kenner <kenner@gcc.gnu.org>
Sat, 15 Feb 1997 23:41:08 +0000 (18:41 -0500)
committerRichard Kenner <kenner@gcc.gnu.org>
Sat, 15 Feb 1997 23:41:08 +0000 (18:41 -0500)
(ASM_OUTPUT_{FLOAT,DOUBLE}_OPERAND): Defined.

From-SVN: r13646

gcc/config/m68k/tower-as.h

index 5f69aa868bd8796787ff1c34fb63967fafb8767c..46aa30a7478a32cc154e643c2ec780afc37f7fa0 100644 (file)
@@ -1,6 +1,6 @@
 /* Definitions of target machine for GNU compiler.
    For NCR Tower 32/4x0 and 32/6x0 running System V Release 3.
-   Copyright (C) 1990, 1993, 1994, 1996 Free Software Foundation, Inc.
+   Copyright (C) 1990, 1993, 1994, 1996, 1997 Free Software Foundation, Inc.
    Contributed by Robert Andersson (ra@intsys.no), International Systems,
    Oslo, Norway.
 
@@ -50,6 +50,12 @@ Boston, MA 02111-1307, USA.  */
 #undef LOCAL_LABEL_PREFIX
 #define LOCAL_LABEL_PREFIX ""
 
+/* The prefix to add to user-visible assembler symbols.  */
+/* We do not want leading underscores.  */
+
+#undef USER_LABEL_PREFIX
+#define USER_LABEL_PREFIX ""
+
 /* These four macros control how m68k.md is expanded.  */
 
 #define MOTOROLA               /* Use Motorola syntax rather than "MIT" */
@@ -323,6 +329,27 @@ do { long l;                                       \
 #define ASM_OUTPUT_SKIP(FILE,SIZE)  \
   fprintf (FILE, "\tspace %d\n", (SIZE))
 
+/* Output a float value (represented as a C double) as an immediate operand.
+   This macro is a 68k-specific macro.  */
+
+#undef ASM_OUTPUT_FLOAT_OPERAND
+#define ASM_OUTPUT_FLOAT_OPERAND(CODE,FILE,VALUE)                      \
+ do { long l;                                                          \
+      REAL_VALUE_TO_TARGET_SINGLE (r, l);                              \
+      /* Use hex representation even if CODE is f.  as needs it.  */   \
+      fprintf ((FILE), "&0x%lx", l);                                   \
+    } while (0)
+
+/* Output a double value (represented as a C double) as an immediate operand.
+   This macro is a 68k-specific macro.  */
+#undef ASM_OUTPUT_DOUBLE_OPERAND
+#define ASM_OUTPUT_DOUBLE_OPERAND(FILE,VALUE)                          \
+ do { long l[2];                                                       \
+      REAL_VALUE_TO_TARGET_DOUBLE (VALUE, l);                          \
+      fprintf ((FILE), "&0x%lx%08lx", l[0], l[1]);                     \
+    } while (0)
+
+#if 0
 #undef PRINT_OPERAND
 #define PRINT_OPERAND(FILE, X, CODE)  \
 { if (CODE == '.') fprintf (FILE, ".");                                        \
@@ -354,6 +381,7 @@ do { long l;                                        \
       REAL_VALUE_FROM_CONST_DOUBLE (r, X);                             \
       ASM_OUTPUT_LONG_DOUBLE_OPERAND (FILE, r); }                      \
   else { putc ('&', FILE); output_addr_const (FILE, X); }}
+#endif
 
 /* Note that this contains a kludge that knows that the only reason
    we have an address (plus (label_ref...) (reg...))
@@ -586,10 +614,3 @@ do { fprintf (asm_out_file, "\ttag\t");    \
     assemble_name (FILE, NAME);                        \
     fprintf (FILE, ",-(%%sp)\n");              \
   } while (0)
-
-/* The prefix to add to user-visible assembler symbols. */
-
-/* We do not want leading underscores.  */
-
-#undef USER_LABEL_PREFIX
-#define USER_LABEL_PREFIX ""