config/sh/sh.md ("length"): Increase branch length when SH1 pic code to 18:
authorJ"orn Rennecke <joern.rennecke@superh.com>
Wed, 1 Sep 2004 13:43:40 +0000 (13:43 +0000)
committerNick Clifton <nickc@gcc.gnu.org>
Wed, 1 Sep 2004 13:43:40 +0000 (13:43 +0000)
12 bytes of instructions, 4 byte for the constant, 2 byte for aligning the
constant.

Co-Authored-By: Nick Clifton <nickc@redhat.com>
From-SVN: r86886

gcc/ChangeLog
gcc/config/sh/sh.md

index 6846701f1c3f16771d04d402ad1ca19dd2246250..606a21475483ba38218bda2ed0f794284dddd955 100644 (file)
@@ -1,3 +1,10 @@
+2004-09-01  J"orn Rennecke <joern.rennecke@superh.com>
+           Nick Clifton  <nickc@redhat.com>
+
+       * config/sh/sh.md ("length"): Increase branch length when
+       SH1 pic code to 18: 12 bytes of instructions, 4 byte for the
+       constant, 2 byte for aligning the constant.
+
 2004-09-01  Richard Earnshaw  <rearnsha@arm.com>
 
        * arm/arm-cores.def (ARM_CORE): Add new field for the real name of the
index a21a2a4b869790a21fde415e4dddd61e8bc9fc70..31e05a2fead98988a10e3e5c850d66de9069fcab 100644 (file)
         (cond [(eq_attr "med_branch_p" "yes")
                (const_int 2)
                (and (eq (symbol_ref "GET_CODE (prev_nonnote_insn (insn))")
-                        (symbol_ref "INSN"))
-                    (eq (symbol_ref "INSN_CODE (prev_nonnote_insn (insn))")
-                        (symbol_ref "code_for_indirect_jump_scratch")))
-               (if_then_else (eq_attr "braf_branch_p" "yes")
-                             (const_int 6)
-                             (const_int 10))
+                         (symbol_ref "INSN"))
+                     (eq (symbol_ref "INSN_CODE (prev_nonnote_insn (insn))")
+                         (symbol_ref "code_for_indirect_jump_scratch")))
+                (cond [(eq_attr "braf_branch_p" "yes")
+                       (const_int 6)
+                       (eq (symbol_ref "flag_pic") (const_int 0))
+                       (const_int 10)
+                       (ne (symbol_ref "TARGET_SH2") (const_int 0))
+                       (const_int 10)] (const_int 18))
                (eq_attr "braf_branch_p" "yes")
                (const_int 10)
 ;; ??? using pc is not computed transitively.