llvm/test
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
Archive fix a broken archive that was breaking dejagnu only (not lit) 2010-02-04 07:11:08 +00:00
Assembler Add support for a union type in LLVM IR. Patch by Talin! 2010-02-12 20:49:41 +00:00
Bindings/Ocaml
Bitcode
BugPoint
CodeGen Look for SSE and instructions of this form: (and x, (build_vector c1,c2,c3,c4)). 2010-02-16 21:09:44 +00:00
DebugInfo
ExecutionEngine
Feature Add support for a union type in LLVM IR. Patch by Talin! 2010-02-12 20:49:41 +00:00
FrontendAda
FrontendC Update test to match 95961. 2010-02-12 07:48:46 +00:00
FrontendC++ test case for r95604. 2010-02-08 23:27:46 +00:00
FrontendFortran
FrontendObjC Test for 95961. 2010-02-12 02:35:03 +00:00
FrontendObjC++
Integer
lib
Linker
LLVMC Revert r96130 ("Forward parameter options as '-option=param'"). 2010-02-15 03:17:06 +00:00
MC make pcrel immediate values relative to the start of the field, 2010-02-16 05:03:17 +00:00
Other Canonicalize sizeof and alignof on pointer types to a canonical 2010-02-10 06:13:07 +00:00
Scripts
TableGen
Transforms Testcase for critical edge splitting with load PRE. 2010-02-16 20:48:55 +00:00
Unit
Verifier
CMakeLists.txt
lit.cfg Get the LLVMC tests working with clang++ by removing the problematic CXXFLAG in lit. 2010-02-04 18:40:11 +00:00
lit.site.cfg.in
Makefile
Makefile.tests
site.exp.in
TestRunner.sh