summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/nouveau
diff options
context:
space:
mode:
authorMarek Olšák <marek.olsak@amd.com>2020-10-01 11:32:45 -0400
committerMarek Olšák <marek.olsak@amd.com>2020-10-07 10:50:53 -0400
commit1e7d82c8813647916325e460a93fbec1d428a4e8 (patch)
tree6127871485091f5c8122dcce36847290ad087eee /src/gallium/drivers/nouveau
parent315df8dbb8d60fc1edc9004bcf06a94fcfda1d2e (diff)
nir/algebraic: always lower idiv to shifts if bitops are allowed
why would you want anything else The only platform significantly affected by this is Intel where `lower_idiv` is not set today but neither is `lower_bitops`. There it seems to still be a boon over-all. Shader-db results on Ice Lake: total instructions in shared programs: 19719051 -> 19735766 (0.08%) instructions in affected programs: 106992 -> 123707 (15.62%) helped: 0 HURT: 445 HURT stats (abs) min: 3 max: 295 x̄: 37.56 x̃: 44 HURT stats (rel) min: 0.16% max: 33.33% x̄: 19.60% x̃: 19.38% 95% mean confidence interval for instructions value: 33.60 41.53 95% mean confidence interval for instructions %-change: 18.97% 20.23% Instructions are HURT. total loops in shared programs: 5973 -> 5973 (0.00%) loops in affected programs: 0 -> 0 helped: 0 HURT: 0 total cycles in shared programs: 489405810 -> 486917482 (-0.51%) cycles in affected programs: 4759097 -> 2270769 (-52.29%) helped: 406 HURT: 34 helped stats (abs) min: 2 max: 64661 x̄: 6291.95 x̃: 3126 helped stats (rel) min: 0.02% max: 79.42% x̄: 43.32% x̃: 55.83% HURT stats (abs) min: 2 max: 29376 x̄: 1947.12 x̃: 30 HURT stats (rel) min: 0.04% max: 23.82% x̄: 4.66% x̃: 1.33% 95% mean confidence interval for cycles value: -6753.06 -4557.52 95% mean confidence interval for cycles %-change: -42.60% -36.63% Cycles are helped. total spills in shared programs: 12481 -> 12482 (<.01%) spills in affected programs: 47 -> 48 (2.13%) helped: 0 HURT: 1 total fills in shared programs: 12816 -> 12819 (0.02%) fills in affected programs: 71 -> 74 (4.23%) helped: 0 HURT: 1 total sends in shared programs: 1010124 -> 1010124 (0.00%) sends in affected programs: 0 -> 0 helped: 0 HURT: 0 LOST: 1 GAINED: 0 Reviewed-by: Jason Ekstrand <jason@jlekstrand.net> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6963>
Diffstat (limited to 'src/gallium/drivers/nouveau')
-rw-r--r--src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp1
1 files changed, 0 insertions, 1 deletions
diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp
index 64453edf19b..9141b149581 100644
--- a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp
+++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp
@@ -3236,7 +3236,6 @@ nvir_nir_shader_compiler_options(int chipset)
op.lower_sub = true;
op.lower_scmp = true; // TODO: not implemented yet
op.lower_vector_cmp = false;
- op.lower_idiv = true;
op.lower_bitops = false;
op.lower_isign = (chipset >= NVISA_GV100_CHIPSET);
op.lower_fsign = (chipset >= NVISA_GV100_CHIPSET);