preames wrote:

> > * BuildVector w/one non-zero non-undef source, repeated 100 times (i.e. 
> > splat or select of two splats)
> 
> I don't follow, this is a 2 element vector, how can you have 100 variants?

Isn't the condition in code in terms of VecIn.size() == 2?  I believe that 
VecIn is the *unique* input elements, right?  Which is distinct from the number 
of elements in the destination type?  (Am I just misreading?  I only skimmed 
this.)

> > If the target isn't optimally lowering the splat or select of splat case in 
> > the shuffle lowering, maybe we should just adjust the target lowering to do 
> > so?t
> 
> It's not a lowering issue, it's the effect on every other combine. We'd have 
> to special case 1 element + 1 undef shuffles everywhere we handle 
> extract_vector_elt now, which is just excessive complexity. #122671 is almost 
> an alternative in one instance, but still shows expanding complexity of 
> handling this edge case.

Honestly,  #122671 (from the review description only) sounds like a worthwhile 
change.  That's not a hugely compelling argument here.  Let's settle the prior 
point, and then return to this.  If I'm just misreading something, let's not 
waste time discussing this.  



https://github.com/llvm/llvm-project/pull/122672
_______________________________________________
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

Reply via email to