- Aug 15, 2013
-
-
Aaron Watry authored
(x + y) >> 1 gets changed to: (x>>1) + (y>>1) + (x&y&1) Saves us having to do any llvm assembly and overflow checking in the addition. Reviewed-by:
Tom Stellard <thomas.stellard@amd.com> llvm-svn: 188476
-
- Aug 10, 2013
-
-
Tom Stellard authored
llvm-svn: 188130
-
- Jul 26, 2013
-
-
Aaron Watry authored
Found in CL 1.1 spec section 6.11.3 Signed-off-by:
Aaron Watry <awatry@gmail.com> Reviewed-by:
Tom Stellard <thomas.stellard@amd.com> llvm-svn: 187200
-
- Jul 19, 2013
-
-
Aaron Watry authored
Reduces all vector upsamples down to its scalar components, so probably not the most efficient thing in the world, but it does what the spec says it needs to do. Another possible implementation would be to convert/cast everything as unsigned if necessary, upsample the input vectors, create the upsampled value, and then cast back to signed if required. Signed-off-by:
Aaron Watry <awatry@gmail.com> Reviewed-by: Tom Stellard <thomas.stellard at amd.com> llvm-svn: 186691
-
- Jul 08, 2013
-
-
Tom Stellard authored
Reviewed-by:
Aaron Watry <awatry@gmail.com> llvm-svn: 185839
-
Tom Stellard authored
Reviewed-By:
Aaron Watry <awatry@gmail.com> llvm-svn: 185836
-
- Jun 26, 2013
-
-
Tom Stellard authored
Assumes that the target supports byte-addressable stores. Completely unoptimized. Patch by: Aaron Watry llvm-svn: 185007
-
Tom Stellard authored
Should work for all targets and data types. Completely unoptimized. Patch by: Aaron Watry llvm-svn: 185006
-
Tom Stellard authored
Squashed commit of the following: commit a0df0a0e86c55c1bdc0b9c0f5a739e5adef4b056 Author: Aaron Watry <awatry@gmail.com> Date: Mon Apr 15 18:42:04 2013 -0500 libclc: Rename clz.ll to clz_if.ll to ensure it gets built. configure.py treats files that have the same name with the .cl and .ll extensions as overriding eachother. E.g. If you have clz.cl and clz.ll both specified to be built in the same SOURCES file, only the first file listed will actually be built. Since the contents of clz.ll were an interface that is implemented in clz_impl.ll, rename clz.ll to clz_if.ll to make sure that the interface is built. commit 931b62bed05c58f737de625bd415af09571a6a5a Author: Aaron Watry <awatry@gmail.com> Date: Sat Apr 13 12:32:54 2013 -0500 libclc: llvm assembly implementation of clz Untested... currently crashes in the same manner as add_sat. commit 6ef0b7b0b6d2e5584086b4b9a9243743b2e0538f Author: Aaron Watry <awatry@gmail.com> Date: Sat Mar 23 12:35:27 2013 -0500 libclc: Add stub clz builtin For scalar int/uint, attempt to use the clz llvm builtin.. for all others return 0 until an actual implementation is finished. Patch by: Aaron Watry llvm-svn: 185004
-
Tom Stellard authored
This doesn't handle the integer cases for min(vector, scalar). Patch by: Aaron Watry llvm-svn: 185001
-
Tom Stellard authored
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
-
Tom Stellard authored
Max(x,y) is available for all integer/floating types. Patch by: Aaron Watry llvm-svn: 184995
-
Tom Stellard authored
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
-
Tom Stellard authored
Adds this function for both int and floating data types. Patch by: Aaron Watry llvm-svn: 184992
-
Tom Stellard authored
llvm-svn: 184988
-
Tom Stellard authored
llvm-svn: 184987
-
- Oct 08, 2012
-
-
Peter Collingbourne authored
llvm-svn: 165386
-
Peter Collingbourne authored
llvm-svn: 165385
-
- Aug 21, 2012
-
-
Peter Collingbourne authored
llvm-svn: 162274
-
Peter Collingbourne authored
llvm-svn: 162273
-
- Aug 06, 2012
-
-
Peter Collingbourne authored
llvm-svn: 161312
-
- May 29, 2012
-
-
Peter Collingbourne authored
llvm-svn: 157629
-
Peter Collingbourne authored
llvm-svn: 157615
-
Peter Collingbourne authored
llvm-svn: 157613
-
Peter Collingbourne authored
llvm-svn: 157599
-
Peter Collingbourne authored
native_log2. Patch by Joshua Cranmer! llvm-svn: 157598
-
Peter Collingbourne authored
llvm-svn: 157595
-
- May 28, 2012
-
-
Peter Collingbourne authored
llvm-svn: 157590
-
- Jan 08, 2012
-
-
Peter Collingbourne authored
llvm-svn: 147756
-