]> granicus.if.org Git - llvm/commit
[Vectorizer] Add vectorization support for fixed smul/umul intrinsics
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Mon, 25 Feb 2019 15:42:02 +0000 (15:42 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Mon, 25 Feb 2019 15:42:02 +0000 (15:42 +0000)
commit563ff5441e1dacd7b59127cf8e412e5f57603cf1
treed3f5af8c64737ddb2dc479660def525381ddc47c
parenta61848693cb8290390c8526b6a00980c3d64c7fa
[Vectorizer] Add vectorization support for fixed smul/umul intrinsics

This requires a couple of tweaks to existing vectorization functions as they were assuming that only the second call argument (ctlz/cttz/powi) could ever be the 'always scalar' argument, but for smul.fix + umul.fix its the third argument.

Differential Revision: https://reviews.llvm.org/D58616

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@354790 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Analysis/VectorUtils.cpp
lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
lib/Transforms/Vectorize/SLPVectorizer.cpp
test/Transforms/SLPVectorizer/X86/arith-fix.ll