llvm-6502/include/llvm/Target
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
..
CostTable.h Add a overload to CostTable which allows it to infer the size of the table. 2013-08-09 19:33:32 +00:00
Target.td Condition codes AL and NV are invalid in the aliases that use 2014-06-10 13:11:35 +00:00
TargetCallingConv.h ARM: HFAs must be passed in consecutive registers 2014-05-09 14:01:47 +00:00
TargetCallingConv.td ARM: HFAs must be passed in consecutive registers 2014-05-09 14:01:47 +00:00
TargetFrameLowering.h Re-apply r211399, "Generate native unwind info on Win64" with a fix to ignore SEH pseudo ops in X86 JIT emitter. 2014-06-25 12:41:52 +00:00
TargetInstrInfo.h The hazard recognizer only needs a subtarget, not a target machine 2014-06-13 22:38:52 +00:00
TargetIntrinsicInfo.h [C++11] More 'nullptr' conversion. In some cases just using a boolean check instead of comparing to nullptr. 2014-04-15 06:32:26 +00:00
TargetItinerary.td
TargetJITInfo.h Sort the #include lines for the include/... tree with the script. 2012-12-03 17:02:12 +00:00
TargetLibraryInfo.h SimplifyLibCalls: Push TLI through the exp2->ldexp transform. 2014-02-04 20:27:23 +00:00
TargetLowering.h Make it possible for ints/floats to return different values from getBooleanContents() 2014-07-10 10:18:12 +00:00
TargetLoweringObjectFile.h Fix a few issues with comdat handling on COFF. 2014-06-06 19:26:12 +00:00
TargetMachine.h Move the verbose asm option to be part of the options struct and 2014-05-20 23:59:50 +00:00
TargetOpcodes.h Replace PROLOG_LABEL with a new CFI_INSTRUCTION. 2014-03-07 06:08:31 +00:00
TargetOptions.h Add a new attribute called 'jumptable' that creates jump-instruction tables for functions marked with this attribute. 2014-06-05 19:29:43 +00:00
TargetRegisterInfo.h TargetRegisterInfo: Remove function that fell out of use years ago. 2014-07-09 18:53:57 +00:00
TargetSchedule.td Move late partial-unrolling thresholds into the processor definitions 2014-05-08 09:14:44 +00:00
TargetSelectionDAG.td ARM64: initial backend import 2014-03-29 10:18:08 +00:00
TargetSelectionDAGInfo.h Have TargetSelectionDAGInfo take a DataLayout initializer rather than 2014-06-06 19:04:48 +00:00
TargetSubtargetInfo.h [RegAllocGreedy] Provide a subtarget hook to disable the local reassignment 2014-07-02 18:32:04 +00:00