gallivm: fix idiv/irem for 8/16/64-bit and 32-bit INT_MIN/-1
authorDave Airlie <airlied@redhat.com>
Wed, 25 Nov 2020 20:16:39 +0000 (06:16 +1000)
committerMarge Bot <eric+marge@anholt.net>
Mon, 16 Aug 2021 23:20:00 +0000 (23:20 +0000)
commit9922ea7e669f0df13eff1594cd1799038d9c95ab
treedf59a1cd7623f70a193e69d582165be3f135ddde
parentff2d838c7ad5ff7c48468bcde2950025eeebe7f4
gallivm: fix idiv/irem for 8/16/64-bit and 32-bit INT_MIN/-1

This fixes integer division for non-32bit but also fixes the
32-bit case where INT_MIN/-1 causes an exception.

Fixes CL CTS
./integer_ops/test_integer_ops quick_long_math

Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12285>
src/gallium/auxiliary/gallivm/lp_bld_nir.c