mesa/src/broadcom/qpu
Eric Anholt 940501a446 v3d: Fix copy-propagation of input unpacks.
I had a single function for "does this do float input unpacking" with two
major flaws: It was missing the most common thing to try to copy propagate
a f32 input nunpack to (the VFPACK to an FP16 render target) along with
several other ALU ops, and also would try to propagate an f32 unpack into
a VFMUL which only does f16 unpacks.

instructions in affected programs: 659232 -> 655895 (-0.51%)
uniforms in affected programs: 132613 -> 135336 (2.05%)

and a couple of programs increase their thread counts.

The uniforms hit appears to be a pattern in generated code of doing (-a >=
a) comparisons, which when a is abs(b) can result in the abs instruction
being copy propagated once but not fully DCEed.
2019-02-05 15:46:04 -08:00
..
tests v3d: Fix input packing of .l for rounding/fdx/fdy. 2019-02-05 15:45:23 -08:00
meson.build meson: Add tests to suites 2018-11-20 09:09:22 -08:00
qpu_disasm.c broadcom/vc5: Add support for QPU pack/unpack/disasm of small immediates. 2018-01-12 21:54:18 -08:00
qpu_disasm.h broadcom: Add V3D 3.3 QPU instruction pack, unpack, and disasm. 2017-10-10 11:42:04 -07:00
qpu_instr.c v3d: Fix copy-propagation of input unpacks. 2019-02-05 15:46:04 -08:00
qpu_instr.h v3d: Fix copy-propagation of input unpacks. 2019-02-05 15:46:04 -08:00
qpu_pack.c v3d: Fix input packing of .l for rounding/fdx/fdy. 2019-02-05 15:45:23 -08:00
qpu_validate.c broadcom: Add V3D 3.3 QPU instruction pack, unpack, and disasm. 2017-10-10 11:42:04 -07:00