re PR target/13354 (internal compiler error: in sparc_emit_set_const32)

PR target/13354
	* config/sparc/sparc.c (sparc_output_mi_thunk): Load DELTA
	manually if one can do that with only one instruction.

From-SVN: r74499
This commit is contained in:
Eric Botcazou 2003-12-10 16:25:41 +01:00 committed by Eric Botcazou
parent 5838eb9118
commit ed1fe82954
2 changed files with 16 additions and 3 deletions

View File

@ -1,3 +1,9 @@
2003-12-10 Eric Botcazou <ebotcazou@libertysurf.fr>
PR target/13354
* config/sparc/sparc.c (sparc_output_mi_thunk): Load DELTA
manually if one can do that with only one instruction.
2003-12-10 Nick Clifton <nickc@redhat.com>
* config.gcc (arm-linux): Include linux.h in tm_file so that

View File

@ -9085,10 +9085,17 @@ sparc_output_mi_thunk (FILE *file, tree thunk_fndecl ATTRIBUTE_UNUSED,
if (!SPARC_SIMM13_P (delta))
{
rtx scratch = gen_rtx_REG (Pmode, 1);
if (TARGET_ARCH64)
sparc_emit_set_const64 (scratch, delta_rtx);
if (input_operand (delta_rtx, GET_MODE (scratch)))
emit_insn (gen_rtx_SET (VOIDmode, scratch, delta_rtx));
else
sparc_emit_set_const32 (scratch, delta_rtx);
{
if (TARGET_ARCH64)
sparc_emit_set_const64 (scratch, delta_rtx);
else
sparc_emit_set_const32 (scratch, delta_rtx);
}
delta_rtx = scratch;
}