[x86] Add the beginnings of a proper DAG combine to match ADDSUBPS and
authorChandler Carruth <chandlerc@gmail.com>
Tue, 16 Sep 2014 00:15:20 +0000 (00:15 +0000)
committerChandler Carruth <chandlerc@gmail.com>
Tue, 16 Sep 2014 00:15:20 +0000 (00:15 +0000)
commitcba9d1273a61b371eda0c346293f6abea0980e64
tree06fd379da751d84a2af18c8273435cf55131e80f
parentc0f00e90d2a7e8cfd0996fecea6710fc67c36972
[x86] Add the beginnings of a proper DAG combine to match ADDSUBPS and
ADDSUBPD nodes out of blends of adds and subs.

This allows us to actually form these instructions with SSE3 rather than
only forming them when we had both SSE3 for the ADDSUB instructions and
SSE4.1 for the blend instructions. ;] Kind-of important.

I've adjusted the CPU requirements on one of the tests to demonstrate
this kicking in nicely for an SSE3 cpu configuration.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@217848 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/X86/X86ISelLowering.cpp
test/CodeGen/X86/sse3-avx-addsub.ll