Am 17.12.18 um 23:27 schrieb Roland Scheidegger:
> Am 17.12.18 um 23:07 schrieb Ilia Mirkin:
>> On Mon, Dec 17, 2018 at 5:05 PM Ian Romanick <i...@freedesktop.org> wrote:
>>>
>>> https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgitlab.freedesktop.org%2Fmesa%2Fmesa%2Fmerge_requests%2F22&amp;data=02%7C01%7Csroland%40vmware.com%7C5773f37aa397417e6beb08d6646c24c6%7Cb39138ca3cee4b4aa4d6cd83d9dd62f0%7C0%7C0%7C636806812986635916&amp;sdata=z2ev4sVJEW8Kw2hsoNWfYHh6FkSwSy%2B5CdTItxoh%2FPE%3D&amp;reserved=0
>>>
>>> This series adds a new optimization pass that tries to replace code
>>> sequences like
>>>
>>> if (x < y) {
>>>     z = y - x;
>>>     ...
>>> }
>>>
>>> with a sequence like
>>>
>>> t = x - y;
>>> if (t < 0) {
>>>     z = -t;
>>>     ...
>>> }
>>
>> Is it worth worrying about infinities? e.g. if x = -Infinity, y =
>> Infinity, "x < y" will be true, but "x - y < 0" will not be (pretty
>> sure it'll be a NaN, which is not < 0).
> 
> I was wondering the same, but I think this should still work.
> -Inf - Inf = -Inf, so no problem there.
> 

Although it looks like the optimization might be a bit problematic? For
it to work you really need not just be able to use flags generated by
sub, but also you need to be able to eliminate the negation one way or
another (e.g. free input negate going into another operation, turning
subsequent adds into subs, ...). But well maybe that's often possible.

Roland


_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to