aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/i386
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2005-12-14 21:30:46 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2005-12-14 21:30:46 +0100
commit69642eaeafc5e58d41866d8db73dd73ec134067a (patch)
tree9fe02e5cb8e0ede43b6a97177ec83f2927b991a1 /gcc/config/i386
parent4f9a6d459fc70db6947ed7e853c77f0b950669bd (diff)
downloadgcc-69642eaeafc5e58d41866d8db73dd73ec134067a.zip
gcc-69642eaeafc5e58d41866d8db73dd73ec134067a.tar.gz
gcc-69642eaeafc5e58d41866d8db73dd73ec134067a.tar.bz2
re PR debug/25023 (ICE in def_cfa_1, at dwarf2out.c:792)
PR debug/25023 * config/i386/i386.c (ix86_force_to_memory): Always use SImode push for HImode in -m32. (ix86_free_from_memory): Likewise. * gcc.dg/pr25023.c: New test. From-SVN: r108537
Diffstat (limited to 'gcc/config/i386')
-rw-r--r--gcc/config/i386/i386.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 33b9c6f..7457218 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -15790,9 +15790,8 @@ ix86_force_to_memory (enum machine_mode mode, rtx operand)
}
break;
case HImode:
- /* It is better to store HImodes as SImodes. */
- if (!TARGET_PARTIAL_REG_STALL)
- operand = gen_lowpart (SImode, operand);
+ /* Store HImodes as SImodes. */
+ operand = gen_lowpart (SImode, operand);
/* FALLTHRU */
case SImode:
emit_insn (
@@ -15820,8 +15819,6 @@ ix86_free_from_memory (enum machine_mode mode)
if (mode == DImode || TARGET_64BIT)
size = 8;
- else if (mode == HImode && TARGET_PARTIAL_REG_STALL)
- size = 2;
else
size = 4;
/* Use LEA to deallocate stack space. In peephole2 it will be converted