); # %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";
+
#--------------------------------------------------#
# _ #
# (_) #
"op_flags" => "L|F",
"state" => "exc_pinned",
"comment" => "construct Store: Store (byte) (ptr, val, mem) = ST ptr,val",
- "reg_req" => { "in" => [ "!r0", "gp", "none" ] },
+ "reg_req" => { "in" => [ "!r0", "gp", "none" ], "out" => [ "none" ] },
"emit" => '. stb %S1, %O(%S0)',
"cmp_attr" =>
'
"op_flags" => "L|F",
"state" => "exc_pinned",
"comment" => "construct Store: Store (halfword) (ptr, val, mem) = ST ptr,val",
- "reg_req" => { "in" => [ "!r0", "gp", "none" ] },
+ "reg_req" => { "in" => [ "!r0", "gp", "none" ], "out" => [ "none" ] },
"emit" => '. sth %S1, %O(%S0)',
"cmp_attr" =>
'
"op_flags" => "L|F",
"state" => "exc_pinned",
"comment" => "construct Store: Store (word) (ptr, val, mem) = ST ptr,val",
- "reg_req" => { "in" => [ "!r0", "gp", "none" ] },
+ "reg_req" => { "in" => [ "!r0", "gp", "none" ], "out" => [ "none" ] },
"emit" => '. stw %S1, %O(%S0)',
"cmp_attr" =>
'
"op_flags" => "L|F",
"state" => "exc_pinned",
"comment" => "construct Store (double): Store(ptr, val, mem) = ST ptr,val",
- "reg_req" => { "in" => [ "!r0", "fp", "none" ] },
+ "reg_req" => { "in" => [ "!r0", "fp", "none" ], "out" => [ "none" ] },
"emit" => '. stfd %S1, %O(%S0)',
"cmp_attr" =>
'
"op_flags" => "L|F",
"state" => "exc_pinned",
"comment" => "construct Store (single): Store(ptr, val, mem) = ST ptr,val",
- "reg_req" => { "in" => [ "!r0", "fp", "none" ] },
+ "reg_req" => { "in" => [ "!r0", "fp", "none" ], "out" => [ "none" ] },
"emit" => '. stfs %S1, %O(%S0)',
"cmp_attr" =>
'