nir/lower_vec_to_movs: don't vectorize unsupports ops
authorErico Nunes <nunes.erico@gmail.com>
Sun, 30 Aug 2020 13:07:23 +0000 (15:07 +0200)
committerMarge Bot <eric+marge@anholt.net>
Mon, 11 Jan 2021 13:13:30 +0000 (13:13 +0000)
commitfaaba0d6afe0c5f6985345c7c6226435658d196a
tree1fad654e6ebabb28b3ce44af24d9a717a1923da6
parentb75d8052a7767af86d7abf85fca3db371f05d362
nir/lower_vec_to_movs: don't vectorize unsupports ops

If the instruction being coalesced would be vectorized but the target
doesn't support vectorizing that op, skip coalescing.
Reuse the callbacks from alu_to_scalar to describe which ops should not
be vectorized.

Signed-off-by: Erico Nunes <nunes.erico@gmail.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Eric Anholt <eric@anholt.net>
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6506>
src/compiler/nir/nir.h
src/compiler/nir/nir_lower_vec_to_movs.c
src/gallium/auxiliary/nir/nir_to_tgsi.c
src/gallium/drivers/freedreno/a2xx/ir2_nir.c
src/gallium/drivers/lima/lima_program.c
src/intel/compiler/brw_nir.c
src/panfrost/midgard/midgard_compile.c