llvm-project/llvm/lib
Hal Finkel a2cdbce661 [PowerPC] Fixup SELECT_CC (and SETCC) patterns with i1 comparison operands
There were really two problems here. The first was that we had the truth tables
for signed i1 comparisons backward. I imagine these are not very common, but if
you have:
  setcc i1 x, y, LT
this has the '0 1' and the '1 0' results flipped compared to:
  setcc i1 x, y, ULT
because, in the signed case, '1 0' is really '-1 0', and the answer is not the
same as in the unsigned case.

The second problem was that we did not have patterns (at all) for the unsigned
comparisons select_cc nodes for i1 comparison operands. This was the specific
cause of PR24552. These had to be added (and a missing Altivec promotion added
as well) to make sure these function for all types. I've added a bunch more
test cases for these patterns, and there are a few FIXMEs in the test case
regarding code-quality.

Fixes PR24552.

llvm-svn: 246400
2015-08-30 22:12:50 +00:00
..
Analysis NFC: Code style in VectorUtils.cpp 2015-08-30 13:48:02 +00:00
AsmParser DI: Require subprogram definitions to be distinct 2015-08-28 20:26:49 +00:00
Bitcode DI: Require subprogram definitions to be distinct 2015-08-28 20:26:49 +00:00
CodeGen Revert "Revert "New interface function is added to VectorUtils Value *getSplatValue(Value *Val);"" 2015-08-30 10:49:04 +00:00
DebugInfo [dwarfdump] Do not apply relocations in mach-o files if there is no LoadedObjectInfo. 2015-08-23 04:44:21 +00:00
ExecutionEngine [mips64][mcjit] Add N64R6 relocations tests and fix N64R2 tests 2015-08-28 18:02:53 +00:00
Fuzzer [libFuzzer] fix minor inefficiency, PR24584 2015-08-26 21:55:19 +00:00
IR DI: Set DILexicalBlock columns >= 65536 to 0/unknown 2015-08-28 22:58:50 +00:00
IRReader Return a unique_ptr from getLazyBitcodeModule and parseBitcodeFile. NFC. 2015-06-16 22:27:55 +00:00
LTO CodeGen: Introduce splitCodeGen and teach LTOCodeGenerator to use it. 2015-08-27 23:37:36 +00:00
LibDriver There is only one saver of strings. 2015-08-13 01:07:02 +00:00
LineEditor Use ADDITIONAL_HEADER_DIRS in all LLVM CMake projects. 2015-02-11 03:28:02 +00:00
Linker Linker: Remove empty destructor. 2015-08-21 04:51:24 +00:00
MC [MC] Split the layout part of MCAssembler::finish() into its own method. NFC. 2015-08-26 05:09:49 +00:00
Object Re-apply r246276 - Object: Teach llvm-ar to create symbol table for COFF short import files 2015-08-28 07:40:30 +00:00
Option Add an ArgList::AddAllArgs that accepts a vector of OptSpecifier. 2015-07-29 17:34:41 +00:00
Passes [PM/AA] Remove the last relics of the separate IPA library from LLVM, 2015-08-18 17:51:53 +00:00
ProfileData Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
Support Stop calling the flat out insane ARM target parsing code unless the 2015-08-30 09:54:34 +00:00
TableGen TableGen: Support folding casts from bits to int 2015-07-31 01:12:06 +00:00
Target [PowerPC] Fixup SELECT_CC (and SETCC) patterns with i1 comparison operands 2015-08-30 22:12:50 +00:00
Transforms [InstCombine] Fix PR24605. 2015-08-28 19:09:31 +00:00
CMakeLists.txt LibDriver, llvm-lib: introduce. 2015-06-09 21:50:22 +00:00
LLVMBuild.txt Wrap some long lines in LLVMBuild files. NFC 2015-06-12 18:44:57 +00:00
Makefile LibDriver, llvm-lib: introduce. 2015-06-09 21:50:22 +00:00