(ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT):

Use new REAL_VALUE... macros.
(ASM_OUTPUT_LONG_DOUBLE): New definition.

From-SVN: r3964
This commit is contained in:
Richard Stallman 1993-03-31 20:57:52 +00:00
parent 5a3d4befaf
commit 4179196a15

View File

@ -137,15 +137,24 @@ output_file_directive ((FILE), main_input_filename)
/* The unixpc doesn't know about double's and float's */ /* The unixpc doesn't know about double's and float's */
#define ASM_OUTPUT_DOUBLE(FILE,VALUE) \ #define ASM_OUTPUT_DOUBLE(FILE,VALUE) \
do { union { double d; long l[2]; } tem; \ do { long l[2]; \
tem.d = (VALUE); \ REAL_VALUE_TO_TARGET_DOUBLE (VALUE, l); \
fprintf(FILE, "\tlong 0x%x,0x%x\n", tem.l[0], tem.l[1]); \ fprintf (FILE, "\tlong 0x%x,0x%x\n", l[0], l[1]); \
} while (0) } while (0)
#undef ASM_OUTPUT_LONG_DOUBLE
#define ASM_OUTPUT_LONG_DOUBLE(FILE,VALUE) \
do { long l[3]; \
REAL_VALUE_TO_TARGET_LONG_DOUBLE (VALUE, l); \
fprintf (FILE, "\tlong 0x%x,0x%x,0x%x\n", l[0], l[1], l[2]); \
} while (0)
/* This is how to output an assembler line defining a `float' constant. */
#define ASM_OUTPUT_FLOAT(FILE,VALUE) \ #define ASM_OUTPUT_FLOAT(FILE,VALUE) \
do { union { float f; long l;} tem; \ do { long l; \
tem.f = (VALUE); \ REAL_VALUE_TO_TARGET_SINGLE (VALUE, l); \
fprintf (FILE, "\tlong 0x%x\n", tem.l); \ fprintf ((FILE), "\tlong 0x%x\n", l); \
} while (0) } while (0)
#define ASM_OUTPUT_ALIGN(FILE,LOG) \ #define ASM_OUTPUT_ALIGN(FILE,LOG) \