[PATCH] Reducing the costs of cast instructions to enable more vectorization of smaller types in LoopVectorize
Sam Parker
sam.parker at arm.com
Tue Jun 9 03:29:17 PDT 2015
Chains of instructions are now searched through, with the limitations that they are either an Add, And, Or, Xor, Mul or Shl.
The instructions are saved in a map with their clamped value type and so during vectorization, these types can be used instead.
This is performed by enclosing the binary operations within truncs and zext operations in the hope that these get optimised out.
http://reviews.llvm.org/D9822
Files:
lib/Transforms/Vectorize/LoopVectorize.cpp
test/Transforms/LoopVectorize/AArch64/loop-vectorization-factors.ll
EMAIL PREFERENCES
http://reviews.llvm.org/settings/panel/emailpreferences/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D9822.27366.patch
Type: text/x-patch
Size: 22913 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150609/b283c3e8/attachment.bin>
More information about the llvm-commits
mailing list