OSDN Git Service

[X86][SSE] Always combine target shuffles to MOVSD/MOVSS
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Sat, 1 Oct 2016 15:33:01 +0000 (15:33 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Sat, 1 Oct 2016 15:33:01 +0000 (15:33 +0000)
commit55ce06af6f1196c238581d08f29f99f7475ff270
treeabcd007ff8a5376b1c7cad68ef36eb7a885b97be
parent1c8d24e339205522c3e73d183d500c14aeb34098
[X86][SSE] Always combine target shuffles to MOVSD/MOVSS

Now we can commute to BLENDPD/BLENDPS on SSE41+ targets if necessary, so simplify the combine matching where we can.

This required me to add a couple of scalar math movsd/moss fold patterns that hadn't been needed in the past.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@283038 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/X86/X86ISelLowering.cpp
lib/Target/X86/X86InstrAVX512.td
lib/Target/X86/X86InstrSSE.td
test/CodeGen/X86/sse-scalar-fp-arith.ll
test/CodeGen/X86/sse41.ll
test/CodeGen/X86/vector-blend.ll
test/CodeGen/X86/vector-shuffle-128-v2.ll
test/CodeGen/X86/vector-shuffle-combining-ssse3.ll
test/CodeGen/X86/vector-shuffle-combining-xop.ll