DescriptionX87: [TurboFan] Change the implementation of Float32's NaN comparision's return value in kX87Float32Min and kX87Float32Max.
The CL 32796(https://codereview.chromium.org/1512023002) adds many Float32 comparision test data which including the NaN comparision.
As there's no Specification for the return value of NaN comparision, Current x87 will check the Float comparision instruction's first
operand, if it's NaN, return the second operand. Otherwise, return itself.
But this conflicts with the Gcc compiler's implementation and cause the RunFloat32MinP and RunFloat32MaxP tests failed.
For (a < b) comparision, The Gcc compiler will treat the NaN comparision's result same as a GT b and return b.
The minss sse instruction in IA32 has the similar behavior.
So this CL will make the implementation of NaN comparision's return value in kX87Float32Min and kX87Float32Max same as Gcc and IA32.
BUG=
Committed: https://crrev.com/a337d159d300274b38506f256c8d9d0d85beb558
Cr-Commit-Position: refs/heads/master@{#32866}
Patch Set 1 #
Messages
Total messages: 11 (4 generated)
|