llvm-6502/lib
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
..
Analysis Split critical edges as needed for load PRE. 2010-02-16 19:51:59 +00:00
Archive
AsmParser Introduce isOpaqueTy and use it rather than isa<OpaqueType>. Also, move some 2010-02-16 14:50:09 +00:00
Bitcode
CodeGen
CompilerDriver
ExecutionEngine
Linker Introduce isOpaqueTy and use it rather than isa<OpaqueType>. Also, move some 2010-02-16 14:50:09 +00:00
MC
Support
System
Target Look for SSE and instructions of this form: (and x, (build_vector c1,c2,c3,c4)). 2010-02-16 21:09:44 +00:00
Transforms Rename SuccessorNumber to GetSuccessorNumber. 2010-02-16 21:06:42 +00:00
VMCore Function attributes have index ~0, not 0 2010-02-16 19:28:02 +00:00
Makefile