Commit c5940669 authored by Christoph Mallon's avatar Christoph Mallon
Browse files

amd64: Remove unnecessary Projs from movd_gp_xmm and movd_xmm_gp.

They only have one result.
This also resolves the harmless typo, that they used each others Proj enums.
parent 1325e154
......@@ -548,6 +548,7 @@ movd_xmm_gp => {
outs => [ "res" ],
in_reqs => [ "xmm" ],
out_reqs => [ "gp" ],
mode => $mode_gp,
attr_type => "amd64_addr_attr_t",
attr => "amd64_insn_mode_t insn_mode, amd64_op_mode_t op_mode, amd64_addr_t addr",
emit => "movd %S0, %D0"
......@@ -559,6 +560,7 @@ movd_gp_xmm => {
outs => [ "res" ],
in_reqs => [ "gp" ],
out_reqs => [ "xmm" ],
mode => $mode_xmm,
attr_type => "amd64_addr_attr_t",
attr => "amd64_insn_mode_t insn_mode, amd64_op_mode_t op_mode, amd64_addr_t addr",
emit => "movd %S0, %D0"
......
......@@ -2553,13 +2553,9 @@ static ir_node *gen_Bitcast(ir_node *node)
};
if (src_float && !dst_float) {
ir_node * new_node = new_bd_amd64_movd_xmm_gp(
dbgi, be_block, be_op, INSN_MODE_64, AMD64_OP_REG, no_addr);
return be_new_Proj(new_node, pn_amd64_movd_gp_xmm_res);
return new_bd_amd64_movd_xmm_gp(dbgi, be_block, be_op, INSN_MODE_64, AMD64_OP_REG, no_addr);
} else if (!src_float && dst_float) {
ir_node * new_node = new_bd_amd64_movd_gp_xmm(
dbgi, be_block, be_op, INSN_MODE_64, AMD64_OP_REG, no_addr);
return be_new_Proj(new_node, pn_amd64_movd_xmm_gp_res);
return new_bd_amd64_movd_gp_xmm(dbgi, be_block, be_op, INSN_MODE_64, AMD64_OP_REG, no_addr);
} else {
panic("Unhandled bitcast modes: %+F to %+F\n", src_mode, dst_mode);
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment