[PATCH] D57398: SimplifyDemandedVectorElts for all intrinsics

Simon Pilgrim via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jan 31 11:20:58 PST 2019


RKSimon added a comment.

In D57398#1379071 <https://reviews.llvm.org/D57398#1379071>, @reames wrote:

> In D57398#1377731 <https://reviews.llvm.org/D57398#1377731>, @RKSimon wrote:
>
> > In D57398#1377469 <https://reviews.llvm.org/D57398#1377469>, @reames wrote:
> >
> > > In D57398#1376798 <https://reviews.llvm.org/D57398#1376798>, @RKSimon wrote:
> > >
> > > > future patches should hopefully be able to move more of the SimplifyDemandedVectorElts/SimplifyDemandedVectorEltsLow code over.
> > >
> > >
> > > Not sure what you mean here.  Over to where? from where?
> >
> >
> > I meant for cases like the SimplifyDemandedVectorEltsLow call in Intrinsic::x86_vcvtph2ps_128/256 which can now be removed and similar code moved into InstCombiner::SimplifyDemandedVectorElts so it is correctly handled within a recursive call. Not all intrinsics would work, but some are probably worth it.
>
>
> Ah, yes.  I don't plan to focus on the x86 specific intrinsics, but I agree that would be a worthwhile cleanup.


I'll take a look at some point.

> At a high level, do you know why we need these intrinsics at all?  What are they expressing which can be well represented/pattern matched from normal IR?

The cvtph2ps intrinsics are still around because x86 is terrible at f16 lowering (scalar and vector) - see PR37554


Repository:
  rL LLVM

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

https://reviews.llvm.org/D57398





More information about the llvm-commits mailing list