mips.md (*jump_absolute): Use a branch when in range, a jump otherwise.
authorMaciej W. Rozycki <macro@codesourcery.com>
Tue, 18 Nov 2014 16:46:52 +0000 (16:46 +0000)
committerMaciej W. Rozycki <macro@gcc.gnu.org>
Tue, 18 Nov 2014 16:46:52 +0000 (16:46 +0000)
* gcc/config/mips/mips.md (*jump_absolute): Use a branch when in
range, a jump otherwise.

From-SVN: r217727

gcc/ChangeLog
gcc/config/mips/mips.md

index 4a825c17310aa3e29f793554a542d55d54c6e62f..3c24cd1abd8d71c3c512d51ce69a7654c3e1fa4d 100644 (file)
@@ -1,3 +1,8 @@
+2014-11-18  Maciej W. Rozycki  <macro@codesourcery.com>
+
+       * gcc/config/mips/mips.md (*jump_absolute): Use a branch when in
+       range, a jump otherwise.
+
 2014-11-18  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
 
        * config/arm/cortex-a15-neon.md (cortex_a15_vfp_to_from_gp):
index 647bf853c222323b64a6eb68da82307f13d209a3..6781a0088063581e5fd2ced1da320c9779e2a7a6 100644 (file)
        (label_ref (match_operand 0)))]
   "!TARGET_MIPS16 && TARGET_ABSOLUTE_JUMPS"
 {
-  /* Use a branch for microMIPS.  The assembler will choose
-     a 16-bit branch, a 32-bit branch, or a 32-bit jump.  */
-  if (TARGET_MICROMIPS && !TARGET_ABICALLS_PIC2)
+  if (get_attr_length (insn) <= 8)
     return "%*b\t%l0%/";
   else
     return MIPS_ABSOLUTE_JUMP ("%*j\t%l0%/");
 }
-  [(set_attr "type" "jump")])
+  [(set_attr "type" "branch")])
 
 (define_insn "*jump_pic"
   [(set (pc)