RESOLVED FIXED 154124
MacroAssemblerX86 should be happy with shift(cx, cx)
https://bugs.webkit.org/show_bug.cgi?id=154124
Summary MacroAssemblerX86 should be happy with shift(cx, cx)
Filip Pizlo
Reported 2016-02-11 13:05:58 PST
It currently asserts that shift_amount and dest cannot be the same. That's a good assertion for when shift_amount is not in cx. But if it's in cx already then it's OK for them to be the same. Air will sometimes do shift(cx, cx) if you do "x << x" and the coalescing got particularly clever.
Attachments
the patch (9.52 KB, patch)
2016-02-11 13:18 PST, Filip Pizlo
saam: review+
Filip Pizlo
Comment 1 2016-02-11 13:18:24 PST
Created attachment 271078 [details] the patch
Geoffrey Garen
Comment 2 2016-02-11 13:20:46 PST
r=me
WebKit Commit Bot
Comment 3 2016-02-11 13:20:47 PST
Attachment 271078 [details] did not pass style-queue: ERROR: Source/JavaScriptCore/b3/testb3.cpp:10081: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/b3/testb3.cpp:10104: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/b3/testb3.cpp:10127: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/b3/testb3.cpp:10149: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/b3/testb3.cpp:10173: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/b3/testb3.cpp:10197: Place brace on its own line for function definitions. [whitespace/braces] [4] Total errors found: 6 in 4 files If any of these errors are false positives, please file a bug against check-webkit-style.
Filip Pizlo
Comment 4 2016-02-11 13:22:18 PST
Note You need to log in before you can comment on or make changes to this bug.