From: David Given Date: Wed, 19 Oct 2016 21:27:53 +0000 (+0200) Subject: Floating point promotion is less buggy. X-Git-Url: https://git.ndcode.org/public/gitweb.cgi?a=commitdiff_plain;h=ffb1eabf4525d5e5c9e6d62894f63c775f876eab;p=ack.git Floating point promotion is less buggy. --- diff --git a/mach/proto/mcg/pass_promotefloatops.c b/mach/proto/mcg/pass_promotefloatops.c index ffea3f0dc..87db1e47d 100644 --- a/mach/proto/mcg/pass_promotefloatops.c +++ b/mach/proto/mcg/pass_promotefloatops.c @@ -86,8 +86,21 @@ static void modify_promotable_irs(void) { struct ir* ir = promotable.item[i]; - if (ir->opcode != IR_PHI) - ir->opcode++; + switch (ir->opcode) + { + case IR_ADDF: + case IR_SUBF: + case IR_MULF: + case IR_DIVF: + case IR_NEGF: + case IR_PHI: + case IR_NOP: + break; + + default: + ir->opcode++; + break; + } } }