OSDN Git Service

Revert rGd43a264a5dd3 "Revert "[X86][SSE] Fold unpack(hop(),hop()) -> permute(hop...
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Mon, 11 Jan 2021 11:15:28 +0000 (11:15 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Mon, 11 Jan 2021 11:29:04 +0000 (11:29 +0000)
commit41bf338dd1e7f07c1e89f171ff6d53578f5125be
treef38d1354a88ac0199102243e734160e8aa47770e
parentc37f68a8885cf55e9a6603613a918c4e7474e9af
Revert rGd43a264a5dd3 "Revert "[X86][SSE] Fold unpack(hop(),hop()) -> permute(hop())""

This reapplies commit rG80dee7965dffdfb866afa9d74f3a4a97453708b2.

[X86][SSE] Fold unpack(hop(),hop()) -> permute(hop())

UNPCKL/UNPCKH only uses one op from each hop, so we can merge the hops and then permute the result.

REAPPLIED with a fix for unary unpacks of HOP.
llvm/lib/Target/X86/X86ISelLowering.cpp
llvm/test/CodeGen/X86/horizontal-shuffle-2.ll