From cd07ee0e8a9a4294f3de5f02b899c88661af8e34 Mon Sep 17 00:00:00 2001 From: Matthias Braun Date: Fri, 15 Apr 2011 13:02:31 +0200 Subject: [PATCH] fix cmp_ASM_attr --- ir/ir/iropt.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/ir/ir/iropt.c b/ir/ir/iropt.c index 03eeb57ad..a201855ac 100644 --- a/ir/ir/iropt.c +++ b/ir/ir/iropt.c @@ -6021,29 +6021,31 @@ static int node_cmp_attr_ASM(const ir_node *a, const ir_node *b) /* Should we really check the constraints here? Should be better, but is strange. */ n = get_ASM_n_input_constraints(a); if (n != get_ASM_n_input_constraints(b)) - return 0; + return 1; ca = get_ASM_input_constraints(a); cb = get_ASM_input_constraints(b); for (i = 0; i < n; ++i) { - if (ca[i].pos != cb[i].pos || ca[i].constraint != cb[i].constraint) + if (ca[i].pos != cb[i].pos || ca[i].constraint != cb[i].constraint + || ca[i].mode != cb[i].mode) return 1; } n = get_ASM_n_output_constraints(a); if (n != get_ASM_n_output_constraints(b)) - return 0; + return 1; ca = get_ASM_output_constraints(a); cb = get_ASM_output_constraints(b); for (i = 0; i < n; ++i) { - if (ca[i].pos != cb[i].pos || ca[i].constraint != cb[i].constraint) + if (ca[i].pos != cb[i].pos || ca[i].constraint != cb[i].constraint + || ca[i].mode != cb[i].mode) return 1; } n = get_ASM_n_clobbers(a); if (n != get_ASM_n_clobbers(b)) - return 0; + return 1; cla = get_ASM_clobbers(a); clb = get_ASM_clobbers(b); -- 2.20.1