freedreno/ir3: Stop doing b2n on the SEL condition.
authorEric Anholt <eric@anholt.net>
Fri, 10 Apr 2020 22:03:34 +0000 (15:03 -0700)
committerMarge Bot <eric+marge@anholt.net>
Mon, 13 Apr 2020 19:24:52 +0000 (19:24 +0000)
commit82375ccaa461c759d4a588a68ed20bcee92edf8e
treec7991df5ff732acc4d7d9b10c50714cf2ccc966a
parent0d1917da86e813c5609e48dda62f7cf8a049c48f
freedreno/ir3: Stop doing b2n on the SEL condition.

SEL_B32 (and presumably B16) checks for 0 or nonzero in the condition
(tested by just stuffing a uniform's value into it), so there's no need to
do ir3_b2n() on it, or any preceding ir3_n2b().

instructions in affected programs: 664444 -> 659927 (-0.68%)
nops in affected programs: 267898 -> 266312 (-0.59%)
non-nops in affected programs: 420260 -> 417329 (-0.70%)
dwords in affected programs: 144032 -> 137568 (-4.49%)
last-baryf in affected programs: 10801 -> 10321 (-4.44%)
full in affected programs: 2003 -> 2002 (-0.05%)
sstall in affected programs: 76670 -> 77405 (0.96%)
(ss) in affected programs: 4515 -> 4525 (0.22%)
(sy) in affected programs: 612 -> 604 (-1.31%)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4516>
src/freedreno/ir3/ir3.h
src/freedreno/ir3/ir3_compiler_nir.c