]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
i386.md (leave, [...]): Have RTL reflect what insn actually does.
authorRichard Kenner <kenner@vlsi1.ultra.nyu.edu>
Thu, 22 Nov 2001 11:56:35 +0000 (11:56 +0000)
committerRichard Kenner <kenner@gcc.gnu.org>
Thu, 22 Nov 2001 11:56:35 +0000 (06:56 -0500)
* config/i386/i386.md (leave, leave_rex64): Have RTL reflect what
insn actually does.

From-SVN: r47264

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

index c95fbdffbdae596f95f9a1f9a87e8954b6fac85e..685ef9a78b315ce52fbebed83e00cc34065185b0 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 d7ab20f26b7d58c9ad482ef2cbd7a3f7328c1e43..89f5b5059b97472e749974720a8ee7202fd67fcc 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"