Commit 664cda3b authored by Matthias Braun's avatar Matthias Braun
Browse files

amd64: fix wrong register requirements for float ops with address mode

parent a7563a6c
......@@ -167,12 +167,6 @@ static const arch_register_req_t *xmm_reg_mem_reqs[] = {
&arch_no_requirement,
};
static const arch_register_req_t *xmm_xmm_mem_reqs[] = {
&amd64_requirement_xmm,
&amd64_requirement_xmm,
&arch_no_requirement,
};
static const arch_register_req_t *reg_reg_reg_mem_reqs[] = {
&amd64_requirement_gp,
&amd64_requirement_gp,
......@@ -187,13 +181,6 @@ static const arch_register_req_t *xmm_reg_reg_mem_reqs[] = {
&arch_no_requirement,
};
static const arch_register_req_t *xmm_xmm_xmm_mem_reqs[] = {
&amd64_requirement_xmm,
&amd64_requirement_xmm,
&amd64_requirement_xmm,
&arch_no_requirement,
};
static const arch_register_req_t *reg_flags_reqs[] = {
&amd64_requirement_gp,
&amd64_requirement_flags,
......@@ -699,10 +686,10 @@ static void match_binop(amd64_args_t *args, ir_node *block,
args->reqs = use_xmm ? xmm_mem_reqs : reg_mem_reqs;
if (addr->base_input != NO_INPUT && addr->index_input != NO_INPUT) {
args->reqs = use_xmm ? xmm_xmm_xmm_mem_reqs
args->reqs = use_xmm ? xmm_reg_reg_mem_reqs
: reg_reg_reg_mem_reqs;
} else if (addr->base_input != NO_INPUT || addr->index_input != NO_INPUT) {
args->reqs = use_xmm ? xmm_xmm_mem_reqs
args->reqs = use_xmm ? xmm_reg_mem_reqs
: reg_reg_mem_reqs;
}
ir_node *new_mem = be_transform_node(get_Load_mem(load));
......
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