[PATCH 1/3] pow: Use denormal path only

It's OK to either flush to 0 or return denormal result if the device
does not support denormals. See sec 7.2 and 7.5.3 of OCL specs
Fixes CTS on carrizo and turks.
Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu>

It's OK to either flush to 0 or return denormal result if the device
does not support denormals. See sec 7.2 and 7.5.3 of OCL specs
Fixes CTS on carrizo and turks.
Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu>

It's OK to either flush to 0 or return denormal result if the device
does not support denormals. See sec 7.2 and 7.5.3 of OCL specs
Fixes CTS on carrizo and turks.
Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu>

These 3 look ok to me, and I just ran them through 1.2 CTS on my RX580
as well (passed).

I did notice that clicking through the patches on the mailing list
archive, the contents of the affected parts of these files are
identical. Maybe a possible thing we can de-duplicate at some point
once things are in better shape.

--Aaron

These 3 look ok to me, and I just ran them through 1.2 CTS on my RX580
as well (passed).

I did notice that clicking through the patches on the mailing list
archive, the contents of the affected parts of these files are
identical. Maybe a possible thing we can de-duplicate at some point
once things are in better shape.

yes, this is it result of disentangling amd builtin ifdef maze. I'm not
big fun of that approach, but maybe we can find a nicer way to improve
code reuse.
The same problem also affects rootn, but the same fix does not help
Turks, so I'll dig a bit more.

Thanks for all the reviews. Just FYI, we are down to 5 failing math
tests;
asin -4.06 ULP out of 4 allowed. This is not really a priority.
log10D this should be ported from amd_builtins instead of the current approach. WIP.
remquo{,D} not implemented. I have a port from amd_builtins, but it fails on denormals (in quo part, remainder is identical to remainder function)
rootn described above.

Moreover, the whole test segfaults around remquo (my suspicion is allocation failure due to memory leaks).

thanks,
Jan