fix output constraints of ia32_IJmp
authorMatthias Braun <matze@braunis.de>
Mon, 1 Oct 2012 16:38:52 +0000 (18:38 +0200)
committerMatthias Braun <matze@braunis.de>
Mon, 29 Oct 2012 16:48:55 +0000 (17:48 +0100)
ir/be/ia32/ia32_spec.pl
ir/be/ia32/ia32_transform.c

index 1340f04..bb66c8f 100644 (file)
@@ -1026,14 +1026,15 @@ Jmp => {
 IJmp => {
        state     => "pinned",
        op_flags  => [ "cfopcode", "unknown_jump" ],
-       reg_req   => { in => [ "gp", "gp", "none", "gp" ] },
+       reg_req   => { in => [ "gp", "gp", "none", "gp" ],
+                      out => [ "none", "flags", "none" ] },
        ins       => [ "base", "index", "mem", "target" ],
+       outs      => [ "jmp", "flags", "M" ],
        am        => "source,unary",
        emit      => 'jmp %*AS3',
        latency   => 1,
        units     => [ "BRANCH" ],
        mode      => "mode_X",
-       init_attr => "info->out_infos = NULL;", # XXX ugly hack for out requirements
 },
 
 Const => {
index f8ff5ee..6e986f7 100644 (file)
@@ -4115,7 +4115,7 @@ static ir_node *gen_IJmp(ir_node *node)
                        match_am | match_immediate | match_upconv);
 
        new_node = new_bd_ia32_IJmp(dbgi, new_block, addr->base, addr->index,
-                       addr->mem, am.new_op2);
+                                   addr->mem, am.new_op2);
        set_am_attributes(new_node, &am);
        SET_IA32_ORIG_NODE(new_node, node);