[PATCH] D18593: [PowerPC] Front end improvements for vec_splat

Nemanja Ivanovic via llvm-commits llvm-commits at lists.llvm.org
Fri Apr 1 07:44:10 PDT 2016


nemanjai updated the summary for this revision.
nemanjai updated this revision to Diff 52375.
nemanjai added a comment.

Rather than emitting target-specific intrinsics, this patch uses the target-independent __builtin_shufflevector to generate vector_shuffle nodes.

The reason for this change is that there are some conditions under which these vec_splat functions get inlined into other code and the information about the calls to the vperm intrinsics actually being splats is somehow lost. The calls to __builtin_shufflevector will ensure that the information about the shuffle is retained. The benchmark that identified this issue sees significant improvement with this patch.


Repository:
  rL LLVM

http://reviews.llvm.org/D18593

Files:
  lib/Headers/altivec.h
  test/CodeGen/builtins-ppc-altivec.c
  test/CodeGen/builtins-ppc-vsx.c
  test/CodeGen/ppc-vsx-splat.c

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D18593.52375.patch
Type: text/x-patch
Size: 14999 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160401/324ea881/attachment.bin>


More information about the llvm-commits mailing list