[PATCH] D34601: [X86][LLVM]Expanding Supports lowerInterleavedStore() in X86InterleavedAccess.

michael zuckerman via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sun Jul 16 01:56:24 PDT 2017


m_zuckerman marked an inline comment as done.
m_zuckerman added a comment.

In https://reviews.llvm.org/D34601#808867, @DavidKreitzer wrote:

> Hi Michael, I have one small additional comment. Otherwise, this looks good.


This the error I am getting when I try to define the function with a default parameter. 
void llvm::scaleShuffleMask(int,llvm::ArrayRef<T>,llvm::SmallVectorImpl<T> &)': could **not deduce template argument** for 'llvm::ArrayRef<T>' from 'llvm::SmallVector<int,4>'

If you prefer not to touch the CPP file. We can define an overload function in the header file that will explicit set the function signature.

The function in the header will look like:

  template <typename t1, unsigned n>
  void scaleshufflemask(int scale, typename smallvector<t1, n> mask,
    typename smallvectorimpl<t1> &scaledmask) {
    scaleshufflemask(scale, makearrayref(mask), scaledmask);

This function describe another signature that one of the call in the CPP file uses.

The other option is as  I proposed on this review.

What you prefer?


https://reviews.llvm.org/D34601





More information about the llvm-commits mailing list