Commit 429ce992 by Andreas Schwab Committed by Andreas Schwab

m68k.c (print_operand): Mask off extra extension bits when writing out the…

m68k.c (print_operand): Mask off extra extension bits when writing out the representation of real values.

	* config/m68k/m68k.c (print_operand): Mask off extra extension
	bits when writing out the representation of real values.

From-SVN: r141787
parent 46b0b69d
2008-11-12 Andreas Schwab <schwab@suse.de>
* config/m68k/m68k.c (print_operand): Mask off extra extension
bits when writing out the representation of real values.
2008-11-12 Ira Rosen <irar@il.ibm.com> 2008-11-12 Ira Rosen <irar@il.ibm.com>
PR tree-optimization/38079 PR tree-optimization/38079
......
...@@ -3888,7 +3888,7 @@ print_operand (FILE *file, rtx op, int letter) ...@@ -3888,7 +3888,7 @@ print_operand (FILE *file, rtx op, int letter)
long l; long l;
REAL_VALUE_FROM_CONST_DOUBLE (r, op); REAL_VALUE_FROM_CONST_DOUBLE (r, op);
REAL_VALUE_TO_TARGET_SINGLE (r, l); REAL_VALUE_TO_TARGET_SINGLE (r, l);
asm_fprintf (file, "%I0x%lx", l); asm_fprintf (file, "%I0x%lx", l & 0xFFFFFFFF);
} }
else if (GET_CODE (op) == CONST_DOUBLE && GET_MODE (op) == XFmode) else if (GET_CODE (op) == CONST_DOUBLE && GET_MODE (op) == XFmode)
{ {
...@@ -3896,7 +3896,8 @@ print_operand (FILE *file, rtx op, int letter) ...@@ -3896,7 +3896,8 @@ print_operand (FILE *file, rtx op, int letter)
long l[3]; long l[3];
REAL_VALUE_FROM_CONST_DOUBLE (r, op); REAL_VALUE_FROM_CONST_DOUBLE (r, op);
REAL_VALUE_TO_TARGET_LONG_DOUBLE (r, l); REAL_VALUE_TO_TARGET_LONG_DOUBLE (r, l);
asm_fprintf (file, "%I0x%lx%08lx%08lx", l[0], l[1], l[2]); asm_fprintf (file, "%I0x%lx%08lx%08lx", l[0] & 0xFFFFFFFF,
l[1] & 0xFFFFFFFF, l[2] & 0xFFFFFFFF);
} }
else if (GET_CODE (op) == CONST_DOUBLE && GET_MODE (op) == DFmode) else if (GET_CODE (op) == CONST_DOUBLE && GET_MODE (op) == DFmode)
{ {
...@@ -3904,7 +3905,7 @@ print_operand (FILE *file, rtx op, int letter) ...@@ -3904,7 +3905,7 @@ print_operand (FILE *file, rtx op, int letter)
long l[2]; long l[2];
REAL_VALUE_FROM_CONST_DOUBLE (r, op); REAL_VALUE_FROM_CONST_DOUBLE (r, op);
REAL_VALUE_TO_TARGET_DOUBLE (r, l); REAL_VALUE_TO_TARGET_DOUBLE (r, l);
asm_fprintf (file, "%I0x%lx%08lx", l[0], l[1]); asm_fprintf (file, "%I0x%lx%08lx", l[0] & 0xFFFFFFFF, l[1] & 0xFFFFFFFF);
} }
else else
{ {
......
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