m68k.c (print_operand): Always print a float constant in hex.
* config/m68k/m68k.c (print_operand): Always print a float constant in hex. * config/m68k/m68k.h (ASM_OUTPUT_FLOAT_OPERAND) (ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Remove macros. From-SVN: r137259
This commit is contained in:
parent
5b5b098dd4
commit
6ae89ea8fe
@ -1,5 +1,11 @@
|
||||
2008-06-29 Andreas Schwab <schwab@suse.de>
|
||||
|
||||
* config/m68k/m68k.c (print_operand): Always print a float
|
||||
constant in hex.
|
||||
* config/m68k/m68k.h (ASM_OUTPUT_FLOAT_OPERAND)
|
||||
(ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND):
|
||||
Remove macros.
|
||||
|
||||
* config/rs6000/x-linux64: Remove never used file.
|
||||
|
||||
2008-06-29 Richard Guenther <rguenther@suse.de>
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* Subroutines for insn-output.c for Motorola 68000 family.
|
||||
Copyright (C) 1987, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
|
||||
2001, 2003, 2004, 2005, 2006, 2007
|
||||
2001, 2003, 2004, 2005, 2006, 2007, 2008
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GCC.
|
||||
@ -3884,20 +3884,26 @@ print_operand (FILE *file, rtx op, int letter)
|
||||
else if (GET_CODE (op) == CONST_DOUBLE && GET_MODE (op) == SFmode)
|
||||
{
|
||||
REAL_VALUE_TYPE r;
|
||||
long l;
|
||||
REAL_VALUE_FROM_CONST_DOUBLE (r, op);
|
||||
ASM_OUTPUT_FLOAT_OPERAND (letter, file, r);
|
||||
REAL_VALUE_TO_TARGET_SINGLE (r, l);
|
||||
asm_fprintf (file, "%I0x%lx", l);
|
||||
}
|
||||
else if (GET_CODE (op) == CONST_DOUBLE && GET_MODE (op) == XFmode)
|
||||
{
|
||||
REAL_VALUE_TYPE r;
|
||||
long l[3];
|
||||
REAL_VALUE_FROM_CONST_DOUBLE (r, op);
|
||||
ASM_OUTPUT_LONG_DOUBLE_OPERAND (file, r);
|
||||
REAL_VALUE_TO_TARGET_LONG_DOUBLE (r, l);
|
||||
asm_fprintf (file, "%I0x%lx%08lx%08lx", l[0], l[1], l[2]);
|
||||
}
|
||||
else if (GET_CODE (op) == CONST_DOUBLE && GET_MODE (op) == DFmode)
|
||||
{
|
||||
REAL_VALUE_TYPE r;
|
||||
long l[2];
|
||||
REAL_VALUE_FROM_CONST_DOUBLE (r, op);
|
||||
ASM_OUTPUT_DOUBLE_OPERAND (file, r);
|
||||
REAL_VALUE_TO_TARGET_DOUBLE (r, l);
|
||||
asm_fprintf (file, "%I0x%lx%08lx", l[0], l[1]);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* Definitions of target machine for GCC for Motorola 680x0/ColdFire.
|
||||
Copyright (C) 1987, 1988, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
|
||||
2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
|
||||
2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GCC.
|
||||
|
||||
@ -1015,40 +1015,6 @@ do { if (cc_prev_status.flags & CC_IN_68881) \
|
||||
assemble_name ((FILE), (NAME)), \
|
||||
fprintf ((FILE), ",%u\n", (int)(ROUNDED)))
|
||||
|
||||
/* Output a float value (represented as a C double) as an immediate operand.
|
||||
This macro is m68k-specific. */
|
||||
#define ASM_OUTPUT_FLOAT_OPERAND(CODE,FILE,VALUE) \
|
||||
do { \
|
||||
if (CODE == 'f') \
|
||||
{ \
|
||||
char dstr[30]; \
|
||||
real_to_decimal (dstr, &(VALUE), sizeof (dstr), 9, 0); \
|
||||
asm_fprintf ((FILE), "%I0r%s", dstr); \
|
||||
} \
|
||||
else \
|
||||
{ \
|
||||
long l; \
|
||||
REAL_VALUE_TO_TARGET_SINGLE (VALUE, l); \
|
||||
asm_fprintf ((FILE), "%I0x%lx", l); \
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
/* Output a double value (represented as a C double) as an immediate operand.
|
||||
This macro is m68k-specific. */
|
||||
#define ASM_OUTPUT_DOUBLE_OPERAND(FILE,VALUE) \
|
||||
do { char dstr[30]; \
|
||||
real_to_decimal (dstr, &(VALUE), sizeof (dstr), 0, 1); \
|
||||
asm_fprintf (FILE, "%I0r%s", dstr); \
|
||||
} while (0)
|
||||
|
||||
/* Note, long double immediate operands are not actually
|
||||
generated by m68k.md. */
|
||||
#define ASM_OUTPUT_LONG_DOUBLE_OPERAND(FILE,VALUE) \
|
||||
do { char dstr[30]; \
|
||||
real_to_decimal (dstr, &(VALUE), sizeof (dstr), 0, 1); \
|
||||
asm_fprintf (FILE, "%I0r%s", dstr); \
|
||||
} while (0)
|
||||
|
||||
/* On the 68000, we use several CODE characters:
|
||||
'.' for dot needed in Motorola-style opcode names.
|
||||
'-' for an operand pushing on the stack:
|
||||
|
Loading…
Reference in New Issue
Block a user