topperc wrote: The description here is misleading. I believe returning SDValue() here causes the shuffle to get expanded through memory. It will go through the Expand path in LegalizeDAG. https://github.com/llvm/llvm-project/pull/79330