mips.c (mips_adjust_insn_length): Fix handling of calls in mips16 code.
authorRichard Sandiford <rsandifo@redhat.com>
Thu, 15 Jul 2004 19:28:22 +0000 (19:28 +0000)
committerRichard Sandiford <rsandifo@gcc.gnu.org>
Thu, 15 Jul 2004 19:28:22 +0000 (19:28 +0000)
* config/mips/mips.c (mips_adjust_insn_length): Fix handling of
calls in mips16 code.

From-SVN: r84772

gcc/ChangeLog
gcc/config/mips/mips.c

index cd45d8ae9064d3c7460a7da009de1b7277b1cb7f..c19e9963dc5b8c06b9b19601248675d4510b9316 100644 (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
index 70c4680cf1f797ea69a72ccd122b4c611116c63e..679416c121f83b32d708f4ade86989be5f6ab022 100644 (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.  */