summaryrefslogtreecommitdiffstats
path: root/libclc
Commit message (Collapse)AuthorAgeFilesLines
...
* clctypes.h: Don't rely on stddef.h for size_t and ptrdiff_tAaron Watry2014-06-161-1/+2
| | | | llvm-svn: 211044
* Add intptr typesJan Vesely2014-06-131-0/+12
| | | | | | | | Based on clang's stdint.h Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> Reviewed-by: Tom Stellard <tom@stellard.net> llvm-svn: 210933
* Add files forgotten in the previous commitJeroen Ketema2014-06-132-0/+18
| | | | llvm-svn: 210896
* Implementations for exp(float) and exp(double) v2Jeroen Ketema2014-06-133-2/+12
| | | | | | | | | | | | Use separate implementations instead of a macro to ensure the constant multiplied with is of higher precision. v2: Use the correct formula, spotted by Dan Liew <daniel.liew@imperial.ac.uk> Reviewed-by: Aaron Warty <awatry@gmail.com> Reviewed-by: Tom Stellard <tom@stellard.net> llvm-svn: 210891
* prepare-builtins: Use std:: prefix for error_codeTom Stellard2014-06-131-2/+11
| | | | | | This fixes the build with with newer LLVM. llvm-svn: 210867
* Remove unused include which breaks build after r210803Jeroen Ketema2014-06-121-1/+0
| | | | | | Tested with llvm 3.4 and trunk. llvm-svn: 210825
* Fix build broken by LLVM commit r209103Jeroen Ketema2014-06-031-0/+4
| | | | | Reviewed-by: Aaron Watry <awatry@gmail.com> llvm-svn: 210111
* Add more log related float constantsJeroen Ketema2014-05-291-0/+3
| | | | llvm-svn: 209850
* Fix _F definitionsJeroen Ketema2014-05-291-2/+2
| | | | | | | | | The 'f' was missing and, hence, the values were considered to be doubles instead of floats. Reviewed by: Tom Stellard llvm-svn: 209849
* Add definition for M_PIJeroen Ketema2014-05-291-0/+1
| | | | | | Reviewed by: Tom Stellard llvm-svn: 209848
* Fix build broken by LLVM commit r207593Tom Stellard2014-04-301-0/+1
| | | | llvm-svn: 207685
* Remove clc/gentype.incTom Stellard2014-04-301-51/+0
| | | | | | | | | This file duplicates clc/math/gentype.inc and is not actually being used. Patch by: Jeroen Ketema llvm-svn: 207684
* Introduce M_LOG2E_F and M_LOG2ETom Stellard2014-03-281-1/+4
| | | | | | Patch by: Jeroen Ketema llvm-svn: 205055
* Replace tabs by spacesTom Stellard2014-03-281-19/+19
| | | | | | Patch by: Jeroen Ketema llvm-svn: 205054
* Add definition for M_PI_F v3Tom Stellard2014-03-241-0/+2
| | | | | | | | | | v2: - Use a hexadecimal constant. v3: - Use a hexadecimal constant in floating-point notation. llvm-svn: 204666
* Add sincosTom Stellard2014-03-216-0/+31
| | | | | | | Patch by: Jeroen Ketema Reviewed-by: Tom Stellard <thomas.stellard@amd.com> llvm-svn: 204478
* Add cross for double3 and double4Tom Stellard2014-03-212-0/+19
| | | | | | | Patch by: Jeroen Ketema Reviewed-by: Tom Stellard <thomas.stellard@amd.com> llvm-svn: 204477
* Fix build since r202052Tom Stellard2014-02-241-1/+3
| | | | | | sys::fs_F_Binary has been replaced with sys::fs_F_Text llvm-svn: 202081
* Add generic nvptx targetsTom Stellard2014-02-141-0/+2
| | | | | | | | These do not import the code specific to nvidiacl Patch by: Jeroen Ketema llvm-svn: 201431
* Revert "Enforce python2 for systems that use python3 as their default."Tom Stellard2014-02-121-1/+1
| | | | | | | | | This reverts commit r200413. This was breaking the build on systems where the python 2.x executable was called python. llvm-svn: 201239
* Updated README.TXT with information about using DESTDIR and building with Ninja.Tom Stellard2014-01-291-3/+18
| | | | | | Patch by: Dan Liew llvm-svn: 200416
* Fixed rules names so they are unique when aliases are present.Tom Stellard2014-01-291-3/+5
| | | | | | | | | This is necessary for building with Ninja because it does not allow duplicate rule names. Patch by: Dan Liew llvm-svn: 200415
* Fixed ninja build issues relating to use of $(DESTDIR)Tom Stellard2014-01-292-7/+15
| | | | | | | | | | We use ${DESTDIR} syntax now instead of $(DESTDIR) because that syntax works both is the shell (at least it does for bash) and for make (at least it does for GNU Make) Patch By: Dan Liew llvm-svn: 200414
* Enforce python2 for systems that use python3 as their default.Tom Stellard2014-01-291-1/+1
| | | | | | Patch by: Dan Liew llvm-svn: 200413
* Fix build broken by LLVM commit r199279Tom Stellard2014-01-201-1/+10
| | | | | | | | | Patch by: Udo van den Heuvel Tom Stellard: - Added ifdef and error handling llvm-svn: 199687
* Update the copyright credits -- Happy new year 2014!NAKAMURA Takumi2014-01-011-2/+2
| | | | | FIXME: Dragonegg may be updated at non-trivial changes. llvm-svn: 198274
* Pass -fno-builtin flag to clang to silence warningsAaron Watry2013-12-291-0/+1
| | | | | Reviewed-by: Aaron Watry <awatry@gmail.com> llvm-svn: 198168
* Fix build with LLVM 3.5Aaron Watry2013-12-291-0/+6
| | | | | Reviewed-by: Aaron Watry <awatry@gmail.com> llvm-svn: 198167
* Add floating-point macro definitions v2Tom Stellard2013-12-202-0/+27
| | | | | | | | v2: - Fix typo. Reviewed-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 197784
* Implement trunc builtin.Tom Stellard2013-12-202-0/+10
| | | | | | | | | | | | OpenCL C lang says that trunc rounds towards zero. llvm.trunc.* intrinsic rounds to integer not larger in magnitude. These definitions are equivalent. Patch by: Jan Vesely Reviewed-by: Tom Stellard <thomas.stellard@amd.com> Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 197769
* Fix a C&P error in r195021 (65a950abab3cb8435ccb2646ac4773986c995c81)Tom Stellard2013-11-281-2/+2
| | | | | | | Patch by: Kai Wasserbäch Signed-off-by: Kai Wasserbäch <kai@dev.carbon-project.org> llvm-svn: 195898
* R600: Add aliases for Sea Islands GPUsTom Stellard2013-11-181-1/+1
| | | | llvm-svn: 195023
* Implement round builtinTom Stellard2013-11-182-0/+10
| | | | llvm-svn: 195022
* Implement builtins for cl_khr_global_int32_base_atomics extensionTom Stellard2013-11-1810-1/+55
| | | | llvm-svn: 195021
* s/_CLC_DECL/_CLC_DEF/Tom Stellard2013-10-312-14/+14
| | | | | | | | | Some function definitions were using _CLC_DECL, which meant that they weren't being marked as always_inline. Reviewed-by and Tested-by: Aaron Watry <awatry@gmail.com> llvm-svn: 193754
* R600: Set the noduplicate attribute on barrier() intrinsicsTom Stellard2013-10-313-19/+30
| | | | | | | | This will prevent LLVM optimization passes from creating illegal uses of the barrier() intrinsic (e.g. calling barrier() from a conditional that is not executed by all threads). llvm-svn: 193753
* Clean-up dependency filesTom Stellard2013-10-231-0/+5
| | | | | | Patch by: Jeroen Ketema llvm-svn: 193221
* Make C++ compiler configurableTom Stellard2013-10-231-3/+8
| | | | | | | | | | | | The C++ compiler used to build prepare-builtins may differ from the llvm/clang for which we are building libclc. Use 'clang++' as the default compiler. Patch by: Jeroen Ketema llvm-svn: 193220
* Port pocl's gen_convert.py script to libclcTom Stellard2013-10-104-151/+402
| | | | | | | This script generates implementations for the entire set of convert_* functions, llvm-svn: 192385
* Implement sign() builtinTom Stellard2013-10-104-0/+36
| | | | llvm-svn: 192384
* Implement nextafter() builtinTom Stellard2013-10-1011-0/+95
| | | | | | | | | | | | | | 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
* Implement isnan() builtinTom Stellard2013-10-105-0/+46
| | | | llvm-svn: 192382
* Add missing as_{float,double} functionsTom Stellard2013-10-101-0/+15
| | | | llvm-svn: 192381
* Parenthesize arguments for mad_hiAaron Watry2013-09-091-1/+1
| | | | | | Thanks to Jordon Rose <jordan_rose@apple.com> for pointing this out. llvm-svn: 190310
* Implement mad_hi built-inAaron Watry2013-09-062-0/+2
| | | | | | | | | We already have a working mul_hi, and the spec gives us the implementation as: Returns mul_hi(a,b)+c. Signed-off-by: Aaron Watry <awatry@gmail.com> Reviewed-by: Tom Stellard <thomas.stellard@amd.com> llvm-svn: 190211
* Add atomic_sub and atomic_dec builtin functionsAaron Watry2013-09-065-0/+19
| | | | | Reviewed-by: Tom Stellard <thomas.stellard@amd.com> llvm-svn: 190201
* Place pkg-config file in $prefix/share/pkgconfig.Tom Stellard2013-09-051-1/+1
| | | | | | | | | | libclc is ABI-agnostic, and $prefix/lib/pkgconfig causes issues on multilib setups. Using $prefix/share/pkgconfig allows us to reuse a single libclc build across all system ABIs. Patch by: Michał Górny llvm-svn: 190107
* Remove unneeded semi-colonsAaron Watry2013-09-051-6/+6
| | | | | Reviewed-By: Aaron Watry <awatry@gmail.com> llvm-svn: 190059
* Add atomic_inc and atomic_add builtinsAaron Watry2013-09-058-0/+51
| | | | | Reviewed-by: Aaron Watry <awatry@gmail.com> llvm-svn: 190058
* Add mul_hi implementation [v2]Aaron Watry2013-08-195-0/+114
| | | | | | | | | | | | | | | Everything except long/ulong is handled by just casting to the next larger type, doing the math and then shifting/casting the result. For 64-bit types, we break the high/low parts of each operand apart, and do a FOIL-based multiplication. v2: Discard the stack-overflow implementation due to copyright concerns. - The implementation is still FOIL-based, but discards the previous code. Reviewed-by: Tom Stellard <thomas.stellard@amd.com> llvm-svn: 188684
OpenPOWER on IntegriCloud