mips.c (mips_adjust_insn_length): Fix handling of calls in mips16 code.

* config/mips/mips.c (mips_adjust_insn_length): Fix handling of
	calls in mips16 code.

From-SVN: r84772
This commit is contained in:
Richard Sandiford 2004-07-15 19:28:22 +00:00 committed by Richard Sandiford
parent c5a419530e
commit 4c467d4113
2 changed files with 6 additions and 3 deletions

View File

@ -1,3 +1,8 @@
2004-07-15 Richard Sandiford <rsandifo@redhat.com>
* config/mips/mips.c (mips_adjust_insn_length): Fix handling of
calls in mips16 code.
2004-07-15 Richard Sandiford <rsandifo@redhat.com>
* config/mips/mips.md: In the mips16 li/neg splitter, use SImode for

View File

@ -8969,9 +8969,7 @@ mips_adjust_insn_length (rtx insn, int length)
/* A unconditional jump has an unfilled delay slot if it is not part
of a sequence. A conditional jump normally has a delay slot, but
does not on MIPS16. */
if (simplejump_p (insn)
|| (!TARGET_MIPS16 && (GET_CODE (insn) == JUMP_INSN
|| GET_CODE (insn) == CALL_INSN)))
if (CALL_P (insn) || (TARGET_MIPS16 ? simplejump_p (insn) : JUMP_P (insn)))
length += 4;
/* See how many nops might be needed to avoid hardware hazards. */