From c3511d04b8ec9e6acbfbe66c01e0af925707f8b2 Mon Sep 17 00:00:00 2001 From: Matthias Braun Date: Tue, 11 Mar 2008 15:34:50 +0000 Subject: [PATCH] we do need stack:I|S... [r18069] --- ir/be/ia32/ia32_spec.pl | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/ir/be/ia32/ia32_spec.pl b/ir/be/ia32/ia32_spec.pl index dc349db8a..f3fe10800 100644 --- a/ir/be/ia32/ia32_spec.pl +++ b/ir/be/ia32/ia32_spec.pl @@ -75,7 +75,7 @@ $arch = "ia32"; # One can also annotate some flags for each out, additional to irn_flags. # They are separated from name with a colon ':', and concatenated by pipe '|' # Only I and S are available at the moment (same meaning as in irn_flags). -# example: [ "frame:I", "stack:S", "M" ] +# example: [ "frame:I", "stack:I|S", "M" ] # # comment: OPTIONAL comment for the node constructor # @@ -1369,7 +1369,7 @@ Push => { reg_req => { in => [ "gp", "gp", "none", "esp", "gp" ], out => [ "esp", "none" ] }, ins => [ "base", "index", "mem", "val", "stack" ], emit => '. push%M %unop4', - outs => [ "stack:S", "M" ], + outs => [ "stack:I|S", "M" ], am => "source,binary", latency => 2, units => [ "GP" ], @@ -1379,7 +1379,7 @@ Pop => { state => "exc_pinned", reg_req => { in => [ "gp", "gp", "none", "esp" ], out => [ "gp", "none", "none", "esp" ] }, emit => '. pop%M %DAM0', - outs => [ "res", "M", "unused", "stack:S" ], + outs => [ "res", "M", "unused", "stack:I|S" ], ins => [ "base", "index", "mem", "stack" ], am => "dest,unary", latency => 3, # Pop is more expensive than Push on Athlon @@ -1389,7 +1389,7 @@ Pop => { Enter => { reg_req => { in => [ "esp" ], out => [ "ebp", "esp", "none" ] }, emit => '. enter', - outs => [ "frame:I", "stack:S", "M" ], + outs => [ "frame:I", "stack:I|S", "M" ], latency => 15, units => [ "GP" ], }, @@ -1397,7 +1397,7 @@ Enter => { Leave => { reg_req => { in => [ "esp", "ebp" ], out => [ "ebp", "esp" ] }, emit => '. leave', - outs => [ "frame:I", "stack:S" ], + outs => [ "frame:I", "stack:I|S" ], latency => 3, units => [ "GP" ], }, @@ -1410,7 +1410,7 @@ AddSP => { am => "source,binary", emit => '. addl %binop', latency => 1, - outs => [ "stack:S", "M" ], + outs => [ "stack:I|S", "M" ], units => [ "GP" ], modified_flags => $status_flags }, @@ -1424,7 +1424,7 @@ SubSP => { emit => ". subl %binop\n". ". movl %%esp, %D1", latency => 2, - outs => [ "stack:S", "addr", "M" ], + outs => [ "stack:I|S", "addr", "M" ], units => [ "GP" ], modified_flags => $status_flags }, -- 2.20.1