From c7b212838659a9cf92e51a3a64283777ffd0eab2 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Christian=20W=C3=BCrdig?= Date: Wed, 18 Oct 2006 10:54:52 +0000 Subject: [PATCH] do not omit compare for PsiCondSet, some note scheduled in between could destroy flags --- ir/be/ia32/ia32_emitter.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/ir/be/ia32/ia32_emitter.c b/ir/be/ia32/ia32_emitter.c index a992cf1f7..3e4f53b22 100644 --- a/ir/be/ia32/ia32_emitter.c +++ b/ir/be/ia32/ia32_emitter.c @@ -1174,8 +1174,7 @@ static void Set_emitter(ir_node *irn, ir_mode *mode, ia32_emit_env_t *env) { lc_esnprintf(arg_env, cmd_buf, SNPRINTF_BUF_LEN, "ucomis%M %s", get_irn_n(irn, 2), ia32_emit_binop(irn, env)); } else if (is_ia32_PsiCondSet(irn)) { - /* omit compare because flags are already set by And/Or */ - snprintf(cmd_buf, SNPRINTF_BUF_LEN, " "); + lc_esnprintf(arg_env, cmd_buf, SNPRINTF_BUF_LEN, "cmp %1S, 0", irn); } else { assert(0 && "unsupported Set"); -- 2.20.1