* config/alpha/alpha.md (ashldi_se): Re-enable.
authorRichard Henderson <rth@redhat.com>
Wed, 27 Feb 2002 01:52:18 +0000 (17:52 -0800)
committerRichard Henderson <rth@gcc.gnu.org>
Wed, 27 Feb 2002 01:52:18 +0000 (17:52 -0800)
From-SVN: r50083

gcc/ChangeLog
gcc/config/alpha/alpha.md

index dedadf2..84085d3 100644 (file)
@@ -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.
 
index fbbac9e..fdbdf08 100644 (file)
@@ -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")