freedreno/ir3: Use nir_opt_idiv_const
Notably reduces the number of instructions in manhattan31/377 by 101: instructions helped: shaders/closed/android/gfxbench/manhattan31/377.shader_test CL: 1700 -> 1599 (-5.94%) total instructions in shared programs: 1713536 -> 1713313 (-0.01%) instructions in affected programs: 7635 -> 7412 (-2.92%) helped: 12 HURT: 9 total nops in shared programs: 377253 -> 377188 (-0.02%) nops in affected programs: 3170 -> 3105 (-2.05%) helped: 13 HURT: 8 total non-nops in shared programs: 1336283 -> 1336125 (-0.01%) non-nops in affected programs: 3134 -> 2976 (-5.04%) helped: 12 HURT: 4 total mov in shared programs: 66642 -> 66641 (<.01%) mov in affected programs: 145 -> 144 (-0.69%) helped: 1 HURT: 4 total cov in shared programs: 20215 -> 20223 (0.04%) cov in affected programs: 64 -> 72 (12.50%) helped: 0 HURT: 8 total dwords in shared programs: 3650282 -> 3649876 (-0.01%) dwords in affected programs: 11222 -> 10816 (-3.62%) helped: 12 HURT: 0 total constlen in shared programs: 246636 -> 246656 (<.01%) constlen in affected programs: 72 -> 92 (27.78%) helped: 0 HURT: 5 total cat0 in shared programs: 411874 -> 411809 (-0.02%) cat0 in affected programs: 3414 -> 3349 (-1.90%) helped: 13 HURT: 8 total cat1 in shared programs: 87109 -> 87116 (<.01%) cat1 in affected programs: 398 -> 405 (1.76%) helped: 1 HURT: 12 total cat2 in shared programs: 797105 -> 797030 (<.01%) cat2 in affected programs: 1619 -> 1544 (-4.63%) helped: 12 HURT: 0 total cat3 in shared programs: 348412 -> 348322 (-0.03%) cat3 in affected programs: 404 -> 314 (-22.28%) helped: 12 HURT: 0 total sstall in shared programs: 133300 -> 133302 (<.01%) sstall in affected programs: 73 -> 75 (2.74%) helped: 0 HURT: 1 total (ss) in shared programs: 36137 -> 36139 (<.01%) (ss) in affected programs: 54 -> 56 (3.70%) helped: 0 HURT: 2 total systall in shared programs: 323494 -> 323624 (0.04%) systall in affected programs: 1591 -> 1721 (8.17%) helped: 4 HURT: 2 total (sy) in shared programs: 14306 -> 14308 (0.01%) (sy) in affected programs: 46 -> 48 (4.35%) helped: 0 HURT: 2 Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18085>
This commit is contained in:
@@ -355,7 +355,8 @@ ir3_finalize_nir(struct ir3_compiler *compiler, nir_shader *s)
|
||||
nir_lower_idiv_options idiv_options = {
|
||||
.allow_fp16 = true,
|
||||
};
|
||||
const bool idiv_progress = OPT(s, nir_lower_idiv, &idiv_options);
|
||||
bool idiv_progress = OPT(s, nir_opt_idiv_const, 8);
|
||||
idiv_progress |= OPT(s, nir_lower_idiv, &idiv_options);
|
||||
|
||||
if (idiv_progress)
|
||||
ir3_optimize_loop(compiler, s);
|
||||
|
||||
Reference in New Issue
Block a user