[Mesa-dev] [PATCH 2/2] nir: Optimize a + neg(a)

Matt Turner mattst88 at gmail.com
Tue Mar 10 16:50:01 PDT 2015


On Tue, Mar 10, 2015 at 4:20 PM, Ian Romanick <idr at freedesktop.org> wrote:
> On 02/28/2015 12:19 PM, Matt Turner wrote:
>> On Sat, Feb 28, 2015 at 11:47 AM, Thomas Helland
>> <thomashelland90 at gmail.com> wrote:
>>> On Feb 28, 2015 8:39 PM, "Jason Ekstrand" <jason at jlekstrand.net> wrote:
>>>>
>>>> Both patches are
>>>>
>>>> Reviewed-by: Jason Ekstrand <jason.ekstrand at intel.com>
>>>
>>> Could you commit them?
>>> I don't have commit access.
>>
>> I'd like to wait a few days to see if there are any comments about the
>> floating-point optimizations. If not, I'll commit them. (The integer
>> parts are surely fine)
>
> Hmm... does the GLSL spec say anything about integer overflow?  For
> large values, (a*b)+(a*c) can produce dramatically different results
> than a*(b+c).

It says (in 4.1.3 Integers)

"""
Addition, subtraction, and shift operations resulting in overflow or
underflow will not cause any exception, nor will they saturate, rather
they will “wrap” to yield the low-order 32 bits of the result.
Division and multiplication operations resulting in overflow or
underflow will not cause any exception but will result in an undefined
value.
"""

More thinking required?


More information about the mesa-dev mailing list