https://github.com/preames commented:
I don't think the heuristic here is quite what you want. I believe this heuristic disables both of the following cases: * BuildVector w/one non-zero non-undef element * BuildVector w/one non-zero non-undef source, repeated 100 times (i.e. splat or select of two splats) Disabling the former seems defensible, doing so for the second less so. Though honestly, I'm not sure of this change as a whole. Having a single canonical form seems valuable here. 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? 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