aco: don't constant-propagate into subdword PSEUDO instructions
authorDaniel Schürmann <daniel@schuermann.dev>
Tue, 7 Apr 2020 09:46:37 +0000 (10:46 +0100)
committerMarge Bot <eric+marge@anholt.net>
Fri, 10 Apr 2020 07:19:27 +0000 (07:19 +0000)
commita39df3bfce2c418a251eeafe2e309c9543a9d50d
treeea67fbdfe09f7c5ebf59c8d620ec576b4c6f6c84
parent1de18708cb5d3adba452f0c7f1aa3e8e6a6fd60b
aco: don't constant-propagate into subdword PSEUDO instructions

PSEUDO instructions are lowered using SDWA, and thus,
cannot take literals and before GFX9 cannot take constants
at all. As the in-register representation differs between
32bit and 16bit floats, we first need to ensure correct
behavior.

Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4492>
src/amd/compiler/aco_optimizer.cpp