Commit 4a37b939 by James Van Artsdalen

(ASM_OUTPUT_DOUBLE,ASM_OUTPUT_FLOAT): Use REAL_VALUE_ macros.

(ASM_OUTPUT_LONG_DOUBLE): New macro.
(VALUE_REGNO): Add case XFmode.

From-SVN: r5574
parent 4fb21e90
......@@ -38,20 +38,39 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#undef VALUE_REGNO
#define VALUE_REGNO(MODE) \
(((MODE)==SFmode || (MODE)==DFmode) ? FIRST_FLOAT_REG : 0)
((MODE) == SFmode || (MODE) == DFmode || (MODE) == XFmode \
? FIRST_FLOAT_REG : 0)
/* 1 if N is a possible register number for a function value. */
#undef FUNCTION_VALUE_REGNO_P
#define FUNCTION_VALUE_REGNO_P(N) ((N) == 0 || (N)== FIRST_FLOAT_REG)
#ifdef REAL_VALUE_TO_TARGET_LONG_DOUBLE
#undef ASM_OUTPUT_LONG_DOUBLE
#define ASM_OUTPUT_LONG_DOUBLE(FILE,VALUE) \
do { \
long hex[3]; \
REAL_VALUE_TO_TARGET_LONG_DOUBLE (VALUE, hex); \
if (sizeof (int) == sizeof (long)) \
fprintf (FILE, "\t.long 0x%x\n\t.long 0x%x\n\t.long 0x%x\n", \
hex[0], hex[1], hex[2]); \
else \
fprintf (FILE, "\t.long 0x%lx\n\t.long 0x%lx\n\t.long 0x%lx\n", \
hex[0], hex[1], hex[2]); \
} while (0)
#endif
#ifdef REAL_VALUE_TO_TARGET_DOUBLE
#undef ASM_OUTPUT_DOUBLE
#define ASM_OUTPUT_DOUBLE(FILE,VALUE) \
do { \
long hex[2]; \
REAL_VALUE_TO_TARGET_DOUBLE (VALUE, hex); \
fprintf (FILE, "\t.long 0x%x\n\t.long 0x%x\n", hex[0], hex[1]); \
if (sizeof (int) == sizeof (long)) \
fprintf (FILE, "\t.long 0x%x\n\t.long 0x%x\n", hex[0], hex[1]); \
else \
fprintf (FILE, "\t.long 0x%lx\n\t.long 0x%lx\n", hex[0], hex[1]); \
} while (0)
#endif
......@@ -63,7 +82,10 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
do { \
long hex; \
REAL_VALUE_TO_TARGET_SINGLE (VALUE, hex); \
fprintf (FILE, "\t.long 0x%x\n", hex); \
if (sizeof (int) == sizeof (long)) \
fprintf (FILE, "\t.long 0x%x\n", hex); \
else \
fprintf (FILE, "\t.long 0x%lx\n", hex); \
} while (0)
#endif
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment