nir: Add more modulus and remainder opcodes
authorJason Ekstrand <jason.ekstrand@intel.com>
Wed, 13 Jan 2016 23:05:39 +0000 (15:05 -0800)
committerJason Ekstrand <jason.ekstrand@intel.com>
Wed, 13 Jan 2016 23:18:36 +0000 (15:18 -0800)
commitcac99fffdb87a42ab4a2a75747d11afca9a57bf7
treeca85d127f41467d58e11597f2ca28543ce295bc9
parent0079523a0d42538020ba89add961f09507e41949
nir: Add more modulus and remainder opcodes

SPIR-V makes a distinction between "modulus" and "remainder" for both
floating-point and signed integer variants.  The difference is primarily
one of which source they take their sign from.  The "remainder" opcode for
integers is equivalent to the C/C++ "%" operation while the "modulus"
opcode is more mathematically correct (at least for an unsigned divisor).
This commit adds corresponding opcodes to NIR.
src/glsl/nir/nir_opcodes.py
src/glsl/nir/nir_opt_algebraic.py