[x86] use a single shufps for 256-bit vectors when it can save instructions
authorSanjay Patel <spatel@rotateright.com>
Thu, 15 Dec 2016 18:43:46 +0000 (18:43 +0000)
committerSanjay Patel <spatel@rotateright.com>
Thu, 15 Dec 2016 18:43:46 +0000 (18:43 +0000)
commita97358bc8e8c9a98438d0bae0f863cf8b16c8e2b
tree7084a68388911c2b0f252377dc622bdd587dba4d
parent2c8de192a1eab0f60c3c3ccc3652e22cba275a82
[x86] use a single shufps for 256-bit vectors when it can save instructions

This is the 256-bit counterpart to the 128-bit transform checked in here:
https://reviews.llvm.org/rL289837

This patch is based on the draft by @sroland (Roland Scheidegger) that is
attached to PR27885:
https://llvm.org/bugs/show_bug.cgi?id=27885

llvm-svn: 289846
llvm/lib/Target/X86/X86ISelLowering.cpp
llvm/test/CodeGen/X86/pmul.ll
llvm/test/CodeGen/X86/vector-shuffle-256-v8.ll