You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
IGC is currently generating incorrect results for fract for small negative inputs. Specifically, it is returning 1.0, rather than a number close to but not quite 1.0.
For -0.000061 (8400): fract() returned 1.000000 (3C00) + -1.000000 (BC00)
It looks like this is because IGC is using to the fp32 constant 0x1.fffffep-1f rather than the fp16 constant 0x1.ffcp-1f:
Found during a review of new fp16 CTS tests:
KhronosGroup/OpenCL-CTS#1681 (review)
IGC is currently generating incorrect results for
fract
for small negative inputs. Specifically, it is returning1.0
, rather than a number close to but not quite1.0
.It looks like this is because IGC is using to the fp32 constant
0x1.fffffep-1f
rather than the fp16 constant0x1.ffcp-1f
:intel-graphics-compiler/IGC/BiFModule/Implementation/Math/fract.cl
Lines 288 to 295 in d9e9d29
If I use the fp16 constant instead:
Then I get the right results:
The text was updated successfully, but these errors were encountered: