Browse Source

Set cl_amd_media_ops with the BITALIGN flag and allow non-bitselect devices to build.

nfactor-troky
ckolivas 13 years ago
parent
commit
fa5f4a649b
  1. 9
      diakgcn120208.cl

9
diakgcn120208.cl

@ -13,11 +13,12 @@
typedef uint u; typedef uint u;
#endif #endif
#ifdef BFI_INT #ifdef BITALIGN
#pragma OPENCL EXTENSION cl_amd_media_ops : enable #pragma OPENCL EXTENSION cl_amd_media_ops : enable
#ifdef BFI_INT
#define Ch(x, y, z) amd_bytealign(x, y, z) #define Ch(x, y, z) amd_bytealign(x, y, z)
#define Ma(x, y, z) amd_bytealign(z ^ x, y, x) #define Ma(x, y, z) amd_bytealign(z ^ x, y, x)
#else #else
#define Ch(x, y, z) bitselect(z, y, x) #define Ch(x, y, z) bitselect(z, y, x)
#if defined(VECTORS2) || defined(VECTORS4) || defined(VECTORS8) #if defined(VECTORS2) || defined(VECTORS4) || defined(VECTORS8)
// GCN - VEC2 or VEC4 // GCN - VEC2 or VEC4
@ -26,6 +27,10 @@
// GCN - no VEC // GCN - no VEC
#define Ma(z, x, y) Ch(z ^ x, y, x) #define Ma(z, x, y) Ch(z ^ x, y, x)
#endif #endif
#endif
#else //BITALIGN
#define Ch(x, y, z) (z ^ (x & (y ^ z)))
#define Ma(x, y, z) ((x & z) | (y & (x | z)))
#endif #endif
#ifdef GOFFSET #ifdef GOFFSET

Loading…
Cancel
Save