[Webkit-unassigned] [Bug 152367] New: BitXor(Comparison, 1) where canBeInternal(Comparison) should be generated as an inverted comparison
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Wed Dec 16 16:23:33 PST 2015
https://bugs.webkit.org/show_bug.cgi?id=152367
Bug ID: 152367
Summary: BitXor(Comparison, 1) where canBeInternal(Comparison)
should be generated as an inverted comparison
Classification: Unclassified
Product: WebKit
Version: WebKit Nightly Build
Hardware: All
OS: All
Status: NEW
Severity: Normal
Priority: P2
Component: JavaScriptCore
Assignee: webkit-unassigned at lists.webkit.org
Reporter: fpizlo at apple.com
This is relevant for float comparisons. Some of them will start as something like:
Equal(EqualOrUnordered(left, right), 0)
Then we will canonicalize this to:
BitXor(EqualOrUnordered(left, right), 1)
But then the code generator will emit the BitXor separately, so we'll have some nasty code to perform the comparison followed by a xor. That's goofy.
Note that this problem goes away if we also do branch fusion. For example both of these are fine:
Branch(BitXor(EqualOrUnordered(left, right), 1))
Check(BitXor(EqualOrUnordered(left, right), 1))
We won't see the Branch case because of strength reduction, but we will see the Check case, and that's OK - we'll chew through the BitXor.
--
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/20151217/fff2ceaf/attachment.html>
More information about the webkit-unassigned
mailing list