aco: Optimize out s_and with exec, when used on uniform bitwise values.
authorTimur Kristóf <timur.kristof@gmail.com>
Fri, 3 Jan 2020 09:30:04 +0000 (10:30 +0100)
committerTimur Kristóf <timur.kristof@gmail.com>
Tue, 14 Jan 2020 20:21:06 +0000 (21:21 +0100)
commitc0f82165a7a3e572fb3c08c8afbb6755be2b8b42
treef5bae7b38f6eb8bd77a1f69f446b84e7aec7c5f7
parent1c44129db30db70dc6a0e1906b5a8efa7f8d00cf
aco: Optimize out s_and with exec, when used on uniform bitwise values.

Previously all booleans needed an s_and with exec when they were turned
into a scalar condition. However, this is not needed for uniform booleans.

v2 by Daniel Schürmann:
- Make the code more readable
v3 by Timur Kristóf:
- Fix regressions, make it work in wave32 mode

Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
src/amd/compiler/aco_optimizer.cpp