nir/lower_int64: fix shift lowering
nir shifts are defined to only look at the least significant bits. The lowering has take this into account.
So there are two things going on:
- the
ieq
anduge
further down depend ony
being masked. - the calculation of
reverse_count
actually depends on a maskedy
as well, due to the(iabs (iadd y -32))
giving a different result for shifts > 31;
Fixes: 41f3e9e5 ("nir: Implement lowering of 64-bit shift operations") Signed-off-by: Karol Herbst kherbst@redhat.com