diff options
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/i386/i386.md | 8 |
2 files changed, 9 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c95fbdf..685ef9a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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. diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md index d7ab20f..89f5b50 100644 --- a/gcc/config/i386/i386.md +++ b/gcc/config/i386/i386.md @@ -13714,8 +13714,8 @@ "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" @@ -13727,8 +13727,8 @@ (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" |