Tom Stellard
0be3acfc70
libclc: implement initial version of min()
...
This doesn't handle the integer cases for min(vector, scalar).
Patch by: Aaron Watry
llvm-svn: 185001
2013-06-26 18:21:38 +00:00
Tom Stellard
29b5b9816b
libclc: Rename [add|sub]_sat.ll to [add|sub]_sat_if.ll
...
configure.py allows overloading *.cl with *.ll, but will only ever build
the first file listed in SOURCES of ${file}.cl and ${file}.ll
add_sat, sub_sat, (and the soon to be submitted clz) all define interfaces in
${function_name}.ll which are implemented in ${function_name}_impl.ll.
Renaming the interface files is enough to get them to build again, fixing
CL usage of these functions.
Tested on clover/r600g.
Patch by: Aaron Watry
llvm-svn: 185000
2013-06-26 18:21:31 +00:00
Tom Stellard
a30713710c
Add a another TODO note.
...
Patch by: Aaron Watry
llvm-svn: 184999
2013-06-26 18:21:25 +00:00
Tom Stellard
4974f6c6d0
Add a TODO note.
...
Patch by: Aaron Watry
llvm-svn: 184998
2013-06-26 18:21:22 +00:00
Tom Stellard
8c1e72f46a
Simplify rotate implementation a bit..
...
Much more understandable/readable as a result, and probably more efficient.
Patch by: Aaron Watry
llvm-svn: 184997
2013-06-26 18:21:18 +00:00
Tom Stellard
0bb381eaec
libclc: implement rotate builtin
...
This implementation does a lot of bit shifting and masking. Suffice to say,
this is somewhat suboptimal... but it does look to produce correct results
(after the piglit tests were corrected for sign extension issues).
Someone who knows LLVM better than I could re-write this more efficiently.
Patch by: Aaron Watry
llvm-svn: 184996
2013-06-26 18:21:13 +00:00
Tom Stellard
cb133c9322
libclc: Move max builtin to shared/
...
Max(x,y) is available for all integer/floating types.
Patch by: Aaron Watry
llvm-svn: 184995
2013-06-26 18:21:06 +00:00
Tom Stellard
fe23a30ef5
libclc: Add clamp() builtin for integer/floating point
...
Created under a new shared/ directory for functions which are available for
both integer and floating point types.
Patch by: Aaron Watry
llvm-svn: 184994
2013-06-26 18:20:56 +00:00
Tom Stellard
cd88a4ebb6
libclc: Fix abs_diff builtin integer function
...
Patch by: Aaron Watry
llvm-svn: 184993
2013-06-26 18:20:50 +00:00
Tom Stellard
ec87fb0b0c
libclc: Add max() builtin function
...
Adds this function for both int and floating data types.
Patch by: Aaron Watry
llvm-svn: 184992
2013-06-26 18:20:46 +00:00
Tom Stellard
509b3b2104
Implement fmax() and fmin() builtins
...
llvm-svn: 184987
2013-06-26 18:20:25 +00:00
Tom Stellard
99bd71c4f5
Use brackets around include files in length.cl and normalize.cl
...
These functions were not being compiled
llvm-svn: 184985
2013-06-26 18:20:15 +00:00
Peter Collingbourne
bf3fd44b10
Implement any() builtin. Patch by Tom Stellard!
...
llvm-svn: 165386
2012-10-08 03:39:21 +00:00
Peter Collingbourne
3cd1bcb358
Do not use linkonce_odr linkage in .ll files. This prevented them
...
from being linked into the library under lazy linkage.
llvm-svn: 161314
2012-08-05 22:25:48 +00:00
Peter Collingbourne
a385c53413
PTX: move implementations of work-item and synchronisation functions
...
to lib, and add header files in generic. Incorporates a patch by
Tom Stellard!
llvm-svn: 161313
2012-08-05 22:25:37 +00:00
Peter Collingbourne
1e373f07af
Implement sub_sat builtin. Patch by Lei Mou!
...
llvm-svn: 161312
2012-08-05 22:25:12 +00:00
Peter Collingbourne
49b4d8cc65
Fix declarations of __clc_add_sat_*. Patch by Lei Mou!
...
llvm-svn: 161311
2012-08-05 22:24:36 +00:00
Peter Collingbourne
9acfba3322
Enable cl_khr_fp64 when building the library, and fix several bugs
...
uncovered when doing so.
llvm-svn: 157617
2012-05-29 13:35:54 +00:00
Peter Collingbourne
0144669d99
Add missing dot.h include.
...
llvm-svn: 157615
2012-05-29 13:35:45 +00:00
Peter Collingbourne
de7227e5bd
Add fma, hypot builtins.
...
llvm-svn: 157613
2012-05-29 13:35:28 +00:00
Peter Collingbourne
b7fdecd2ec
Implement mad builtin.
...
llvm-svn: 157599
2012-05-29 00:42:38 +00:00
Peter Collingbourne
3a78a47ace
Explicit conversions.
...
llvm-svn: 157590
2012-05-28 20:42:54 +00:00
Peter Collingbourne
d5395fbf03
Initial commit.
...
llvm-svn: 147756
2012-01-08 22:09:58 +00:00