(ASM_OUTPUT_DOUBLE,ASM_OUTPUT_FLOAT): Use REAL_VALUE_ macros.
(ASM_OUTPUT_LONG_DOUBLE): New macro. (VALUE_REGNO): Add case XFmode. From-SVN: r5574
This commit is contained in:
parent
4fb21e9046
commit
4a37b93925
@ -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
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user