aboutsummaryrefslogtreecommitdiff
path: root/gcc/config
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2001-10-20 15:16:55 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2001-10-20 13:16:55 +0000
commit38ca929b576c3122771f5832c49fd6022e6303ea (patch)
treeacda34ddd334660efde133987e72aaf2384a747f /gcc/config
parent56f1f5ae6a54302d589a602fc808909968c10569 (diff)
downloadgcc-38ca929b576c3122771f5832c49fd6022e6303ea.zip
gcc-38ca929b576c3122771f5832c49fd6022e6303ea.tar.gz
gcc-38ca929b576c3122771f5832c49fd6022e6303ea.tar.bz2
* i386.c (split_di): Handle splitting of DFmode.
From-SVN: r46380
Diffstat (limited to 'gcc/config')
-rw-r--r--gcc/config/i386/i386.c8
1 files changed, 6 insertions, 2 deletions
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);
}
}
}