aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorStan Cox <coxs@gnu.org>1996-05-31 21:14:51 +0000
committerStan Cox <coxs@gnu.org>1996-05-31 21:14:51 +0000
commitbca7cce204332f339ef61ce85076f3ef9b73ac1b (patch)
tree4a6c84c0e87a8dc0a5f90a1f23cb9ffe1fc43d69 /gcc
parentb1060ee3e313149d3509ad01ad42e2f6aac489e1 (diff)
downloadgcc-bca7cce204332f339ef61ce85076f3ef9b73ac1b.zip
gcc-bca7cce204332f339ef61ce85076f3ef9b73ac1b.tar.gz
gcc-bca7cce204332f339ef61ce85076f3ef9b73ac1b.tar.bz2
(epilogue_set_stack_ptr): New.
From-SVN: r12138
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config/i386/i386.md22
1 files changed, 14 insertions, 8 deletions
diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md
index 024b09b..303e99a 100644
--- a/gcc/config/i386/i386.md
+++ b/gcc/config/i386/i386.md
@@ -6066,6 +6066,20 @@
DONE;
}")
+(define_insn "epilogue_set_stack_ptr"
+ [(set (reg:SI 7) (reg:SI 6))
+ (clobber (reg:SI 6))]
+ ""
+ "*
+{
+ rtx xops [2];
+
+ xops[0] = frame_pointer_rtx;
+ xops[1] = stack_pointer_rtx;
+ output_asm_insn (AS2 (mov%L0,%0,%1), xops);
+ RET;
+}")
+
(define_insn "leave"
[(const_int 2)]
""
@@ -6078,14 +6092,6 @@
""
"*
{
-#if 0
- rtx xops [2];
-
- xops[0] = frame_pointer_rtx;
- xops[1] = stack_pointer_rtx;
- if (operands[0] == frame_pointer_rtx)
- output_asm_insn (AS2 (mov%L0,%0,%1), xops);
-#endif
output_asm_insn (AS1 (pop%L0,%P0), operands);
RET;
}")