OSDN Git Service

[x86] add load fold patterns for movddup with vzext_load
authorSanjay Patel <spatel@rotateright.com>
Sat, 22 Dec 2018 16:59:02 +0000 (16:59 +0000)
committerSanjay Patel <spatel@rotateright.com>
Sat, 22 Dec 2018 16:59:02 +0000 (16:59 +0000)
commited78f25ec768a0556ba432ac1ce4751a97c156d4
treed1b39945a57a83edffa49f116d2e764436f0563a
parent9d33cfb2eb0d1e1bca47f0048eb954ab7872cf0c
[x86] add load fold patterns for movddup with vzext_load

The missed load folding noticed in D55898 is visible independent of that change
either with an adjusted IR pattern to start or with AVX2/AVX512 (where the build
vector becomes a broadcast first; movddup is not produced until we get into isel
via tablegen patterns).

Differential Revision: https://reviews.llvm.org/D55936

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@350005 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/X86/X86InstrAVX512.td
lib/Target/X86/X86InstrSSE.td
test/CodeGen/X86/build-vector-128.ll
test/CodeGen/X86/movddup-load-fold.ll
test/CodeGen/X86/vector-shuffle-combining-xop.ll