On Monday, November 7, 2016 12:28:34 PM PST Eric Anholt wrote: > NIR bools are ~0 for true, so ((unsigned)a >> 31) != 0 -> ((int)a >> 31). > --- > src/compiler/nir/nir_lower_idiv.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/src/compiler/nir/nir_lower_idiv.c > b/src/compiler/nir/nir_lower_idiv.c > index b1e7aeb03c8a..6726b718aaa5 100644 > --- a/src/compiler/nir/nir_lower_idiv.c > +++ b/src/compiler/nir/nir_lower_idiv.c > @@ -101,8 +101,7 @@ convert_instr(nir_builder *bld, nir_alu_instr *alu) > if (is_signed) { > /* fix the sign: */ > r = nir_ixor(bld, numer, denom); > - r = nir_ushr(bld, r, nir_imm_int(bld, 31)); > - r = nir_i2b(bld, r); > + r = nir_ishr(bld, r, nir_imm_int(bld, 31)); > b = nir_ineg(bld, q); > q = nir_bcsel(bld, r, b, q); > } >
Yep. Reviewed-by: Kenneth Graunke <kenn...@whitecape.org>
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev