aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/config/i386/i386.c8
2 files changed, 10 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 7e6a049..04f1414 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+Sat Oct 20 15:16:10 CEST 2001 Jan Hubicka <jh@suse.cz>
+
+ * i386.c (split_di): Handle splitting of DFmode.
+
Sat Oct 20 07:27:14 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* emit-rtl.c (set_mem_attributes): Alignment is in bits.
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index b9f1470..c08d1302 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -5937,8 +5937,12 @@ split_di (operands, num, lo_half, hi_half)
}
else
{
- lo_half[num] = simplify_gen_subreg (SImode, op, DImode, 0);
- hi_half[num] = simplify_gen_subreg (SImode, op, DImode, 4);
+ lo_half[num] = simplify_gen_subreg (SImode, op,
+ GET_MODE (op) == VOIDmode
+ ? DImode : GET_MODE (op), 0);
+ hi_half[num] = simplify_gen_subreg (SImode, op,
+ GET_MODE (op) == VOIDmode
+ ? DImode : GET_MODE (op), 4);
}
}
}