Open
Description
As discussed on #144690 and #141634 - we're making too many assumptions about how length changing shuffles are legalized by the target. These need to be driven by the actual target implementations.
Additionally - like getInstructionCost - improveShuffleKindFromMask needs to be able to recognize a SK_PermuteSingleSrc class shuffle that has been miss-tagged as a SK_PermuteTwoSrc class.
llvm-project/llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
Lines 1527 to 1547 in bb8c42e