[DAGCombiner] Fold *_EXTEND_INREG of one of CONCAT_VECTORS operands into *_EXTEND...
authorRoman Lebedev <lebedev.ri@gmail.com>
Wed, 4 Jan 2023 21:07:38 +0000 (00:07 +0300)
committerRoman Lebedev <lebedev.ri@gmail.com>
Wed, 4 Jan 2023 22:12:31 +0000 (01:12 +0300)
commit317a1adfe4927c06eee606a81ac9b01fd6d6df93
tree0c4768fbc82f9abdd2f0a00f85230e603f86a103
parent2b1d077592a680d1ac16ef4315d2293a58cf7445
[DAGCombiner] Fold *_EXTEND_INREG of one of CONCAT_VECTORS operands into *_EXTEND of operand

This appears to be the root problematic pattern
for AArch64 regression in D140677.

We already do this, and many more, as target-specific X86 combines,
so this isn't causing much of an impact.
llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
llvm/test/CodeGen/AArch64/extend_inreg_of_concat_subvectors.ll
llvm/test/CodeGen/AArch64/zext-to-tbl.ll