intel/fs: Use ANY/ALL32 predicates in SIMD32
authorJason Ekstrand <jason.ekstrand@intel.com>
Sat, 2 Sep 2017 06:24:15 +0000 (23:24 -0700)
committerJason Ekstrand <jason.ekstrand@intel.com>
Tue, 7 Nov 2017 18:37:52 +0000 (10:37 -0800)
commitdef013a863558a1f4735d82ef3dfa0f8261fa743
treea0b1ece059fc1e9fbea3135a471ec843e1d50e6e
parent0d905597fe2997c89022c76cdf84dc4fba5eb055
intel/fs: Use ANY/ALL32 predicates in SIMD32

We have ANY/ALL32 predicates and, for the most part, they work just
fine.  (See the next commit for more details.)  Also, due to the way
that flag registers are handled in hardware, instruction splitting is
able to split the CMP correctly.  Specifically, that hardware looks at
the execution group and knows to shift it's flag usage up correctly so a
2H instruction will write to f0.1 instead of f0.0.

Reviewed-by: Matt Turner <mattst88@gmail.com>
Cc: mesa-stable@lists.freedesktop.org
src/intel/compiler/brw_fs_nir.cpp