summaryrefslogtreecommitdiffstats
path: root/libclc/generic/include/math
Commit message (Collapse)AuthorAgeFilesLines
* Move unary_instrinsic.inc to private headers.Jan Vesely2019-03-131-0/+29
| | | | | | Reviewer: Aaron Watry Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 356021
* Move binary_intrinsic.h to private headers.Jan Vesely2019-03-131-0/+29
| | | | | | Reviewer: Aaron Watry Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 356020
* Move ternary_intrinsic.h to private headers.Jan Vesely2019-03-132-1/+31
| | | | | | Reviewer: Aaron Watry Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 356019
* math/fma: Add fp32 software implementationJan Vesely2018-06-071-0/+11
| | | | | | | | Passes CTS on carrizo (when forced to use sw fma) and turks. Reviewer: Tom Stellard <tstellar@redhat.com> Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 334226
* Add initial support for half precision builtinsJan Vesely2018-05-171-2/+7
| | | | | | | | | | | | | | v2: fix fmax implementation use consistent checks for __CLC_FP_SIZE add missing TODOs fix whitespace in definitions.h v3: undef ZERO in modf.inc Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> reviewer: Jeroen Ketema <j.ketema@xs4all.nl> Reviewed-by: Aaron Watry <awatry@gmail.com> Tested-by: Aaron Watry <awatry@gmail.com> llvm-svn: 332677
* remquo: Port from amd builtinsJan Vesely2018-05-031-0/+8
| | | | | | | | double version passes on carrizo. float version fails on denormals. Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> Reviewer: Aaron Watry <awatry@gmail.com> llvm-svn: 331434
* clc_sqrt: Reuse unary_decl.incJan Vesely2018-05-022-50/+3
| | | | | | | Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> Reviewed-by: Aaron Watry <awatry@gmail.com> Tested-by: Aaron Watry <awatry@gmail.com> llvm-svn: 331366
* exp10: Port from amd builtinsJan Vesely2018-04-171-0/+4
| | | | | | | | Passes CTS on carrizo and turks. Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> Reviewed and Tested (on RX 580) by: Aaron Watry <awatry@gmail.com> llvm-svn: 330197
* hypot: Port from amd builtinsJan Vesely2018-04-101-0/+5
| | | | | | | | | | | v2: Fix whitespace errors Use only subnormal path. Passes CTS on carrizo and turks. Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> Reviewer: Aaron Watry <awatry@gmail.com> llvm-svn: 329647
* fmod: Port from amd_builtinsJan Vesely2018-04-061-0/+4
| | | | | | | | | | | Uses only denormal path for fp32. Passes CTS on carrizo and turks. v2: whitespace fix Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> Reviewer: Aaron Watry <awatry@gmail.com> llvm-svn: 329433
* remainder: Port from amd builtinsJan Vesely2018-03-191-0/+4
| | | | | | | | | Mostly ported from amd_builtins, uses only denormal path for fp32. Passes CTS on carrizo and turks Reviewer: Aaron Watry <awatry@gmail.com> Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 327818
* tanpi: Port from amd_builtinsJan Vesely2018-01-191-0/+5
| | | | | | | | | | Passes piglit on turks and carrizo. Passes CTS on carrizo. Acked-By: Aaron Watry <awatry@gmail.com> Tested-By: Aaron Watry <awatry@gmail.com> Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 322980
* tan: Port from amd_builtinsJan Vesely2018-01-191-0/+5
| | | | | | | | | | | | v2: fixup constant precision Passes piglit on turks and carrizo. Passes CTS on carrizo Fixes half_tan to pass CTS on carrizo Acked-By: Aaron Watry <awatry@gmail.com> Tested-By: Aaron Watry <awatry@gmail.com> Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 322979
* rootn: Port from amd_builtinsJan Vesely2018-01-172-0/+4
| | | | | | | | | | | | Passes piglit on turks and carrizo fp64 passes ctx on carrizo v2: fix formatting check fp32 denormal support at runtime Reviewer: Jeroen Ketema <j.ketema@xs4all.nl> Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 322763
* powr: Port from amd_builtinsJan Vesely2018-01-171-0/+5
| | | | | | | | | | | | Passes piglit on turks and carrizo fp64 passes cts on carrizo v2: fix formatting check fp32 denormal support at runtime Reviewer: Jeroen Ketema <j.ketema@xs4all.nl> Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 322762
* pown: Port from amd_builtinsJan Vesely2018-01-172-0/+4
| | | | | | | | | | | | Passes piglit on turks and carrizo fp64 passes CTS on carrizo v2: fix formatting check fp32 denormal support at runtime Reviewer: Jeroen Ketema <j.ketema@xs4all.nl> Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 322761
* pow: Port from amd_builtinsJan Vesely2018-01-171-0/+5
| | | | | | | | | | | | Passes piglit on turks and carrizo fp64 passes CTS on carrizo v2: fix formatting check fp32 denormal support at runtime Reviewer: Jeroen Ketema <j.ketema@xs4all.nl> Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 322760
* ldexp: Fix double precision function return typeJan Vesely2017-10-081-1/+1
| | | | | | | | Fixes ~1200 external calls from nvtpx library. Reviewer: Jeroen Ketema Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 315170
* Fix implementation of sqrt v2Tom Stellard2015-07-102-0/+52
| | | | | | | | | | | Passing values less than 0 to the llvm.sqrt() intrinsic results in undefined behavior, so we need to check the input and return NaN if is is less than 0. v2: - Fix build failures. llvm-svn: 241906
* Move ldexp soft implementation to a separate fileJan Vesely2015-05-061-0/+6
| | | | | | Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> Reviewed-by: Tom Stellard <thomas.stellard@amd.com> llvm-svn: 236648
* Implement nextafter() builtinTom Stellard2013-10-101-0/+7
There are two implementations of nextafter(): 1. Using clang's __builtin_nextafter. Clang replaces this builtin with a call to nextafter which is part of libm. Therefore, this implementation will only work for targets with an implementation of libm (e.g. most CPU targets). 2. The other implementation is written in OpenCL C. This function is known internally as __clc_nextafter and can be used by targets that don't have access to libm. llvm-svn: 192383
OpenPOWER on IntegriCloud