llvm-6502/lib
Daniel Sanders b0b3161567 Make it possible for ints/floats to return different values from getBooleanContents()
Summary:
On MIPS32r6/MIPS64r6, floating point comparisons return 0 or -1 but integer
comparisons return 0 or 1.

Updated the various uses of getBooleanContents. Two simplifications had to be
disabled when float and int boolean contents differ:
- ScalarizeVecRes_VSELECT except when the kind of boolean contents is trivially
  discoverable (i.e. when the condition of the VSELECT is a SETCC node).
- visitVSELECT (select C, 0, 1) -> (xor C, 1).
  Come to think of it, this one could test for the common case of 'C'
  being a SETCC too.

Preserved existing behaviour for all other targets and updated the affected
MIPS32r6/MIPS64r6 tests. This also fixes the pi benchmark where the 'low'
variable was counting in the wrong direction because it thought it could simply
add the result of the comparison.

Reviewers: hfinkel

Reviewed By: hfinkel

Subscribers: hfinkel, jholewinski, mcrosier, llvm-commits

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


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@212697 91177308-0d34-0410-b5e6-96231b3b80d8
2014-07-10 10:18:12 +00:00
..
Analysis Allow isDereferenceablePointer to look through some bitcasts 2014-07-10 05:27:53 +00:00
AsmParser Update the MemoryBuffer API to use ErrorOr. 2014-07-06 17:43:13 +00:00
Bitcode Fix a bug in the conversion to ErrorOr. 2014-07-04 20:05:56 +00:00
CodeGen Make it possible for ints/floats to return different values from getBooleanContents() 2014-07-10 10:18:12 +00:00
DebugInfo Revert "Introduce a string_ostream string builder facilty" 2014-06-26 22:52:05 +00:00
ExecutionEngine ExecutionEngine::create(): fix interpreter fallback when JIT is unavailable 2014-07-01 03:18:49 +00:00
IR Fix isDereferenceablePointer not to try to take the size of an unsized type. 2014-07-10 06:06:11 +00:00
IRReader Update the MemoryBuffer API to use ErrorOr. 2014-07-06 17:43:13 +00:00
LineEditor [CMake] Use LINK_LIBS instead of target_link_libraries(). 2014-02-26 06:41:29 +00:00
Linker Include <tuple> to make buildbots happy 2014-06-27 18:38:12 +00:00
LTO Update the MemoryBuffer API to use ErrorOr. 2014-07-06 17:43:13 +00:00
MC MC: modernise for loop 2014-07-10 04:50:09 +00:00
Object Add support for BSD format Archive map symbols (aka the table of contents 2014-07-08 22:10:02 +00:00
Option Generic: add range-adapter for option parsing. 2014-07-09 13:03:37 +00:00
ProfileData Update the MemoryBuffer API to use ErrorOr. 2014-07-06 17:43:13 +00:00
Support Remove move assignment operator to appease older GCCs. 2014-07-10 04:39:40 +00:00
TableGen Update the MemoryBuffer API to use ErrorOr. 2014-07-06 17:43:13 +00:00
Target Make it possible for ints/floats to return different values from getBooleanContents() 2014-07-10 10:18:12 +00:00
Transforms Allow isDereferenceablePointer to look through some bitcasts 2014-07-10 05:27:53 +00:00
CMakeLists.txt ProfileData: Introduce the InstrProfReader interface and a text reader 2014-03-21 17:24:48 +00:00
LLVMBuild.txt ProfileData: Introduce the InstrProfReader interface and a text reader 2014-03-21 17:24:48 +00:00
Makefile ProfileData: Introduce the InstrProfReader interface and a text reader 2014-03-21 17:24:48 +00:00