aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Support/MathExtras.cpp
diff options
context:
space:
mode:
authorSanjay Patel <spatel@rotateright.com>2014-09-26 23:01:47 +0000
committerSanjay Patel <spatel@rotateright.com>2014-09-26 23:01:47 +0000
commitbdf1e38856a9e2d373829bc9139323ad3f6707e4 (patch)
tree664bb0b4919cd94cbf2f1c51d46a1c4228cf8297 /llvm/lib/Support/MathExtras.cpp
parentd213aab71d07b797948dcf9b0cf69b258047c5fe (diff)
downloadllvm-bdf1e38856a9e2d373829bc9139323ad3f6707e4.zip
llvm-bdf1e38856a9e2d373829bc9139323ad3f6707e4.tar.gz
llvm-bdf1e38856a9e2d373829bc9139323ad3f6707e4.tar.bz2
Refactor reciprocal and reciprocal square root estimate into target-independent functions (part 2).
This is purely refactoring. No functional changes intended. PowerPC is the only target that is currently using this interface. The ultimate goal is to allow targets other than PowerPC (certainly X86 and Aarch64) to turn this: z = y / sqrt(x) into: z = y * rsqrte(x) And: z = y / x into: z = y * rcpe(x) using whatever HW magic they can use. See http://llvm.org/bugs/show_bug.cgi?id=20900 . There is one hook in TargetLowering to get the target-specific opcode for an estimate instruction along with the number of refinement steps needed to make the estimate usable. Differential Revision: http://reviews.llvm.org/D5484 llvm-svn: 218553
Diffstat (limited to 'llvm/lib/Support/MathExtras.cpp')
0 files changed, 0 insertions, 0 deletions