[PATCH] D79231: [X86] Custom legalize v16i64->v16i8 truncate with avx512.

Craig Topper via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sun May 3 11:41:41 PDT 2020


craig.topper added a comment.

In D79231#2016749 <https://reviews.llvm.org/D79231#2016749>, @craig.topper wrote:

> In D79231#2016648 <https://reviews.llvm.org/D79231#2016648>, @RKSimon wrote:
>
> > In D79231#2016102 <https://reviews.llvm.org/D79231#2016102>, @craig.topper wrote:
> >
> > > In D79231#2014842 <https://reviews.llvm.org/D79231#2014842>, @RKSimon wrote:
> > >
> > > > Does anything need to be done for truncstore cases?
> > >
> > >
> > > It looks like previously we would form a truncstore using vmovdb after type legalization. After this patch we no longer do that.
> >
> >
> > Is it still a perf gain if we lose the truncstore? I can't see any truncstore test changes in the patch, but we might just be missing test coverage.
>
>
> I don’t think the store unit does the truncate. I think its still does the truncate in the shuffle unit and then does a separate store. I’ll double check uops.info.


Confirmed with uop.info that vpmovdb is just 2 shuffles and a store address and store data uop. The store address and store data appear to microfused which is pretty normal for stores.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D79231/new/

https://reviews.llvm.org/D79231





More information about the llvm-commits mailing list