Bug 151464

Summary: B3 should have a story for Ext/Trunc strength reduction
Product: WebKit Reporter: Filip Pizlo <fpizlo>
Component: JavaScriptCoreAssignee: Filip Pizlo <fpizlo>
Status: RESOLVED FIXED    
Severity: Normal CC: barraclough, benjamin, commit-queue, ggaren, keith_miller, mark.lam, mhahnenb, msaboff, nrotem, oliver, saam, sam
Priority: P2    
Version: WebKit Nightly Build   
Hardware: All   
OS: All   
Bug Depends on:    
Bug Blocks: 151428    
Attachments:
Description Flags
the patch ggaren: review+

Filip Pizlo
Reported 2015-11-19 14:15:45 PST
The LLVM shift operations require the shift amount to have the same type as the shift base. The B3 shift operations require the shift amount to be an Int32. DFG concurs with this. But the initial lowering will probably involve pretending the FTLOutput's shift operations still take an LLVM-style shift amount, and then on B3 they will emit a Trunc. That means that we'll want to be able to constant fold Trunc and be able to fold Trunc(ZExt).
Attachments
the patch (13.95 KB, patch)
2015-11-19 14:56 PST, Filip Pizlo
ggaren: review+
Filip Pizlo
Comment 1 2015-11-19 14:56:11 PST
Created attachment 265907 [details] the patch
WebKit Commit Bot
Comment 2 2015-11-19 15:08:27 PST
Attachment 265907 [details] did not pass style-queue: ERROR: Source/JavaScriptCore/ftl/FTLB3Output.cpp:133: Multi line control clauses should use braces. [whitespace/braces] [4] Total errors found: 1 in 7 files If any of these errors are false positives, please file a bug against check-webkit-style.
Geoffrey Garen
Comment 3 2015-11-19 15:18:38 PST
Comment on attachment 265907 [details] the patch r=me
Filip Pizlo
Comment 4 2015-11-19 15:36:13 PST
Note You need to log in before you can comment on or make changes to this bug.