Evan Cheng ae3ecf9603 Look for SSE and instructions of this form: (and x, (build_vector c1,c2,c3,c4)).
If there exists a use of a build_vector that's the bitwise complement of the mask,
then transform the node to
(and (xor x, (build_vector -1,-1,-1,-1)), (build_vector ~c1,~c2,~c3,~c4)).

Since this transformation is only useful when 1) the given build_vector will
become a load from constpool, and 2) (and (xor x -1), y) matches to a single
instruction, I decided this is appropriate as a x86 specific transformation.
rdar://7323335


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96389 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-16 21:09:44 +00:00
..
2010-01-12 18:29:23 +00:00
2009-09-23 18:20:27 +00:00
2010-01-23 01:19:28 +00:00
2009-11-18 21:33:35 +00:00
2009-11-26 00:35:01 +00:00
2010-02-13 02:06:10 +00:00
2010-02-15 22:03:29 +00:00
2010-01-02 00:22:15 +00:00
2009-11-07 06:19:20 +00:00
2009-09-11 18:36:27 +00:00
2009-11-11 07:11:02 +00:00
2009-11-11 07:11:02 +00:00
2009-11-11 07:11:02 +00:00
2009-11-11 07:11:02 +00:00
2010-01-12 04:52:47 +00:00
2009-09-09 00:19:46 +00:00
2010-01-05 17:55:26 +00:00
2009-12-16 00:53:11 +00:00
2010-01-19 21:51:51 +00:00
2010-01-23 01:19:28 +00:00
2010-01-04 21:23:34 +00:00
2009-10-23 05:58:34 +00:00
2009-10-23 05:58:34 +00:00
2009-10-23 05:58:34 +00:00
2009-10-23 05:58:34 +00:00
2009-10-16 22:09:05 +00:00
2009-10-16 22:09:05 +00:00
2009-10-16 22:09:05 +00:00
2009-10-16 22:09:05 +00:00
2009-10-16 22:09:05 +00:00
2009-10-16 22:09:05 +00:00
2009-10-16 22:09:05 +00:00
2009-10-16 22:09:05 +00:00
2009-10-16 22:09:05 +00:00
2009-10-16 22:09:05 +00:00
2009-10-16 22:09:05 +00:00
2009-10-16 22:09:05 +00:00
2009-10-16 22:09:05 +00:00
2009-10-16 22:09:05 +00:00
2009-10-16 22:07:19 +00:00
2010-01-18 21:38:44 +00:00
2009-12-15 03:00:32 +00:00