X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fsparc%2Fsparc_spec.pl;h=332c25325e01cf8ea764a9553448c2858b837a6b;hb=e6656be7cd30e7727e4dca7e8bdd8178562dbc67;hp=41330e88a229fdb04fdd9b78f0aab68c6781432a;hpb=8a1c0ad68eaba7cecab7a3abd552681ad893de3e;p=libfirm diff --git a/ir/be/sparc/sparc_spec.pl b/ir/be/sparc/sparc_spec.pl index 41330e88a..332c25325 100644 --- a/ir/be/sparc/sparc_spec.pl +++ b/ir/be/sparc/sparc_spec.pl @@ -144,8 +144,8 @@ $default_copy_attr = "sparc_copy_attr"; ); %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 = ( @@ -305,6 +305,7 @@ St => { Save => { emit => '. save %S0, %R1I, %D0', outs => [ "stack" ], + ins => [ "stack" ], constructors => { imm => { attr => "ir_entity *immediate_entity, int32_t immediate_value", @@ -317,11 +318,13 @@ Save => { 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", @@ -334,13 +337,15 @@ Restore => { 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 => { @@ -373,8 +378,8 @@ Bicc => { 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" ] }, }, @@ -383,8 +388,8 @@ fbfcc => { 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" ] }, },