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) ...@@ -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) static inline bool amd64_has_addr_attr(const ir_node *node)
{ {
const amd64_attr_t *attr = get_amd64_attr_const(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_ADDR
|| attr->op_mode == AMD64_OP_REG || attr->op_mode == AMD64_OP_REG
|| attr->op_mode == AMD64_OP_IMM32) || attr->op_mode == AMD64_OP_IMM32;
&& !is_amd64_xor_0(node)
&& !is_amd64_xorpd_0(node);
} }
static inline amd64_addr_attr_t *get_amd64_addr_attr(ir_node *node) static inline amd64_addr_attr_t *get_amd64_addr_attr(ir_node *node)
......
...@@ -335,7 +335,7 @@ xor_0 => { ...@@ -335,7 +335,7 @@ xor_0 => {
irn_flags => [ "modify_flags", "rematerializable" ], irn_flags => [ "modify_flags", "rematerializable" ],
out_reqs => [ "gp", "flags" ], out_reqs => [ "gp", "flags" ],
outs => [ "res", "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", emit => "xorl %3D0, %3D0",
}, },
...@@ -515,7 +515,7 @@ xorpd_0 => { ...@@ -515,7 +515,7 @@ xorpd_0 => {
irn_flags => [ "rematerializable" ], irn_flags => [ "rematerializable" ],
out_reqs => [ "xmm" ], out_reqs => [ "xmm" ],
outs => [ "res" ], 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", emit => "xorpd %^D0, %^D0",
}, },
......
Supports Markdown
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