llvm-6502/include/llvm/Target
Sanjay Patel a46f06efe2 Use rsqrt (X86) to speed up reciprocal square root calcs
This is a first step for generating SSE rsqrt instructions for
reciprocal square root calcs when fast-math is allowed.

For now, be conservative and only enable this for AMD btver2
where performance improves significantly - for example, 29%
on llvm/projects/test-suite/SingleSource/Benchmarks/BenchmarkGame/n-body.c
(if we convert the data type to single-precision float).

This patch adds a two constant version of the Newton-Raphson
refinement algorithm to DAGCombiner that can be selected by any target
via a parameter returned by getRsqrtEstimate()..

See PR20900 for more details:
http://llvm.org/bugs/show_bug.cgi?id=20900

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



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@220570 91177308-0d34-0410-b5e6-96231b3b80d8
2014-10-24 17:02:16 +00:00
..
CostTable.h
Target.td Remove unused field from Operand 2014-10-09 19:15:18 +00:00
TargetCallingConv.h
TargetCallingConv.td [mips] Add CCValAssign::[ASZ]ExtUpper and CCPromoteToUpperBitsInType and handle struct's correctly on big-endian N32/N64 return values. 2014-09-25 12:15:05 +00:00
TargetFrameLowering.h
TargetInstrInfo.h [AAarch64] Optimize CSINC-branch sequence 2014-10-14 23:07:53 +00:00
TargetIntrinsicInfo.h Trailing whitespace. 2014-07-23 00:42:52 +00:00
TargetItinerary.td
TargetLibraryInfo.h PR21145: Teach LLVM about C++14 sized deallocation functions. 2014-10-03 20:17:06 +00:00
TargetLowering.h Use rsqrt (X86) to speed up reciprocal square root calcs 2014-10-24 17:02:16 +00:00
TargetLoweringObjectFile.h
TargetMachine.h Target: Fix build breakage. 2014-09-26 02:57:05 +00:00
TargetOpcodes.h [stack protector] Fix a potential security bug in stack protector where the 2014-07-25 19:31:34 +00:00
TargetOptions.h Satiate the sanitizer build bot 2014-08-21 20:09:15 +00:00
TargetRegisterInfo.h Revert 202433 - Provide a target override for the latest regalloc heuristic 2014-10-03 12:20:53 +00:00
TargetSchedule.td
TargetSelectionDAG.td Add minnum / maxnum intrinsics 2014-10-21 23:00:20 +00:00
TargetSelectionDAGInfo.h Trailing whitespace. 2014-07-23 00:42:52 +00:00
TargetSubtargetInfo.h [PBQP] Replace PBQPBuilder with composable constraints (PBQPRAConstraint). 2014-10-09 18:20:51 +00:00