);
%custom_irn_flags = (
- modifies_flags => "sparc_arch_irn_flag_modifies_flags",
- modifies_fp_flags => "sparc_arch_irn_flag_modifies_fp_flags",
+ modifies_flags => "(arch_irn_flags_t)sparc_arch_irn_flag_modifies_flags",
+ modifies_fp_flags => "(arch_irn_flags_t)sparc_arch_irn_flag_modifies_fp_flags",
);
my %cmp_operand_constructors = (
Save => {
emit => '. save %S0, %R1I, %D0',
outs => [ "stack" ],
+ ins => [ "stack" ],
constructors => {
imm => {
attr => "ir_entity *immediate_entity, int32_t immediate_value",
ins => [ "stack", "increment" ],
}
},
+ mode => $mode_gp,
},
Restore => {
emit => '. restore %S0, %R1I, %D0',
outs => [ "stack" ],
+ ins => [ "stack" ],
constructors => {
imm => {
attr => "ir_entity *immediate_entity, int32_t immediate_value",
ins => [ "stack", "increment" ],
}
},
+ mode => $mode_gp,
},
RestoreZero => {
emit => '. restore',
- outs => [ ],
- ins => [ ],
- mode => "mode_T",
+ reg_req => { in => [ "frame_pointer" ], out => [ "sp:I|S" ] },
+ ins => [ "frame_pointer" ],
+ outs => [ "stack" ],
+ mode => $mode_gp,
},
SubSP => {
state => "pinned",
mode => "mode_T",
attr_type => "sparc_jmp_cond_attr_t",
- attr => "pn_Cmp pnc, bool is_unsigned",
- init_attr => "\tinit_sparc_jmp_cond_attr(res, pnc, is_unsigned);",
+ attr => "ir_relation relation, bool is_unsigned",
+ init_attr => "\tinit_sparc_jmp_cond_attr(res, relation, is_unsigned);",
reg_req => { in => [ "flags" ], out => [ "none", "none" ] },
},
state => "pinned",
mode => "mode_T",
attr_type => "sparc_jmp_cond_attr_t",
- attr => "pn_Cmp pnc",
- init_attr => "\tinit_sparc_jmp_cond_attr(res, pnc, false);",
+ attr => "ir_relation relation",
+ init_attr => "\tinit_sparc_jmp_cond_attr(res, relation, false);",
reg_req => { in => [ "fpflags" ], out => [ "none", "none" ] },
},