[PATCH] Lower certain build_vectors to insertps instructions

Filipe Cabecinhas filcab+llvm.phabricator at gmail.com
Mon Apr 28 20:25:02 PDT 2014


(sorry about the last revision. I misused arc diff)

Vectors built with zeros and elements in the same order as another
(source) vector are optimized to be built using a single insertps
instruction.
Also optimize when we move one element in a vector to a different place
in that vector while zeroing out some of the other elements.

Further optimizations are possible, described in TODO comments.
I will be implementing at least some of them in the near future.

Added some tests for different cases where this optimization triggers.

http://reviews.llvm.org/D3521

Files:
  lib/Target/X86/X86ISelLowering.cpp
  test/CodeGen/X86/sse41.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D3521.8902.patch
Type: text/x-patch
Size: 14151 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140429/1ba299de/attachment.bin>


More information about the llvm-commits mailing list