Mesa (master): intel/compiler: invert the logic of lower_integer_multiplication()
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Mon Aug 12 22:19:56 UTC 2019
Module: Mesa
Branch: master
Commit: 9217cf3b5e349f6fb09cfee23f0975398b0f6acb
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=9217cf3b5e349f6fb09cfee23f0975398b0f6acb
Author: Paulo Zanoni <paulo.r.zanoni at intel.com>
Date: Wed Jul 10 17:03:48 2019 -0700
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 <mattst88 at gmail.com>
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira at intel.com>
Signed-off-by: Paulo Zanoni <paulo.r.zanoni at intel.com>
---
src/intel/compiler/brw_fs.cpp | 23 ++++++++++-------------
1 file changed, 10 insertions(+), 13 deletions(-)
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)
More information about the mesa-commit
mailing list