intel/vec4: Also use MOV_FOR_SCRATCH for swizzle resolves
authorJason Ekstrand <jason@jlekstrand.net>
Thu, 3 Jun 2021 04:08:13 +0000 (23:08 -0500)
committerMarge Bot <eric+marge@anholt.net>
Thu, 3 Jun 2021 06:14:17 +0000 (06:14 +0000)
commit06ae2723d103f485bfdc2d18e3625ce7417ffc9c
treecf2d50d866a4de042fdc1a22318ce2ca4115f6a5
parent889a8df5bda5681bb0e14c82df7aed54b59f243d
intel/vec4: Also use MOV_FOR_SCRATCH for swizzle resolves

In 2db88679432b, we introduced a new meta-op MOV_FOR_SCRATCH which is
identical to MOV except it lets us identify MOVs emitted during spilling
so we know not to re-spill those instructions.  We emit them from
shuffle_for_64bit_data whenever the new for_scratch parameter is true.
Unfortunately, we missed the one used for resolving swizzles.

Fixes: 2db88679432b "intel/vec4: Don't spill fp64 registers more..."
Tested-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11155>
src/intel/compiler/brw_vec4_nir.cpp