From: Paulo Zanoni Date: Thu, 11 Jul 2019 00:03:48 +0000 (-0700) Subject: intel/compiler: invert the logic of lower_integer_multiplication() X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=9217cf3b5e349f6fb09cfee23f0975398b0f6acb;p=mesa.git intel/compiler: invert the logic of lower_integer_multiplication() Invert the logic of how progress is handled: remove the continue statements and mark progress inside the places where it actually happens. We're going to add a new lowering that also looks for BRW_OPCODE_MUL, so inverting the logic here makes the resulting code much easier to follow. Reviewed-by: Matt Turner Reviewed-by: Caio Marcelo de Oliveira Filho Signed-off-by: Paulo Zanoni --- diff --git a/src/intel/compiler/brw_fs.cpp b/src/intel/compiler/brw_fs.cpp index 3db3332a208..ccf6c955202 100644 --- a/src/intel/compiler/brw_fs.cpp +++ b/src/intel/compiler/brw_fs.cpp @@ -4062,23 +4062,20 @@ fs_visitor::lower_integer_multiplication() foreach_block_and_inst_safe(block, fs_inst, inst, cfg) { if (inst->opcode == BRW_OPCODE_MUL) { - if (inst->dst.is_accumulator() || - (inst->dst.type != BRW_REGISTER_TYPE_D && - inst->dst.type != BRW_REGISTER_TYPE_UD)) - continue; - - if (devinfo->has_integer_dword_mul) - continue; - - lower_mul_dword_inst(inst, block); + if (!inst->dst.is_accumulator() && + (inst->dst.type == BRW_REGISTER_TYPE_D || + inst->dst.type == BRW_REGISTER_TYPE_UD) && + !devinfo->has_integer_dword_mul) { + lower_mul_dword_inst(inst, block); + inst->remove(block); + progress = true; + } } else if (inst->opcode == SHADER_OPCODE_MULH) { lower_mulh_inst(inst, block); - } else { - continue; + inst->remove(block); + progress = true; } - inst->remove(block); - progress = true; } if (progress)