From 5756d08c2509ccb75ee3a8622e7ace94fc8f346f Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Tue, 12 Jul 2011 08:46:02 -0700 Subject: [PATCH] re PR target/49714 (Revision 176128 introduced many ICEs in insn_default_length, at config/i386/i386.md:600) PR target/49714 * config/i386/i386.c (x86_output_mi_thunk): Fix mode for destination address in memory on some paths. From-SVN: r176208 --- gcc/ChangeLog | 6 ++++++ gcc/config/i386/i386.c | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 903c11733d9..ca55049e6b6 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2011-07-12 Richard Henderson + + PR target/49714 + * config/i386/i386.c (x86_output_mi_thunk): Fix mode for + destination address in memory on some paths. + 2011-07-12 Bernd Schmidt * doc/tm.texi.in (FUNCTION_ARG_PADDING): Mention diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index c419c378235..4ca95ab25a6 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -29399,7 +29399,7 @@ x86_output_mi_thunk (FILE *file, { tmp = gen_rtx_UNSPEC (Pmode, gen_rtvec (1, fnaddr), UNSPEC_GOTPCREL); tmp = gen_rtx_CONST (Pmode, tmp); - fnaddr = gen_rtx_MEM (QImode, tmp); + fnaddr = gen_rtx_MEM (Pmode, tmp); } } else @@ -29414,7 +29414,7 @@ x86_output_mi_thunk (FILE *file, sym_ref = (gen_rtx_SYMBOL_REF (Pmode, machopic_indirection_name (sym_ref, /*stub_p=*/true))); - fnaddr = gen_rtx_MEM (QImode, sym_ref); + fnaddr = gen_rtx_MEM (Pmode, sym_ref); } #endif /* TARGET_MACHO */ else -- 2.30.2