OSDN Git Service

* i386.md (*lea_0): Collapse addsi_0, addsi_lea_[123] into
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 25 Oct 1999 04:04:49 +0000 (04:04 +0000)
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 25 Oct 1999 04:04:49 +0000 (04:04 +0000)
        a single load-address pattern.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@30152 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/i386/i386.md

index dbf80de..b02d218 100644 (file)
@@ -1,3 +1,8 @@
+Sun Oct 24 21:02:46 1999  Richard Henderson  <rth@cygnus.com>
+
+       * i386.md (*lea_0): Collapse addsi_0, addsi_lea_[123] into
+       a single load-address pattern.
+
 Sun Oct 24 19:33:24 1999  Mark P. Mitchell  <mark@codesourcery.com>
 
        * haifa-sched.c (schedule_insns): Don't assign LUIDs differently
index e6c3ddc..7807b7b 100644 (file)
   ""
   "ix86_expand_binary_operator (PLUS, SImode, operands); DONE;")
 
-(define_insn "*addsi_0"
+(define_insn "*lea_0"
   [(set (match_operand:SI 0 "register_operand" "=r")
-       (plus:SI (match_operand:SI 1 "register_operand" "r")
-                (match_operand:SI 2 "nonmemory_operand" "rni")))]
+       (match_operand:SI 1 "address_operand" "p"))]
   ""
-  "*
-{
-  operands[1] = SET_SRC (PATTERN (insn));
-  return \"lea{l}\\t{%a1, %0|%0, %a1}\";
-}"
+  "lea{l}\\t{%a1, %0|%0, %a1}"
   [(set_attr "type" "lea")])
 
 (define_insn "*addsi_1"
   "add{l}\\t{%2, %0|%0, %2}"
   [(set_attr "type" "alu")])
 
-;; %%% Conditionally split these post-reload for better scheduling.
-(define_insn "*addsi_lea_1"
-  [(set (match_operand:SI 0 "register_operand" "=r")
-        (plus:SI (plus:SI (match_operand:SI 1 "register_operand" "r")
-                         (match_operand:SI 2 "register_operand" "%r"))
-                (match_operand:SI 3 "immediate_operand" "i")))]
-  ""
-  "*
-{
-  operands[1] = SET_SRC (PATTERN (insn));
-  return \"lea{l}\\t{%a1, %0|%0, %a1}\";
-}"
-  [(set_attr "type" "lea")])
-
-(define_insn "*addsi_lea_2"
-  [(set (match_operand:SI 0 "register_operand" "=r")
-        (plus:SI (mult:SI (match_operand:SI 1 "reg_no_sp_operand" "r")
-                         (match_operand:SI 2 "const248_operand" "I"))
-                (match_operand:SI 3 "nonmemory_operand" "ir")))]
-  ""
-  "*
-{
-  operands[1] = SET_SRC (PATTERN (insn));
-  return \"lea{l}\\t{%a1, %0|%0, %a1}\";
-}"
-  [(set_attr "type" "lea")])
-
-(define_insn "*addsi_lea_3"
-  [(set (match_operand:SI 0 "register_operand" "=r")
-        (plus:SI (plus:SI (mult:SI (match_operand:SI 1 "reg_no_sp_operand" "r")
-                                  (match_operand:SI 2 "const248_operand" "I"))
-                         (match_operand:SI 3 "register_operand" "%r"))
-                (match_operand:SI 4 "immediate_operand" "i")))]
-  ""
-  "*
-{
-  operands[1] = SET_SRC (PATTERN (insn));
-  return \"lea{l}\\t{%a1, %0|%0, %a1}\";
-}"
-  [(set_attr "type" "lea")])
-
 (define_expand "addhi3"
   [(parallel [(set (match_operand:HI 0 "general_operand" "")
                   (plus:HI (match_operand:HI 1 "nonimmediate_operand" "")