From 4f67f5ba5f49cab46c94b121041ada16c240e7d0 Mon Sep 17 00:00:00 2001 From: Christoph Mallon Date: Tue, 22 Apr 2008 14:51:17 +0000 Subject: [PATCH] Fix logic error in IncSP-to-Push/Pop optimisation, which caused the optimisation to be performed exactly when it was NOT requested. [r19361] --- ir/be/ia32/ia32_optimize.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ir/be/ia32/ia32_optimize.c b/ir/be/ia32/ia32_optimize.c index b6fc4d797..fcf1e85e3 100644 --- a/ir/be/ia32/ia32_optimize.c +++ b/ir/be/ia32/ia32_optimize.c @@ -570,10 +570,10 @@ static void peephole_be_IncSP(ir_node *node) /* replace IncSP -4 by Pop freereg when possible */ offset = be_get_IncSP_offset(node); - if (!(offset == -4 && !ia32_cg_config.use_add_esp_4) && - !(offset == -8 && !ia32_cg_config.use_add_esp_8) && - !(offset == +4 && !ia32_cg_config.use_sub_esp_4) && - !(offset == +8 && !ia32_cg_config.use_sub_esp_8)) + if ((offset != -8 || !ia32_cg_config.use_add_esp_8) && + (offset != -4 || !ia32_cg_config.use_add_esp_4) && + (offset != +4 || !ia32_cg_config.use_sub_esp_4) && + (offset != +8 || !ia32_cg_config.use_sub_esp_8)) return; if (offset < 0) { -- 2.20.1