aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/m68k
diff options
context:
space:
mode:
authorrms <rms@138bc75d-0d04-0410-961f-82ee72b054a4>1993-05-13 13:57:34 +0000
committerrms <rms@138bc75d-0d04-0410-961f-82ee72b054a4>1993-05-13 13:57:34 +0000
commita56dae6198e95d23622d2694345aa496ca295c23 (patch)
treed5cd3e72ac4256e4526025e110f52addd48cb8da /gcc/config/m68k
parent2ebf01519627435875903f6fcd672430aa21aa12 (diff)
(ASM_OUTPUT_FLOAT_OPERAND): Output as hex, unless CODE is 'f'.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@4437 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/m68k')
-rw-r--r--gcc/config/m68k/next.h36
-rw-r--r--gcc/config/m68k/sun2o4.h44
-rw-r--r--gcc/config/m68k/sun3.h44
3 files changed, 77 insertions, 47 deletions
diff --git a/gcc/config/m68k/next.h b/gcc/config/m68k/next.h
index c336d67fbe0..845bf7c1b93 100644
--- a/gcc/config/m68k/next.h
+++ b/gcc/config/m68k/next.h
@@ -102,19 +102,29 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
fprintf (FILE, "#0%c%x", (CODE) == 'f' ? 'b' : 'x', hex); \
} while (0)
#else
-#define ASM_OUTPUT_FLOAT_OPERAND(CODE,FILE,VALUE) \
- do{ if (REAL_VALUE_ISINF (VALUE)) \
- { \
- if (REAL_VALUE_NEGATIVE (VALUE)) \
- fprintf (FILE, "#0r-99e999"); \
- else \
- fprintf (FILE, "#0r99e999"); \
- } \
- else \
- { char dstr[30]; \
- REAL_VALUE_TO_DECIMAL ((VALUE), "%.9g", dstr); \
- fprintf (FILE, "#0r%s", dstr); \
- } \
+#define ASM_OUTPUT_FLOAT_OPERAND(CODE,FILE,VALUE) \
+ do{ \
+ if (CODE != 'f') \
+ { \
+ long l; \
+ REAL_VALUE_TO_TARGET_SINGLE (VALUE, l); \
+ if (sizeof (int) == sizeof (long)) \
+ asm_fprintf ((FILE), "%I0x%x", l); \
+ else \
+ asm_fprintf ((FILE), "%I0x%lx", l); \
+ } \
+ else if (REAL_VALUE_ISINF (VALUE)) \
+ { \
+ if (REAL_VALUE_NEGATIVE (VALUE)) \
+ fprintf (FILE, "#0r-99e999"); \
+ else \
+ fprintf (FILE, "#0r99e999"); \
+ } \
+ else \
+ { char dstr[30]; \
+ REAL_VALUE_TO_DECIMAL ((VALUE), "%.9g", dstr); \
+ fprintf (FILE, "#0r%s", dstr); \
+ } \
} while (0)
#endif
diff --git a/gcc/config/m68k/sun2o4.h b/gcc/config/m68k/sun2o4.h
index 04b425e355f..6ae0ca8bc2a 100644
--- a/gcc/config/m68k/sun2o4.h
+++ b/gcc/config/m68k/sun2o4.h
@@ -138,23 +138,33 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
} while (0)
#undef ASM_OUTPUT_FLOAT_OPERAND
-#define ASM_OUTPUT_FLOAT_OPERAND(CODE,FILE,VALUE) \
- do { if (REAL_VALUE_ISINF (VALUE)) \
- { \
- if (REAL_VALUE_NEGATIVE (VALUE)) \
- fprintf (FILE, "#0r-99e999"); \
- else \
- fprintf (FILE, "#0r99e999"); \
- } \
- else if (REAL_VALUE_MINUS_ZERO (VALUE)) \
- { \
- fprintf (FILE, "#0r-0.0"); \
- } \
- else \
- { char dstr[30]; \
- REAL_VALUE_TO_DECIMAL ((VALUE), "%.9g", dstr); \
- fprintf (FILE, "#0r%s", dstr); \
- } \
+#define ASM_OUTPUT_FLOAT_OPERAND(CODE,FILE,VALUE) \
+ do { \
+ if (CODE != 'f') \
+ { \
+ long l; \
+ REAL_VALUE_TO_TARGET_SINGLE (VALUE, l); \
+ if (sizeof (int) == sizeof (long)) \
+ asm_fprintf ((FILE), "%I0x%x", l); \
+ else \
+ asm_fprintf ((FILE), "%I0x%lx", l); \
+ } \
+ else if (REAL_VALUE_ISINF (VALUE)) \
+ { \
+ if (REAL_VALUE_NEGATIVE (VALUE)) \
+ fprintf (FILE, "#0r-99e999"); \
+ else \
+ fprintf (FILE, "#0r99e999"); \
+ } \
+ else if (REAL_VALUE_MINUS_ZERO (VALUE)) \
+ { \
+ fprintf (FILE, "#0r-0.0"); \
+ } \
+ else \
+ { char dstr[30]; \
+ REAL_VALUE_TO_DECIMAL ((VALUE), "%.9g", dstr); \
+ fprintf (FILE, "#0r%s", dstr); \
+ } \
} while (0)
#undef ASM_OUTPUT_DOUBLE_OPERAND
diff --git a/gcc/config/m68k/sun3.h b/gcc/config/m68k/sun3.h
index b8c67f69fc7..9ab1bcc2b24 100644
--- a/gcc/config/m68k/sun3.h
+++ b/gcc/config/m68k/sun3.h
@@ -224,23 +224,33 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
There's no way to output a NaN's fraction, so we lose it. */
#undef ASM_OUTPUT_FLOAT_OPERAND
-#define ASM_OUTPUT_FLOAT_OPERAND(CODE,FILE,VALUE) \
- do { if (REAL_VALUE_ISINF (VALUE)) \
- { \
- if (REAL_VALUE_NEGATIVE (VALUE)) \
- asm_fprintf (FILE, "%I0r-99e999"); \
- else \
- asm_fprintf (FILE, "%I0r99e999"); \
- } \
- else if (REAL_VALUE_MINUS_ZERO (VALUE)) \
- { \
- asm_fprintf (FILE, "%I0r-0.0"); \
- } \
- else \
- { char dstr[30]; \
- REAL_VALUE_TO_DECIMAL ((VALUE), "%.9g", dstr); \
- asm_fprintf (FILE, "%I0r%s", dstr); \
- } \
+#define ASM_OUTPUT_FLOAT_OPERAND(CODE,FILE,VALUE) \
+ do { \
+ if (CODE != 'f') \
+ { \
+ long l; \
+ REAL_VALUE_TO_TARGET_SINGLE (VALUE, l); \
+ if (sizeof (int) == sizeof (long)) \
+ asm_fprintf ((FILE), "%I0x%x", l); \
+ else \
+ asm_fprintf ((FILE), "%I0x%lx", l); \
+ } \
+ else if (REAL_VALUE_ISINF (VALUE)) \
+ { \
+ if (REAL_VALUE_NEGATIVE (VALUE)) \
+ asm_fprintf (FILE, "%I0r-99e999"); \
+ else \
+ asm_fprintf (FILE, "%I0r99e999"); \
+ } \
+ else if (REAL_VALUE_MINUS_ZERO (VALUE)) \
+ { \
+ asm_fprintf (FILE, "%I0r-0.0"); \
+ } \
+ else \
+ { char dstr[30]; \
+ REAL_VALUE_TO_DECIMAL ((VALUE), "%.9g", dstr); \
+ asm_fprintf (FILE, "%I0r%s", dstr); \
+ } \
} while (0)
#undef ASM_OUTPUT_DOUBLE_OPERAND