This is an archive of the discontinued LLVM Phabricator instance.

[X86] Adding Fast AVX2 Gather as a subtarget feature
AbandonedPublic

Authored by magabari on Jul 10 2017, 1:01 AM.

Details

Summary

This commit is a preparation for my next commit of supporting x86 AVX2 gathers in loop vectorizer.

Currently there is some processors which dont have a fast hardware support of avx2 gathers and need to disable gather generation for those processors.

test case will be provided in my next commit which support avx2 gather generation.

Diff Detail

Event Timeline

magabari created this revision.Jul 10 2017, 1:01 AM
RKSimon edited edge metadata.Jul 10 2017, 1:46 AM

Wouldn't this be better done through X86TTIImpl::getGatherScatterOpCost ?

Wouldn't this be better done through X86TTIImpl::getGatherScatterOpCost ?

It will be used there, but currently we need to distinguish in which processor we have a profitable gather implementation.
later as noted in the TODO it will be changed to give the cost per processor which is currently not possible.

craig.topper added inline comments.Jul 10 2017, 8:41 AM
lib/Target/X86/X86Subtarget.h
201

Can we call this HasFastAVX2Gather to match the getter method?

magabari marked an inline comment as done.Jul 11 2017, 12:08 AM
magabari updated this revision to Diff 105968.Jul 11 2017, 12:11 AM

test case will be provided in my next commit which support avx2 gather generation.

Can put your next patch up for review now and make it dependent on this?

magabari abandoned this revision.EditedJul 13 2017, 4:11 AM

test case will be provided in my next commit which support avx2 gather generation.

Can put your next patch up for review now and make it dependent on this?

test case will be provided in my next commit which support avx2 gather generation.

Can put your next patch up for review now and make it dependent on this?

abandoned. please take at https://reviews.llvm.org/D35348

test case will be provided in my next commit which support avx2 gather generation.

Can put your next patch up for review now and make it dependent on this?

test case will be provided in my next commit which support avx2 gather generation.

Can put your next patch up for review now and make it dependent on this?

abandoned. please take a look at https://reviews.llvm.org/D35348