aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@libertysurf.fr>2003-10-01 08:08:35 +0200
committerEric Botcazou <ebotcazou@gcc.gnu.org>2003-10-01 06:08:35 +0000
commit8ee37f152b5d78c349a58d1d0fc9046f4fcdb01f (patch)
tree16095f9694336fb55ffb30112445294e7c0c59e7
parented80cd6809e600cf021fc66cbc1d5fa5c682cab7 (diff)
downloadgcc-8ee37f152b5d78c349a58d1d0fc9046f4fcdb01f.zip
gcc-8ee37f152b5d78c349a58d1d0fc9046f4fcdb01f.tar.gz
gcc-8ee37f152b5d78c349a58d1d0fc9046f4fcdb01f.tar.bz2
re PR rtl-optimization/11753 (%o7 register being used immediately in the delay slot before a call with -O2)
PR optimization/11753 * config/sparc/sparc.md (length attribute) [fcc branch]: Add 1 to the length in the non-V9 case. From-SVN: r71968
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/sparc/sparc.md8
2 files changed, 12 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index e2b09d7..c1f67d5 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2003-10-01 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ PR optimization/11753
+ * config/sparc/sparc.md (length attribute) [fcc branch]: Add 1 to
+ the length in the non-V9 case.
+
2003-09-30 Richard Henderson <rth@redhat.com>
* dwarf2out.c (expand_builtin_init_dwarf_reg_sizes): Honor
diff --git a/gcc/config/sparc/sparc.md b/gcc/config/sparc/sparc.md
index a987041..6f2ebff 100644
--- a/gcc/config/sparc/sparc.md
+++ b/gcc/config/sparc/sparc.md
@@ -155,8 +155,12 @@
(eq_attr "branch_type" "fcc")
(if_then_else (match_operand 0 "fcc0_reg_operand" "")
(if_then_else (eq_attr "empty_delay_slot" "true")
- (const_int 2)
- (const_int 1))
+ (if_then_else (eq (symbol_ref "TARGET_V9") (const_int 0))
+ (const_int 3)
+ (const_int 2))
+ (if_then_else (eq (symbol_ref "TARGET_V9") (const_int 0))
+ (const_int 2)
+ (const_int 1)))
(if_then_else (lt (pc) (match_dup 2))
(if_then_else (lt (minus (match_dup 2) (pc)) (const_int 260000))
(if_then_else (eq_attr "empty_delay_slot" "true")