[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