aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorAndreas Schwab <schwab@suse.de>2008-11-12 16:34:14 +0000
committerAndreas Schwab <schwab@gcc.gnu.org>2008-11-12 16:34:14 +0000
commit429ce9927e78f2dab7393a739ecb193815b0b188 (patch)
tree734326c32d36ecdb66987c0eaf44bc2b3f41eaf5 /gcc
parent46b0b69d2581551897da799c8e11bab135e51e5d (diff)
downloadgcc-429ce9927e78f2dab7393a739ecb193815b0b188.zip
gcc-429ce9927e78f2dab7393a739ecb193815b0b188.tar.gz
gcc-429ce9927e78f2dab7393a739ecb193815b0b188.tar.bz2
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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/m68k/m68k.c7
2 files changed, 9 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 5e45a04..7617fa7 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+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>
PR tree-optimization/38079
diff --git a/gcc/config/m68k/m68k.c b/gcc/config/m68k/m68k.c
index 46647ea..c762a8f 100644
--- a/gcc/config/m68k/m68k.c
+++ b/gcc/config/m68k/m68k.c
@@ -3888,7 +3888,7 @@ print_operand (FILE *file, rtx op, int letter)
long l;
REAL_VALUE_FROM_CONST_DOUBLE (r, op);
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)
{
@@ -3896,7 +3896,8 @@ print_operand (FILE *file, rtx op, int letter)
long l[3];
REAL_VALUE_FROM_CONST_DOUBLE (r, op);
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)
{
@@ -3904,7 +3905,7 @@ print_operand (FILE *file, rtx op, int letter)
long l[2];
REAL_VALUE_FROM_CONST_DOUBLE (r, op);
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
{