[Webkit-unassigned] [Bug 157787] New: sqrt and pow should produce consistent results even in SSE2 available x86 32bit environment
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Mon May 16 23:32:56 PDT 2016
https://bugs.webkit.org/show_bug.cgi?id=157787
Bug ID: 157787
Summary: sqrt and pow should produce consistent results even in
SSE2 available x86 32bit environment
Classification: Unclassified
Product: WebKit
Version: WebKit Nightly Build
Hardware: Unspecified
OS: Unspecified
Status: NEW
Severity: Normal
Priority: P2
Component: JavaScriptCore
Assignee: webkit-unassigned at lists.webkit.org
Reporter: utatane.tea at gmail.com
In x86 32bit environment with SSE2 availability, some strange situation occurs.
1. C runtime is compiled with x87
C runtime is compiled with x87 since SSE2 is not considered.
This should be since binary packages (e.g. Debian i686) should consider the processor capabilities conservatively.
2. DFG JIT emits floating point operations in SSE2
But DFG JIT consult CPUID to determine SSE2 availability.
As a result, while C runtime is compiled with x87, DFG JIT code uses SSE2 operations (like sqrtsd, muld etc.)
Since while x87 has 80bit precision SSE has 64bit precision, this produces inconsistent results in C runtime and DFG JIT code.
While both 80 / 64 bit precision is ok, at least we need to ensure that the result with the same argument should be the same in all the JIT tiers.
Currently, while DFG JIT produces 64bit precision values, C runtime produces 80bit precision values.
--
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.webkit.org/pipermail/webkit-unassigned/attachments/20160517/8527cf81/attachment.html>
More information about the webkit-unassigned
mailing list