[X86][SSE] Fold HOP(SHUFFLE(X),SHUFFLE(Y)) --> SHUFFLE(HOP(X,Y))
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Fri, 14 Aug 2020 15:15:05 +0000 (16:15 +0100)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Fri, 14 Aug 2020 17:43:19 +0000 (18:43 +0100)
commite9eb2dc33261ceeda573ae23c606e513f17de48c
treeac36e3c1feec3af81af040651482b014c7dffcce
parent40a142fa57d648e3daadfdaa75731360e1ebab2e
[X86][SSE] Fold HOP(SHUFFLE(X),SHUFFLE(Y)) --> SHUFFLE(HOP(X,Y))

This is beginning to look like a canonicalization stage that could be performed as part of shuffle combining

Another step towards PR41813

Recommit of rG9bd97d036398 with fixed offset adjustments
llvm/lib/Target/X86/X86ISelLowering.cpp
llvm/test/CodeGen/X86/haddsub-shuf.ll
llvm/test/CodeGen/X86/haddsub-undef.ll