[PATCH] ARM64: Combine shifts and uses to bit-extract instruction from different basic block

yijiang yjiang at apple.com
Mon Apr 14 17:25:57 PDT 2014


Hi Quentin et al. ,

Could you help to review this patch? Thank you very much.

In this patch, I basically trying to do two things:
1) Try to detect potential opportunities, sink the shifts  and combine shifts and uses from different basic blocks that could generate bit-extract instruction and . 
2)  Recognize more patterns in instruction selection to generate bit-extract instructions, also try to make the instruction type more consistent to expose more opportunities in machine CSE. 

Now it is only enabled in ARM64. The test-suite result indicates that it will improve crafty by 1.21%, this can also be reproduced if the input is “ref” size. 
External/SPEC/CINT2000/186_crafty/186_crafty	-1.21%	9.5801	9.4639	-	-0.00%

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140414/da1ee9ec/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: extractbit.patch
Type: application/octet-stream
Size: 21366 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140414/da1ee9ec/attachment.obj>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140414/da1ee9ec/attachment-0001.html>


More information about the llvm-commits mailing list