[PATCH] D60150: [DAGCombiner][x86] scalarize splatted vector FP ops
Sanjay Patel via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Apr 3 06:53:13 PDT 2019
spatel marked an inline comment as done.
spatel added inline comments.
================
Comment at: llvm/lib/Target/X86/X86ISelLowering.h:1075
+ EVT EltVT = VecOp.getValueType().getScalarType();
+ return (EltVT == MVT::f32 || EltVT == MVT::f64) && !SplatIndex;
+ }
----------------
spatel wrote:
> RKSimon wrote:
> > I'm still amazed we haven't ended up with a isExtractElementCheap helper yet.
> Yes, I went back and forth on how to structure and name this.
>
> Just realized something though: the fold that I mentioned is in instcombine already exists here in the DAG. That would move splats (and other matching shuffles) after a binop because that's always a win (removes a shuffle).
>
> But the transform is currently limited by a seemingly unnecessary legality check, so that's why it didn't catch any of the cases that I was looking at.
>
> Let me adjust that existing fold and see if that changes how we want to implement this hook. At the least, instead of starting the match from a binop, we'll start the match from the splat and then check the binop.
rL357580
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D60150/new/
https://reviews.llvm.org/D60150
More information about the llvm-commits
mailing list