X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fppc32%2Fppc32_spec.pl;h=746958d58ff607b50d21b08d4a08cd55dd2337c7;hb=0dbcb1e61c854f22b44c06c226dc654b5e9ef97f;hp=424d9f9190200acc0ea7af9092824c8102ed124d;hpb=d11d8b4831db166f01b115a218e26e17091f898f;p=libfirm diff --git a/ir/be/ppc32/ppc32_spec.pl b/ir/be/ppc32/ppc32_spec.pl index 424d9f919..746958d58 100644 --- a/ir/be/ppc32/ppc32_spec.pl +++ b/ir/be/ppc32/ppc32_spec.pl @@ -22,11 +22,19 @@ $new_emit_syntax = 1; # { "type" => "type 2", "name" => "name 2" }, # ... # ], -# "comment" => "any comment for constructor", -# "reg_req" => { "in" => [ "reg_class|register" ], "out" => [ "reg_class|register|in_rX" ] }, -# "cmp_attr" => "c source code for comparing node attributes", -# "emit" => "emit code with templates", -# "rd_constructor" => "c source code which constructs an ir_node" +# comment => "any comment for constructor", +# reg_req => { "in" => [ "reg_class|register" ], "out" => [ "reg_class|register|in_rX" ] }, +# cmp_attr => "c source code for comparing node attributes", +# outs => { "out1", "out2" } # optional, creates pn_op_out1, ... consts +# ins => { "in1", "in2" } # optional, creates n_op_in1, ... consts +# mode => "mode_Iu" # optional, predefines the mode +# emit => "emit code with templates", +# attr => "attitional attribute arguments for constructor", +# init_attr => "emit attribute initialization template", +# rd_constructor => "c source code which constructs an ir_node", +# hash_func => "name of the hash function for this operation", +# latency => "latency of this operation (can be float)" +# attr_type => "name of the attribute struct", # }, # # ... # (all nodes you need to describe) @@ -183,15 +191,15 @@ $new_emit_syntax = 1; ); # %reg_classes %emit_templates = ( - S0 => "${arch}_emit_source_register(env, node, 0);", - S1 => "${arch}_emit_source_register(env, node, 1);", - S2 => "${arch}_emit_source_register(env, node, 2);", - D0 => "${arch}_emit_dest_register(env, node, 0);", - D1 => "${arch}_emit_dest_register(env, node, 1);", - D2 => "${arch}_emit_dest_register(env, node, 2);", - O => "${arch}_emit_offset(env, node);", - C => "${arch}_emit_immediate(env, node);", - RLWIMI => "${arch}_emit_rlwimi_helper(env, node);", + S0 => "${arch}_emit_source_register(node, 0);", + S1 => "${arch}_emit_source_register(node, 1);", + S2 => "${arch}_emit_source_register(node, 2);", + D0 => "${arch}_emit_dest_register(node, 0);", + D1 => "${arch}_emit_dest_register(node, 1);", + D2 => "${arch}_emit_dest_register(node, 2);", + O => "${arch}_emit_offset(node);", + C => "${arch}_emit_immediate(node);", + RLWIMI => "${arch}_emit_rlwimi_helper(node);", ); $default_cmp_attr = "NULL";