llvm-project/llvm/lib
Sanjay Patel 977530a8c9 [x86, SSE] change patterns for CMPP to float types to allow matching with SSE1 (PR28044)
This patch is intended to solve:
https://llvm.org/bugs/show_bug.cgi?id=28044

By changing the definition of X86ISD::CMPP to use float types, we allow it to be created 
and pass legalization for an SSE1-only target where v4i32 is not legal.

The motivational trail for this change includes:
https://llvm.org/bugs/show_bug.cgi?id=28001

and eventually makes this trigger:
http://reviews.llvm.org/D21190

Ie, after this step, we should be free to have Clang generate FP compare IR instead of x86
intrinsics for SSE C packed compare intrinsics. (We can auto-upgrade and remove the LLVM 
sse.cmp intrinsics as a follow-up step.) Once we're generating vector IR instead of x86
intrinsics, a big pile of generic optimizations can trigger.

Differential Revision: http://reviews.llvm.org/D21235

llvm-svn: 272511
2016-06-12 15:03:25 +00:00
..
Analysis [LICM] Make isGuaranteedToExecute more accurate. 2016-06-11 21:48:25 +00:00
AsmParser [DebugInfo] Add calling convention support for DWARF and CodeView 2016-06-08 20:34:29 +00:00
Bitcode BitcodeReader: Use std:::piecewise_construct when upgrading type refs 2016-06-09 20:46:33 +00:00
CodeGen [RegUsageInfoCollector] Drop unneccesary const_cast. NFC. 2016-06-12 13:32:23 +00:00
DebugInfo [pdb] Fix issues with pdb writing. 2016-06-10 21:47:26 +00:00
ExecutionEngine [MCJIT] Update MCJIT and get the fibonacci example working again. 2016-06-11 05:47:04 +00:00
Fuzzer [LibFuzzer] Fix some unit test crashes on OSX. 2016-06-10 05:33:07 +00:00
IR [X86] Remove sse2 pshufd/pshuflw/pshufhw intrinsics and upgrade them to shufflevector. 2016-06-12 14:11:32 +00:00
IRReader Remove autoconf support 2016-01-26 21:29:08 +00:00
LTO [PM] Port ReversePostOrderFunctionAttrs to the new PM 2016-06-12 07:48:51 +00:00
LibDriver LibDriver: Silently do nothing when provided no inputs. 2016-04-13 19:36:04 +00:00
LineEditor Fix Clang-tidy modernize-deprecated-headers warnings in some files; other minor fixes. 2016-03-28 17:40:08 +00:00
Linker Apply most suggestions of clang-tidy's performance-unnecessary-value-param 2016-06-08 19:09:22 +00:00
MC Apply most suggestions of clang-tidy's performance-unnecessary-value-param 2016-06-08 19:09:22 +00:00
Object [Symbolize] Check if the PE file has a PDB and emit an error if we can't load it 2016-06-03 20:25:09 +00:00
ObjectYAML [obj2yaml] [yaml2obj] Support for MachO nlist and string table 2016-06-02 22:54:06 +00:00
Option Option parser: class for consuming a joined arg in addition to all remaining args 2016-04-15 00:23:30 +00:00
Passes [PM] Port DeadArgumentElimination to the new PM 2016-06-12 09:16:39 +00:00
ProfileData Bug fix remove another illegal char from prof symbol name 2016-06-10 06:32:26 +00:00
Support [STLExtras] Introduce and use llvm::count_if; NFC 2016-06-10 21:18:39 +00:00
TableGen Avoid copies of std::strings and APInt/APFloats where we only read from it 2016-06-08 10:01:20 +00:00
Target [x86, SSE] change patterns for CMPP to float types to allow matching with SSE1 (PR28044) 2016-06-12 15:03:25 +00:00
Transforms [PM] Port DeadArgumentElimination to the new PM 2016-06-12 09:16:39 +00:00
CMakeLists.txt Move ObjectYAML code to a new library. 2016-03-01 19:15:06 +00:00
LLVMBuild.txt Add LLVMBuild for ObjectYAML. 2016-03-01 21:29:33 +00:00