Check to see if this is a CONCAT_VECTORS of a bunch of EXTRACT_SUBVECTOR operations. If so, and if the EXTRACT_SUBVECTOR vector inputs come from at most two distinct vectors the same size as the result, attempt to turn this into a legal shuffle.
Details
Diff Detail
- Repository
- rL LLVM
Event Timeline
Hi Simon,
lib/CodeGen/SelectionDAG/DAGCombiner.cpp | ||
---|---|---|
12236 | remove extra semicolon. | |
12272 | This is the first place (at least on x86) where we check if VT is a legal type. |
Thanks Andrea, we've used the (Level < AfterLegalizeVectorOps && TLI.isTypeLegal(VT)) pattern in a lot of other shuffle code so don't have a problem adding it here.
remove extra semicolon.