freebsd-nq/contrib/llvm/lib/Target/PowerPC
Dimitry Andric 11c1fce83a Pull in r283060 from upstream llvm trunk (by Hal Finkel):
[PowerPC] Refactor soft-float support, and enable PPC64 soft float

  This change enables soft-float for PowerPC64, and also makes
  soft-float disable all vector instruction sets for both 32-bit and
  64-bit modes. This latter part is necessary because the PPC backend
  canonicalizes many Altivec vector types to floating-point types, and
  so soft-float breaks scalarization support for many operations. Both
  for embedded targets and for operating-system kernels desiring
  soft-float support, it seems reasonable that disabling hardware
  floating-point also disables vector instructions (embedded targets
  without hardware floating point support are unlikely to have Altivec,
  etc. and operating system kernels desiring not to use floating-point
  registers to lower syscall cost are unlikely to want to use vector
  registers either). If someone needs this to work, we'll need to
  change the fact that we promote many Altivec operations to act on
  v4f32. To make it possible to disable Altivec when soft-float is
  enabled, hardware floating-point support needs to be expressed as a
  positive feature, like the others, and not a negative feature,
  because target features cannot have dependencies on the disabling of
  some other feature. So +soft-float has now become -hard-float.

  Fixes PR26970.

Pull in r283061 from upstream clang trunk (by Hal Finkel):

  [PowerPC] Enable soft-float for PPC64, and +soft-float -> -hard-float

  Enable soft-float support on PPC64, as the backend now supports it.
  Also, the backend now uses -hard-float instead of +soft-float, so set
  the target features accordingly.

  Fixes PR26970.

Reported by:	Mark Millard
PR:		214433
2016-11-25 18:12:13 +00:00
..
AsmParser Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
Disassembler Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
InstPrinter Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
MCTargetDesc Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
TargetInfo Merge llvm trunk r238337 from ^/vendor/llvm/dist, resolve conflicts, and 2015-05-27 20:26:41 +00:00
p9-instrs.txt Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
PPC.h Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
PPC.td Pull in r283060 from upstream llvm trunk (by Hal Finkel): 2016-11-25 18:12:13 +00:00
PPCAsmPrinter.cpp Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
PPCBoolRetToInt.cpp Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
PPCBranchSelector.cpp Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
PPCCallingConv.h Update llvm/clang to r241361. 2015-07-05 22:34:42 +00:00
PPCCallingConv.td Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
PPCCCState.cpp Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
PPCCCState.h Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
PPCCTRLoops.cpp Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
PPCEarlyReturn.cpp Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
PPCFastISel.cpp Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
PPCFrameLowering.cpp Pull in r282174 from upstream llvm trunk (by Krzysztof Parzyszek): 2016-11-25 18:01:32 +00:00
PPCFrameLowering.h Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
PPCHazardRecognizers.cpp Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
PPCHazardRecognizers.h Merge llvm 3.6.0rc1 from ^/vendor/llvm/dist, merge clang 3.6.0rc1 from 2015-01-25 23:36:55 +00:00
PPCInstr64Bit.td Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
PPCInstrAltivec.td Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
PPCInstrBuilder.h Update llvm/clang to r241361. 2015-07-05 22:34:42 +00:00
PPCInstrFormats.td Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
PPCInstrHTM.td Merge llvm trunk r238337 from ^/vendor/llvm/dist, resolve conflicts, and 2015-05-27 20:26:41 +00:00
PPCInstrInfo.cpp Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
PPCInstrInfo.h Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
PPCInstrInfo.td Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
PPCInstrQPX.td Update llvm to trunk r256633. 2015-12-30 13:13:10 +00:00
PPCInstrSPE.td Merge llvm 3.6.0rc1 from ^/vendor/llvm/dist, merge clang 3.6.0rc1 from 2015-01-25 23:36:55 +00:00
PPCInstrVSX.td Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
PPCISelDAGToDAG.cpp Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
PPCISelLowering.cpp Pull in r283060 from upstream llvm trunk (by Hal Finkel): 2016-11-25 18:12:13 +00:00
PPCISelLowering.h Pull in r280350 from upstream llvm trunk (by Hal Finkel): 2016-09-10 16:11:42 +00:00
PPCLoopPreIncPrep.cpp Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
PPCMachineFunctionInfo.cpp Update llvm, clang and lldb to trunk r257626, and update build glue. 2016-01-14 17:42:46 +00:00
PPCMachineFunctionInfo.h Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
PPCMCInstLower.cpp Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
PPCMIPeephole.cpp Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
PPCPerfectShuffle.h Merge llvm 3.6.0rc1 from ^/vendor/llvm/dist, merge clang 3.6.0rc1 from 2015-01-25 23:36:55 +00:00
PPCQPXLoadSplat.cpp Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
PPCRegisterInfo.cpp Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
PPCRegisterInfo.h Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
PPCRegisterInfo.td Merge llvm trunk r238337 from ^/vendor/llvm/dist, resolve conflicts, and 2015-05-27 20:26:41 +00:00
PPCSchedule440.td Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
PPCSchedule.td Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
PPCScheduleA2.td Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
PPCScheduleE500mc.td Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
PPCScheduleE5500.td Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
PPCScheduleG3.td Merge llvm 3.5.0 release from ^/vendor/llvm/dist, resolve conflicts, and 2014-11-24 17:02:24 +00:00
PPCScheduleG4.td Merge llvm 3.5.0 release from ^/vendor/llvm/dist, resolve conflicts, and 2014-11-24 17:02:24 +00:00
PPCScheduleG4Plus.td Merge llvm 3.5.0 release from ^/vendor/llvm/dist, resolve conflicts, and 2014-11-24 17:02:24 +00:00
PPCScheduleG5.td Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
PPCScheduleP7.td Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
PPCScheduleP8.td Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
PPCSubtarget.cpp Pull in r283060 from upstream llvm trunk (by Hal Finkel): 2016-11-25 18:12:13 +00:00
PPCSubtarget.h Pull in r283060 from upstream llvm trunk (by Hal Finkel): 2016-11-25 18:12:13 +00:00
PPCTargetMachine.cpp Pull in r283060 from upstream llvm trunk (by Hal Finkel): 2016-11-25 18:12:13 +00:00
PPCTargetMachine.h Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
PPCTargetObjectFile.cpp Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
PPCTargetObjectFile.h Merge llvm trunk r238337 from ^/vendor/llvm/dist, resolve conflicts, and 2015-05-27 20:26:41 +00:00
PPCTargetStreamer.h Update llvm/clang to r241361. 2015-07-05 22:34:42 +00:00
PPCTargetTransformInfo.cpp Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
PPCTargetTransformInfo.h Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
PPCTLSDynamicCall.cpp Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
PPCTOCRegDeps.cpp Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
PPCVSXCopy.cpp Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
PPCVSXFMAMutate.cpp Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
PPCVSXSwapRemoval.cpp Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
README_P9.txt Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00