Commit 0f0cf376 authored by Christoph Mallon's avatar Christoph Mallon
Browse files

amd64: Correct wrong op_mode specification of xor_0 and xorpd_0.

This removes the special cases in amd64_has_addr_attr(), which corrected for the wrong op_mode.
parent 8fe77754
......@@ -38,12 +38,10 @@ static inline bool amd64_has_binop_attr(const ir_node *node)
static inline bool amd64_has_addr_attr(const ir_node *node)
{
const amd64_attr_t *attr = get_amd64_attr_const(node);
return (amd64_has_binop_attr(node)
return amd64_has_binop_attr(node)
|| attr->op_mode == AMD64_OP_ADDR
|| attr->op_mode == AMD64_OP_REG
|| attr->op_mode == AMD64_OP_IMM32)
&& !is_amd64_xor_0(node)
&& !is_amd64_xorpd_0(node);
|| attr->op_mode == AMD64_OP_IMM32;
}
static inline amd64_addr_attr_t *get_amd64_addr_attr(ir_node *node)
......
......@@ -335,7 +335,7 @@ xor_0 => {
irn_flags => [ "modify_flags", "rematerializable" ],
out_reqs => [ "gp", "flags" ],
outs => [ "res", "flags" ],
fixed => "amd64_op_mode_t op_mode = AMD64_OP_REG_REG;",
fixed => "amd64_op_mode_t op_mode = AMD64_OP_NONE;",
emit => "xorl %3D0, %3D0",
},
......@@ -515,7 +515,7 @@ xorpd_0 => {
irn_flags => [ "rematerializable" ],
out_reqs => [ "xmm" ],
outs => [ "res" ],
fixed => "amd64_op_mode_t op_mode = AMD64_OP_REG_REG;",
fixed => "amd64_op_mode_t op_mode = AMD64_OP_NONE;",
emit => "xorpd %^D0, %^D0",
},
......
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