OSDN Git Service

(ashrsi_31): New pattern.
authortege <tege@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 14 Dec 1995 23:08:23 +0000 (23:08 +0000)
committertege <tege@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 14 Dec 1995 23:08:23 +0000 (23:08 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10721 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/config/m68k/m68k.md

index 1f243ac..98d8602 100644 (file)
     FAIL;
 } ")
 
+;; On all 68k models, this makes faster code in a special case.
+
+(define_insn "ashrsi_31"
+  [(set (match_operand:SI 0 "register_operand" "=d")
+       (ashiftrt:SI (match_operand:SI 1 "register_operand" "0")
+                    (const_int 31)))]
+  ""
+  "*
+{
+  return \"add%.l %0,%0\;subx%.l %0,%0\";
+}")
+
 (define_insn "ashrsi3"
   [(set (match_operand:SI 0 "register_operand" "=d")
        (ashiftrt:SI (match_operand:SI 1 "register_operand" "0")