Andrea Di Biagio cfdf805286 [X86] Teach how to combine horizontal binop even in the presence of undefs.
Before this change, the backend was unable to fold a build_vector dag
node with UNDEF operands into a single horizontal add/sub.

This patch teaches how to combine a build_vector with UNDEF operands into a
horizontal add/sub when possible. The algorithm conservatively avoids to combine
a build_vector with only a single non-UNDEF operand.

Added test haddsub-undef.ll to verify that we correctly fold horizontal binop
even in the presence of UNDEFs.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@211265 91177308-0d34-0410-b5e6-96231b3b80d8
2014-06-19 10:29:41 +00:00
..
2014-06-09 22:42:55 +00:00
2014-05-31 00:52:23 +00:00
2014-05-31 00:52:23 +00:00
2014-05-26 04:08:51 +00:00
2014-05-23 19:06:44 +00:00
2014-05-31 00:52:23 +00:00
2014-06-07 21:23:09 +00:00