OSDN Git Service

* config/i386/i386.md (leave, leave_rex64): Have RTL reflect what
authorkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 22 Nov 2001 11:56:35 +0000 (11:56 +0000)
committerkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 22 Nov 2001 11:56:35 +0000 (11:56 +0000)
insn actually does.

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

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

index c95fbdf..685ef9a 100644 (file)
@@ -1,3 +1,8 @@
+Thu Nov 22 06:49:14 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * config/i386/i386.md (leave, leave_rex64): Have RTL reflect what
+       insn actually does.
+
 2001-11-22  Nick Clifton  <nickc@cambridge.redhat.com>
 
        * doc/invoke.texi (M32R/D Option Summary): Document -m32r switch.
index d7ab20f..89f5b50 100644 (file)
   "ix86_expand_epilogue (2); DONE;")
 
 (define_insn "leave"
-  [(set (reg:SI 7) (reg:SI 6))
-   (set (reg:SI 6) (mem:SI (pre_dec:SI (reg:SI 7))))
+  [(set (reg:SI 7) (plus:SI (reg:SI 6) (const_int 4)))
+   (set (reg:SI 6) (mem:SI (reg:SI 7)))
    (clobber (mem:BLK (scratch)))]
   "!TARGET_64BIT"
   "leave"
    (set_attr "ppro_uops" "few")])
 
 (define_insn "leave_rex64"
-  [(set (reg:DI 7) (reg:DI 6))
-   (set (reg:DI 6) (mem:DI (pre_dec:DI (reg:DI 7))))
+  [(set (reg:DI 7) (plus:DI (reg:DI 6) (const_int 4)))
+   (set (reg:DI 6) (mem:DI (reg:DI 7)))
    (clobber (mem:BLK (scratch)))]
   "TARGET_64BIT"
   "leave"