[PATCH] D24396: Target Power9 bit counting and vector comparison instructions through builtins (backend portion)
Nemanja Ivanovic via llvm-commits
llvm-commits at lists.llvm.org
Fri Sep 9 07:35:16 PDT 2016
nemanjai created this revision.
nemanjai added reviewers: hfinkel, kbarton, wschmidt, amehsan, seurer.
nemanjai added subscribers: llvm-commits, echristo.
nemanjai set the repository for this revision to rL LLVM.
Herald added a subscriber: nemanjai.
This patch adds support for the "vector count trailing zeroes", "vector compare not equal" and "vector compare not equal or zero instructions" as well as "scalar count trailing zeroes" instructions. It also changes the vector negation to use XXLNOR (when VSX is enabled) so as not to increase register pressure (previously this was done with a splat immediate of all ones followed by an XXLXOR). This was done because the altivec.h builtins (patch to follow) use vector negation and the use of an additional register for the splat immediate is not optimal.
Repository:
rL LLVM
https://reviews.llvm.org/D24396
Files:
include/llvm/IR/IntrinsicsPowerPC.td
lib/Target/PowerPC/PPCISelLowering.cpp
lib/Target/PowerPC/PPCInstrAltivec.td
lib/Target/PowerPC/PPCInstrVSX.td
test/CodeGen/PowerPC/p9-vector-compares-and-counts.ll
test/CodeGen/PowerPC/vsx.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D24396.70833.patch
Type: text/x-patch
Size: 18925 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160909/b2fb919e/attachment.bin>
More information about the llvm-commits
mailing list