diff options
author | echristo <echristo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-05-03 22:28:55 +0000 |
---|---|---|
committer | echristo <echristo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-05-03 22:28:55 +0000 |
commit | 60a3b251be656c1e31029ba32be3b4ac8924fb5c (patch) | |
tree | e7332c9dac54febbc2a966f7fc1d4c30a7d724f5 /gcc | |
parent | 15092b28dccf1a8abc077ac3998e1479984c7935 (diff) | |
download | ppe42-gcc-60a3b251be656c1e31029ba32be3b4ac8924fb5c.tar.gz ppe42-gcc-60a3b251be656c1e31029ba32be3b4ac8924fb5c.zip |
2004-05-03 Eric Christopher <echristo@redhat.com>
* config/mips/mips.md: Fix branch length attribute definition.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@81457 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/config/mips/mips.md | 11 |
2 files changed, 12 insertions, 7 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 155888f8a78..ef26693da65 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2004-05-03 Eric Christopher <echristo@redhat.com> + + * config/mips/mips.md: Fix branch length attribute definition. + 2004-05-03 Aldy Hernandez <aldyh@redhat.com> * config.gcc: Remove --enable-altivec support. @@ -138,9 +142,9 @@ * config/alpha/alpha.c (alpha_rtx_costs): Fix shiftadd costs. 2004-05-01 Ulrich Weigand <uweigand@de.ibm.com> - + PR middle-end/15054 - * expr.c (expand_expr_real): Do not call preserve_temp_slots + * expr.c (expand_expr_real): Do not call preserve_temp_slots on a TARGET_EXPR temp. * function.c (assign_stack_temp_for_type): Set 'keep' flag for TARGET_EXPR temp slots. diff --git a/gcc/config/mips/mips.md b/gcc/config/mips/mips.md index 6b9316d6fb9..0469d4a3469 100644 --- a/gcc/config/mips/mips.md +++ b/gcc/config/mips/mips.md @@ -168,11 +168,12 @@ ;; Note that this value does not account for the delay slot ;; instruction, whose length is added separately. If the RTL ;; pattern has no explicit delay slot, mips_adjust_insn_length - ;; will add the length of the implicit nop. + ;; will add the length of the implicit nop. The values for + ;; forward and backward branches will be different as well. (eq_attr "type" "branch") - (cond [(lt (abs (minus (match_dup 1) (plus (pc) (const_int 4)))) - (const_int 131072)) - (const_int 4) + (cond [(and (le (minus (match_dup 1) (pc)) (const_int 131064)) + (le (minus (pc) (match_dup 1)) (const_int 131068))) + (const_int 4) (ne (symbol_ref "flag_pic") (const_int 0)) (const_int 24) ] (const_int 12)) @@ -6143,7 +6144,7 @@ sra\t%M0,%M1,%2\n\ ;; to make it simple enough for combine to understand. ;; ;; The length here is the worst case: the length of the split version -;; will be more accurate. +;; will be more accurate. (define_insn_and_split "" [(set (match_operand:SI 0 "register_operand" "=d") (lshiftrt:SI (match_operand:SI 1 "memory_operand" "m") |