OSDN Git Service

[X86] Cleanup patterns for using VMOVDDUP for broadcasts.
authorCraig Topper <craig.topper@gmail.com>
Sat, 1 Oct 2016 07:11:24 +0000 (07:11 +0000)
committerCraig Topper <craig.topper@gmail.com>
Sat, 1 Oct 2016 07:11:24 +0000 (07:11 +0000)
commitb8004760df78059ab46342f315219aee2b6b5258
tree26a2a1e4206de3996a3a9a6eb411e769c36f4bb8
parent102077e6f35ba90da03790225968b528e99534b4
[X86] Cleanup patterns for using VMOVDDUP for broadcasts.

-Remove OptForSize. Not all of the backend follows the same rules for creating broadcasts and there is no conflicting pattern.
-Don't stop selecting VEX VMOVDDUP when AVX512 is supported. We need VLX for EVEX VMOVDDUP.
-Only use VMOVDDUP for v2i64 broadcasts if AVX2 is not supported.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@283020 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/X86/X86InstrSSE.td
test/CodeGen/X86/avx2-vbroadcast.ll
test/CodeGen/X86/splat-for-size.ll