Adapted to API
[libfirm] / ir / be / ia32 / ia32_spec.pl
index 16f925f..790f757 100644 (file)
@@ -722,7 +722,6 @@ $arch = "ia32";
   "state"    => "mem_pinned",
   "arity"    => "variable",
   "comment"  => "construct Call: Call(...)",
-  "emit"     => '. call %C',
   "args"     => [
                   { "type" => "int",        "name" => "n" },
                   { "type" => "ir_node **", "name" => "in" }
@@ -740,7 +739,6 @@ $arch = "ia32";
   "state"    => "pinned",
   "arity"    => "variable",
   "comment"  => "construct Return: Return(...)",
-  "emit"     => '. ret',
   "args"     => [
                   { "type" => "int",        "name" => "n" },
                   { "type" => "ir_node **", "name" => "in" }
@@ -749,7 +747,24 @@ $arch = "ia32";
 "  if (!op_ia32_Return) assert(0);
   return new_ir_node(db, irg, block, op_ia32_Return, mode_X, n, in);
 "
-}
+},
+
+# M/Alloc
+
+"Alloca" => {
+  "op_flags" => "L|F",
+  "state"    => "pinned",
+  "arity"    => "2",
+  "comment"  => "construct Alloca: allocate memory on Stack",
+  "reg_req"  => { "in" => [ "general_purpose" ], "out" => [ "general_purpose" ] }
+},
 
+"Alloca_i" => {
+  "op_flags" => "L|F",
+  "state"    => "pinned",
+  "arity"    => "1",
+  "comment"  => "construct Alloca: allocate memory on Stack",
+  "reg_req"  => { "out" => [ "general_purpose" ] }
+}
 
 ); # end of %nodes