Commit 74ed13f5 by Bob Wilson Committed by Bob Wilson

xtensa.c (xtensa_output_literal): Mask out high bits for floating-point values…

xtensa.c (xtensa_output_literal): Mask out high bits for floating-point values if HOST_BITS_PER_LONG > 32.

	* config/xtensa/xtensa.c (xtensa_output_literal): Mask out high bits
	for floating-point values if HOST_BITS_PER_LONG > 32.  Use split_double
	instead of operand_subword.

From-SVN: r124578
parent 520c62ad
2007-05-09 Bob Wilson <bob.wilson@acm.org>
* config/xtensa/xtensa.c (xtensa_output_literal): Mask out high bits
for floating-point values if HOST_BITS_PER_LONG > 32. Use split_double
instead of operand_subword.
2007-05-08 Bernd Schmidt <bernd.schmidt@analog.com>
* config/bfin/bfin.h (LOCAL_ALIGNMENT): Define.
......
......@@ -1939,6 +1939,7 @@ xtensa_output_literal (FILE *file, rtx x, enum machine_mode mode, int labelno)
long value_long[2];
REAL_VALUE_TYPE r;
int size;
rtx first, second;
fprintf (file, "\t.literal .LC%u, ", (unsigned) labelno);
......@@ -1952,11 +1953,18 @@ xtensa_output_literal (FILE *file, rtx x, enum machine_mode mode, int labelno)
{
case SFmode:
REAL_VALUE_TO_TARGET_SINGLE (r, value_long[0]);
#if HOST_BITS_PER_LONG > 32
value_long[0] &= 0xffffffff;
#endif
fprintf (file, "0x%08lx\n", value_long[0]);
break;
case DFmode:
REAL_VALUE_TO_TARGET_DOUBLE (r, value_long);
#if HOST_BITS_PER_LONG > 32
value_long[0] &= 0xffffffff;
value_long[1] &= 0xffffffff;
#endif
fprintf (file, "0x%08lx, 0x%08lx\n",
value_long[0], value_long[1]);
break;
......@@ -1978,9 +1986,10 @@ xtensa_output_literal (FILE *file, rtx x, enum machine_mode mode, int labelno)
break;
case 8:
output_addr_const (file, operand_subword (x, 0, 0, DImode));
split_double (x, &first, &second);
output_addr_const (file, first);
fputs (", ", file);
output_addr_const (file, operand_subword (x, 1, 0, DImode));
output_addr_const (file, second);
fputs ("\n", file);
break;
......
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