Skip to content
  1. Aug 15, 2013
  2. Aug 10, 2013
  3. Jul 26, 2013
  4. Jul 19, 2013
    • Aaron Watry's avatar
      Implement generic upsample() · 1769b1fc
      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: default avatarAaron Watry <awatry@gmail.com>
      Reviewed-by: Tom Stellard <thomas.stellard at amd.com>
      llvm-svn: 186691
      1769b1fc
  5. Jul 08, 2013
  6. Jun 26, 2013
    • Tom Stellard's avatar
      libclc: Initial vstore implementation · 51441f80
      Tom Stellard authored
      Assumes that the target supports byte-addressable stores.
      
      Completely unoptimized.
      
      Patch by: Aaron Watry
      
      llvm-svn: 185007
      51441f80
    • Tom Stellard's avatar
      libclc: Initial vload implementation · 66ecbc7c
      Tom Stellard authored
      Should work for all targets and data types.  Completely unoptimized.
      
      Patch by: Aaron Watry
      
      llvm-svn: 185006
      66ecbc7c
    • Tom Stellard's avatar
      libclc: Implement clz() builtin · e78344df
      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
      e78344df
    • Tom Stellard's avatar
      libclc: implement initial version of min() · 0be3acfc
      Tom Stellard authored
      This doesn't handle the integer cases for min(vector, scalar).
      
      Patch by: Aaron Watry
      
      llvm-svn: 185001
      0be3acfc
    • Tom Stellard's avatar
      libclc: implement rotate builtin · 0bb381ea
      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
      0bb381ea
    • Tom Stellard's avatar
      libclc: Move max builtin to shared/ · cb133c93
      Tom Stellard authored
      Max(x,y) is available for all integer/floating types.
      
      Patch by: Aaron Watry
      
      llvm-svn: 184995
      cb133c93
    • Tom Stellard's avatar
      libclc: Add clamp() builtin for integer/floating point · fe23a30e
      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
      fe23a30e
    • Tom Stellard's avatar
      libclc: Add max() builtin function · ec87fb0b
      Tom Stellard authored
      Adds this function for both int and floating data types.
      
      Patch by: Aaron Watry
      
      llvm-svn: 184992
      ec87fb0b
    • Tom Stellard's avatar
      Implement ceil() builtin · 20734582
      Tom Stellard authored
      llvm-svn: 184988
      20734582
    • Tom Stellard's avatar
      Implement fmax() and fmin() builtins · 509b3b21
      Tom Stellard authored
      llvm-svn: 184987
      509b3b21
  7. Oct 08, 2012
  8. Aug 21, 2012
  9. Aug 06, 2012
  10. May 29, 2012
  11. May 28, 2012
  12. Jan 08, 2012
Loading