[X86][SSE] canonicalizeShuffleWithBinOps - handle target shuffles. NFCI.
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Mon, 15 Mar 2021 11:24:07 +0000 (11:24 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Mon, 15 Mar 2021 11:59:25 +0000 (11:59 +0000)
commit9ba577eca2e339726bfaad4e615c6324a705b292
tree796128a0692d094629efa05fb4e4dfb5c2ef595b
parent61d314024dc447e49481cb8494bf7165f9ec1323
[X86][SSE] canonicalizeShuffleWithBinOps - handle target shuffles. NFCI.

Fold SHUFFLE(BINOP(SHUFFLE(X),SHUFFLE(Y))) -> BINOP(SHUFFLE'(X),SHUFFLE'(Y)) style patterns as well as the existing shuffles of constants.
llvm/lib/Target/X86/X86ISelLowering.cpp
llvm/test/CodeGen/X86/haddsub-3.ll
llvm/test/CodeGen/X86/haddsub-shuf.ll
llvm/test/CodeGen/X86/haddsub-undef.ll
llvm/test/CodeGen/X86/horizontal-sum.ll
llvm/test/CodeGen/X86/known-signbits-vector.ll
llvm/test/CodeGen/X86/phaddsub.ll
llvm/test/CodeGen/X86/srem-seteq-illegal-types.ll
llvm/test/CodeGen/X86/vec_uaddo.ll
llvm/test/CodeGen/X86/vec_usubo.ll
llvm/test/CodeGen/X86/vector-shuffle-sse4a.ll