freebsd-nq/contrib/llvm/lib/Target
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
..
AArch64 Merge ^/head r305087 through r305219. 2016-09-01 18:16:45 +00:00
AMDGPU Update llvm to release_39 branch r278877. 2016-08-17 19:41:29 +00:00
ARM Pull in r265122 from upstream llvm trunk (by James Molloy): 2016-08-20 14:04:51 +00:00
AVR
BPF
Hexagon
Lanai
Mips Pull in r280350 from upstream llvm trunk (by Hal Finkel): 2016-09-10 16:11:42 +00:00
MSP430
NVPTX
PowerPC Pull in r283060 from upstream llvm trunk (by Hal Finkel): 2016-11-25 18:12:13 +00:00
Sparc
SystemZ
WebAssembly
X86 Work around LLVM PR30879, which is about a bad interaction between X86 2016-11-19 21:05:17 +00:00
XCore
Target.cpp
TargetIntrinsicInfo.cpp
TargetLoweringObjectFile.cpp
TargetMachine.cpp
TargetMachineC.cpp
TargetRecip.cpp
TargetSubtargetInfo.cpp