summaryrefslogtreecommitdiff
path: root/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
diff options
context:
space:
mode:
authorSiva Chandra Reddy <sivachandra@google.com>2021-05-12 23:05:13 +0000
committerSiva Chandra Reddy <sivachandra@google.com>2021-05-13 19:02:00 +0000
commit861dc75906829a177dc2e5249747771aa3866a06 (patch)
tree19a54b74db09a05b5f9da659d9638826b42c5b17 /llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
parentb766576d38d304c630de5430053d06dfc7784628 (diff)
[libc] Add x86_64 implementations of double precision cos, sin and tan.
The implementations use the x86_64 FPU instructions. These instructions are extremely slow compared to a polynomial based software implementation. Also, their accuracy falls drastically once the input goes beyond 2PI. To improve both the speed and accuracy, we will be taking the following approach going forward: 1. As a follow up to this CL, we will implement a range reduction algorithm which will expand the accuracy to the entire double precision range. 2. After that, we will replace the HW instructions with a polynomial implementation to improve the run time. After step 2, the implementations will be accurate, performant and target architecture independent. Reviewed By: lntue Differential Revision: https://reviews.llvm.org/D102384
Diffstat (limited to 'llvm/lib/Bitcode/Writer/BitcodeWriter.cpp')
0 files changed, 0 insertions, 0 deletions