Files
clang-p2996/llvm/test/CodeGen/X86
Andrea Di Biagio 54b0949af9 [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.

llvm-svn: 211265
2014-06-19 10:29:41 +00:00
..
2014-06-09 22:42:55 +00:00
2014-02-16 07:31:05 +00:00
2013-10-15 23:33:07 +00:00
2013-10-15 23:33:07 +00:00
2013-10-15 23:33:07 +00:00
2014-05-31 00:52:23 +00:00
2013-10-15 23:33:07 +00:00
2014-05-31 00:52:23 +00:00
2013-10-15 23:33:07 +00:00
2014-05-19 19:45:57 +00:00
2014-01-16 06:31:20 +00:00
2014-01-24 17:20:08 +00:00
2014-04-19 13:47:43 +00:00
2013-10-15 23:33:07 +00:00
2014-05-05 16:47:07 +00:00
2013-10-15 23:33:07 +00:00
2013-10-15 23:33:07 +00:00
2014-05-26 04:08:51 +00:00
2013-10-15 23:33:07 +00:00
2013-10-15 23:33:07 +00:00
2013-10-15 23:33:07 +00:00
2013-10-15 23:33:07 +00:00
2013-10-15 23:33:07 +00:00
2013-10-15 23:33:07 +00:00
2014-05-23 19:06:44 +00:00
2013-10-15 23:33:07 +00:00
2013-10-15 23:33:07 +00:00
2013-10-15 23:33:07 +00:00
2013-10-15 23:33:07 +00:00
2013-10-16 02:27:33 +00:00
2013-12-11 08:38:42 +00:00
2013-12-11 08:38:42 +00:00
2013-10-15 23:33:07 +00:00
2013-10-15 23:33:07 +00:00
2014-01-24 17:20:08 +00:00
2013-10-15 23:33:07 +00:00
2013-10-15 23:33:07 +00:00
2014-05-06 01:20:42 +00:00
2013-11-14 06:05:49 +00:00
2014-03-21 00:30:24 +00:00
2013-12-11 04:10:41 +00:00
2013-10-15 23:33:07 +00:00
2014-02-25 20:01:08 +00:00
2013-10-15 23:33:07 +00:00
2013-10-15 23:33:07 +00:00
2013-10-15 17:51:02 +00:00
2013-10-15 17:51:58 +00:00
2013-12-03 09:17:32 +00:00
2013-11-02 00:10:02 +00:00
2013-11-22 17:56:57 +00:00
2013-11-25 18:05:22 +00:00
2013-11-26 20:31:31 +00:00
2013-10-15 23:33:07 +00:00
2013-10-15 23:33:07 +00:00
2013-10-15 23:33:07 +00:00
2013-10-31 17:50:45 +00:00
2013-10-15 23:33:07 +00:00
2013-10-15 23:33:07 +00:00
2014-01-24 17:20:08 +00:00
2013-10-15 23:33:07 +00:00
2014-05-31 00:52:23 +00:00
2013-10-15 23:33:07 +00:00
2014-05-20 17:40:03 +00:00
2013-10-15 23:33:07 +00:00
2013-10-15 23:33:07 +00:00
2013-10-15 23:33:07 +00:00
2013-11-17 10:53:19 +00:00
2013-10-15 23:33:07 +00:00
2013-10-15 23:33:07 +00:00
2013-10-15 23:33:07 +00:00
2014-01-11 21:06:00 +00:00
2014-02-28 18:44:39 +00:00
2013-10-15 23:33:07 +00:00
2013-10-15 23:33:07 +00:00
2014-02-16 07:31:05 +00:00
2013-10-15 23:33:07 +00:00
2014-06-07 21:23:09 +00:00
2013-10-15 23:33:07 +00:00
2013-12-05 05:44:44 +00:00
2013-10-15 23:33:07 +00:00
2013-10-15 23:33:07 +00:00