summaryrefslogtreecommitdiffstats
path: root/libclc/generic/lib/math
Commit message (Collapse)AuthorAgeFilesLines
* Move unary_instrinsic.inc to private headers.Jan Vesely2019-03-138-8/+8
| | | | | | Reviewer: Aaron Watry Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 356021
* trunc: Remove llvm intrinsic from the header.Jan Vesely2019-03-131-0/+10
| | | | | | Reviewer: Aaron Watry Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 356018
* round: Remove llvm intrinsic from the headerJan Vesely2019-03-131-0/+10
| | | | | | Reviewer: Aaron Watry Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 356017
* rint: Remove llvm intrinsic from the header.Jan Vesely2019-03-131-0/+10
| | | | | | Reviewer: Aaron Watry Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 356016
* floor: Remove llvm isntrinsic from the header.Jan Vesely2019-03-131-0/+11
| | | | | | Reviewer: Aaron Watry Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 356015
* fabs: Remove llvm intrinsic from the header.Jan Vesely2019-03-131-0/+11
| | | | | | Reviewer: Aaron Watry Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 356014
* ceil: Remove llvm intrinsic from the header.Jan Vesely2019-03-131-0/+11
| | | | | | Reviewer: Aaron Watry Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 356013
* sqrt: Split function generation to a shared inc file.Jan Vesely2019-03-132-18/+26
| | | | | | | | This will be reused by other unary functions. Reviewer: Aaron Watry Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 356012
* math/fma: Add fp32 software implementationJan Vesely2018-06-073-0/+172
| | | | | | | | 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-1722-20/+169
| | | | | | | | | | | | | | 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
* rootn: Use denormal path onlyJan Vesely2018-05-151-10/+1
| | | | | | | | | | | | It's OK to either flush to 0 or return denormal result if the device does not support denormals. See sec 7.2 and 7.5.3 of OCL specs Use 0.0f explicitly intead of relying on GPU to flush it. Fixes CTS on carrizo and turks Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> Acked-by: Aaron Watry <awatry@gmail.com> Tested-by: Aaron Watry <awatry@gmail.com> llvm-svn: 332324
* remquo: Flush denormals if not supportedJan Vesely2018-05-031-0/+2
| | | | | | | | | | It's OK to either flush to 0 or return denormal result if the device does not support denormals. See sec 7.2 and 7.5.3 of OCL specs. Fixes CTS on carrizo and turks. Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> Reviewer: Aaron Watry <awatry@gmail.com> llvm-svn: 331435
* remquo: Port from amd builtinsJan Vesely2018-05-033-0/+277
| | | | | | | | 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
* math: Add helper function to flush denormals if not supported.Jan Vesely2018-05-031-0/+19
| | | | | | Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> Reviewer: Aaron Watry <awatry@gmail.com> llvm-svn: 331433
* log10: Use sw implementation from amd builtinsJan Vesely2018-04-235-19/+173
| | | | | | | | | | Add missing table. Fixes log10d CTS on carrizo. Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> Acked-by: Aaron Watry <awatry@gmail.com> Tested-by: Aaron Watry <awatry@gmail.com> llvm-svn: 330649
* powr: Use denormal path onlyJan Vesely2018-04-171-11/+1
| | | | | | | | | | It's OK to either flush to 0 or return denormal result if the device does not support denormals. See sec 7.2 and 7.5.3 of OCL specs Fixes CTS on carrizo and turks. Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> Reviewer: Aaron Watry <awatry@gmail.com> llvm-svn: 330207
* pown: Use denormal path onlyJan Vesely2018-04-171-11/+1
| | | | | | | | | | It's OK to either flush to 0 or return denormal result if the device does not support denormals. See sec 7.2 and 7.5.3 of OCL specs Fixes CTS on carrizo and turks. Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> Reviewer: Aaron Watry <awatry@gmail.com> llvm-svn: 330206
* pow: Use denormal path onlyJan Vesely2018-04-171-11/+1
| | | | | | | | | | It's OK to either flush to 0 or return denormal result if the device does not support denormals. See sec 7.2 and 7.5.3 of OCL specs Fixes CTS on carrizo and turks. Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> Reviewer: Aaron Watry <awatry@gmail.com> llvm-svn: 330205
* exp10: Port from amd builtinsJan Vesely2018-04-173-11/+152
| | | | | | | | 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-103-4/+102
| | | | | | | | | | | 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-062-10/+188
| | | | | | | | | | | 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-192-0/+224
| | | | | | | | | 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
* nan: ImplementJan Vesely2018-03-122-0/+26
| | | | | | | | Passes CTS on carrizo and turks Reviewer: Aaron Watry <awatry@gmail.com> Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 327324
* lgamma_r: Move code from .inc to .cl fileJan Vesely2018-03-062-475/+496
| | | | | | Reviewed-by: Aaron Watry <awatry@gmail.com> Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 326821
* frexp: Reuse types provided by gentype.incJan Vesely2018-03-062-78/+53
| | | | | | | | | | | v2: Use select instead of bitselect to consolidate scalar and vector versions Passes CTS on Carrizo Reviewed-by: Aaron Watry <awatry@gmail.com> Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 326820
* minmag: Condition variable needs to be the same bitwidth as operandsJan Vesely2018-03-062-2/+21
| | | | | | | | No changes wrt CTS Reviewed-by: Aaron Watry <awatry@gmail.com> Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 326818
* maxmag: Condition variable needs to be the same bitwidth as operandsJan Vesely2018-03-062-2/+21
| | | | | | | | No changes wrt CTS Reviewed-by: Aaron Watry <awatry@gmail.com> Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 326817
* Move cl_khr_fp64 exntension enablement to gentype include listsJan Vesely2018-03-0613-52/+0
| | | | | | | | This will make adding cl_khr_fp16 support easier Reviewed-by: Aaron Watry <awatry@gmail.com> Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 326816
* half_powr: Implement using powrJan Vesely2018-02-011-0/+6
| | | | | | | | v2: Use full precision implementation Reviewer: Jeroen Ketema <j.ketema@xs4all.nl> Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 323942
* math.h: Use logical operations instead of bit operations for readabilityJan Vesely2018-01-311-1/+1
| | | | | | | | Trivial. Reported-by: Roman Lebedev <lebedev.ri@gmail.com> Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 323920
* math.h: Set HAVE_HW_FMA32 based on compiler provided macroJan Vesely2018-01-291-0/+5
| | | | | | | | | Fixes sin/cos piglits on non-FMA capable asics. Bugzilla: https://bugs.llvm.org/show_bug.cgi?id=35983 Reviewer: Tom Stellard Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 323677
* tanpi: Port from amd_builtinsJan Vesely2018-01-192-0/+153
| | | | | | | | | | 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-197-21/+158
| | | | | | | | | | | | 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
* half_divide: Implement using x/yJan Vesely2018-01-182-0/+18
| | | | | | | | | Passes CTS on carrizo v2: Use full precision implementation Reviewer: Jeroen Ketema <j.ketema@xs4all.nl> Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 322899
* half_tan: Implement using tanJan Vesely2018-01-181-0/+6
| | | | | | | | v2: Use full precision implementation Reviewer: Jeroen Ketema <j.ketema@xs4all.nl> Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 322898
* half_sin: Implement using sinJan Vesely2018-01-181-0/+6
| | | | | | | | | Passes CTS on carrizo v2: Use full precision implementation Reviewer: Jeroen Ketema <j.ketema@xs4all.nl> Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 322897
* half_recip: Implement using 1/xJan Vesely2018-01-181-0/+10
| | | | | | | | | Passes CTS on carrizo v2: Use full precision implementation Reviewer: Jeroen Ketema <j.ketema@xs4all.nl> Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 322896
* half_log2: Implement using log2Jan Vesely2018-01-181-0/+6
| | | | | | | | | Passes CTS on carrizo v2: Use full precision implementation Reviewer: Jeroen Ketema <j.ketema@xs4all.nl> Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 322895
* half_log10: Implement using log10Jan Vesely2018-01-181-0/+6
| | | | | | | | | Passes CTS on carrizo v2: Use full precision implementation Reviewer: Jeroen Ketema <j.ketema@xs4all.nl> Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 322894
* half_log: Implement using logJan Vesely2018-01-181-0/+6
| | | | | | | | | Passes CTS on carrizo v2: Use full precision implementation Reviewer: Jeroen Ketema <j.ketema@xs4all.nl> Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 322893
* half_exp10: Implement using exp10Jan Vesely2018-01-181-0/+6
| | | | | | | | | Passes CTS on carrizo v2: Use full precision implementation Reviewer: Jeroen Ketema <j.ketema@xs4all.nl> Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 322892
* half_exp2: Implement using exp2Jan Vesely2018-01-181-0/+6
| | | | | | | | | Passes CTS on carrizo v2: Use full precision implementation Reviewer: Jeroen Ketema <j.ketema@xs4all.nl> Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 322891
* half_exp: Implement using expJan Vesely2018-01-181-0/+6
| | | | | | | | | Passes CTS on carrizo v2: Use full precision implementation Reviewer: Jeroen Ketema <j.ketema@xs4all.nl> Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 322890
* half_cos: Implement using cosJan Vesely2018-01-181-0/+6
| | | | | | | | | Passes CTS on carrizo v2: Use full precision implementation Reviewer: Jeroen Ketema <j.ketema@xs4all.nl> Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 322889
* half_sqrt: Cleanup implementationJan Vesely2018-01-182-49/+2
| | | | | | | | | Passes CTS on carrizo v2: Use full precision implementation Reviewer: Jeroen Ketema <j.ketema@xs4all.nl> Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 322888
* half_rsqrt: Cleanup implementationJan Vesely2018-01-183-49/+11
| | | | | | | | | Passes CTS on carrizo v2: Use full precision implementation Reviewer: Jeroen Ketema <j.ketema@xs4all.nl> Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 322887
* rootn: Port from amd_builtinsJan Vesely2018-01-173-0/+388
| | | | | | | | | | | | 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-172-0/+398
| | | | | | | | | | | | 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-173-7/+386
| | | | | | | | | | | | 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-175-0/+1084
| | | | | | | | | | | | 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
OpenPOWER on IntegriCloud