aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/m68k/sun3.h
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/sun3.h
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/sun3.h')
-rw-r--r--gcc/config/m68k/sun3.h44
1 files changed, 27 insertions, 17 deletions
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