aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2002-02-26 17:52:18 -0800
committerRichard Henderson <rth@gcc.gnu.org>2002-02-26 17:52:18 -0800
commitd699058e0acb8582badd4444fed31ed9126c745a (patch)
treee89eca2978666490e01d2b9e38b9dc7d08a1fe02 /gcc
parenteadccfbb857dfdac6c286b38bc500154785c5982 (diff)
downloadgcc-d699058e0acb8582badd4444fed31ed9126c745a.zip
gcc-d699058e0acb8582badd4444fed31ed9126c745a.tar.gz
gcc-d699058e0acb8582badd4444fed31ed9126c745a.tar.bz2
* config/alpha/alpha.md (ashldi_se): Re-enable.
From-SVN: r50083
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/config/alpha/alpha.md31
2 files changed, 18 insertions, 17 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index dedadf2..84085d3 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,9 @@
2002-02-26 Richard Henderson <rth@redhat.com>
+ * config/alpha/alpha.md (ashldi_se): Re-enable.
+
+2002-02-26 Richard Henderson <rth@redhat.com>
+
* config/alpha/alpha.c (alpha_encode_section_info): Examine
MODULE_LOCAL_P; improve commentary.
diff --git a/gcc/config/alpha/alpha.md b/gcc/config/alpha/alpha.md
index fbbac9e..fdbdf08 100644
--- a/gcc/config/alpha/alpha.md
+++ b/gcc/config/alpha/alpha.md
@@ -1597,23 +1597,20 @@ fadd,fmul,fcpys,fdiv,fsqrt,misc,mvi,ftoi,itof,multi"
}
[(set_attr "type" "iadd,shift")])
-;; ??? The following pattern is made by combine, but earlier phases
-;; (specifically flow) can't handle it. This occurs in jump.c. Deal
-;; with this in a better way at some point.
-;;(define_insn ""
-;; [(set (match_operand:DI 0 "register_operand" "=r")
-;; (sign_extend:DI
-;; (subreg:SI (ashift:DI (match_operand:DI 1 "reg_or_0_operand" "rJ")
-;; (match_operand:DI 2 "const_int_operand" "P"))
-;; 0)))]
-;; "INTVAL (operands[2]) >= 1 && INTVAL (operands[2]) <= 3"
-;;{
-;; if (operands[2] == const1_rtx)
-;; return "addl %r1,%r1,%0";
-;; else
-;; return "s%P2addl %r1,0,%0";
-;;}
-;; [(set_attr "type" "iadd")])
+(define_insn "*ashldi_se"
+ [(set (match_operand:DI 0 "register_operand" "=r")
+ (sign_extend:DI
+ (subreg:SI (ashift:DI (match_operand:DI 1 "reg_or_0_operand" "rJ")
+ (match_operand:DI 2 "const_int_operand" "P"))
+ 0)))]
+ "INTVAL (operands[2]) >= 1 && INTVAL (operands[2]) <= 3"
+{
+ if (operands[2] == const1_rtx)
+ return "addl %r1,%r1,%0";
+ else
+ return "s%P2addl %r1,0,%0";
+}
+ [(set_attr "type" "iadd")])
(define_insn "lshrdi3"
[(set (match_operand:DI 0 "register_operand" "=r")