aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorEric Christopher <echristo@redhat.com>2004-05-03 22:28:55 +0000
committerEric Christopher <echristo@gcc.gnu.org>2004-05-03 22:28:55 +0000
commit03a53989d1a01b0e142c6803bc9146b0d8300074 (patch)
treee7332c9dac54febbc2a966f7fc1d4c30a7d724f5 /gcc
parent318fec6d1f9835b32a17e0ff0ea8f62e95b95815 (diff)
downloadgcc-03a53989d1a01b0e142c6803bc9146b0d8300074.zip
gcc-03a53989d1a01b0e142c6803bc9146b0d8300074.tar.gz
gcc-03a53989d1a01b0e142c6803bc9146b0d8300074.tar.bz2
mips.md: Fix branch length attribute definition.
2004-05-03 Eric Christopher <echristo@redhat.com> * config/mips/mips.md: Fix branch length attribute definition. From-SVN: r81457
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/config/mips/mips.md11
2 files changed, 12 insertions, 7 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 155888f..ef26693 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 6b9316d..0469d4a 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")