summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--generic/include/clc/gentype.inc48
-rw-r--r--generic/include/clc/geometric/distance.h2
-rw-r--r--generic/include/clc/geometric/dot.h2
-rw-r--r--generic/include/clc/geometric/dot.inc2
-rw-r--r--generic/include/clc/geometric/floatn.inc58
-rw-r--r--generic/include/clc/geometric/length.h2
-rw-r--r--generic/include/clc/geometric/length.inc2
-rw-r--r--generic/include/clc/geometric/normalize.h2
-rw-r--r--generic/include/clc/geometric/normalize.inc2
-rw-r--r--generic/include/clc/integer/abs.h2
-rw-r--r--generic/include/clc/integer/abs.inc2
-rw-r--r--generic/include/clc/integer/abs_diff.h2
-rw-r--r--generic/include/clc/integer/abs_diff.inc2
-rw-r--r--generic/include/clc/integer/add_sat.h2
-rw-r--r--generic/include/clc/integer/add_sat.inc2
-rw-r--r--generic/include/clc/integer/clz.h2
-rw-r--r--generic/include/clc/integer/clz.inc2
-rw-r--r--generic/include/clc/integer/gentype.inc866
-rw-r--r--generic/include/clc/integer/rotate.h2
-rw-r--r--generic/include/clc/integer/rotate.inc2
-rw-r--r--generic/include/clc/integer/sub_sat.h2
-rw-r--r--generic/include/clc/integer/sub_sat.inc2
-rw-r--r--generic/include/clc/math/binary_decl.inc6
-rw-r--r--generic/include/clc/math/binary_intrin.inc28
-rw-r--r--generic/include/clc/math/ceil.h4
-rw-r--r--generic/include/clc/math/cos.h4
-rw-r--r--generic/include/clc/math/exp2.h4
-rw-r--r--generic/include/clc/math/fabs.h4
-rw-r--r--generic/include/clc/math/floor.h4
-rw-r--r--generic/include/clc/math/fma.h4
-rw-r--r--generic/include/clc/math/fmax.h8
-rw-r--r--generic/include/clc/math/fmin.h8
-rw-r--r--generic/include/clc/math/gentype.inc90
-rw-r--r--generic/include/clc/math/hypot.h2
-rw-r--r--generic/include/clc/math/hypot.inc2
-rw-r--r--generic/include/clc/math/log2.h4
-rw-r--r--generic/include/clc/math/mad.h2
-rw-r--r--generic/include/clc/math/mad.inc2
-rw-r--r--generic/include/clc/math/pow.h4
-rw-r--r--generic/include/clc/math/sin.h4
-rw-r--r--generic/include/clc/math/sqrt.h4
-rw-r--r--generic/include/clc/math/ternary_intrin.inc28
-rw-r--r--generic/include/clc/math/unary_decl.inc2
-rw-r--r--generic/include/clc/math/unary_intrin.inc28
-rw-r--r--generic/include/clc/shared/clamp.h4
-rw-r--r--generic/include/clc/shared/clamp.inc6
-rw-r--r--generic/include/clc/shared/max.h4
-rw-r--r--generic/include/clc/shared/max.inc6
-rw-r--r--generic/include/clc/shared/min.h4
-rw-r--r--generic/include/clc/shared/min.inc8
-rw-r--r--generic/lib/geometric/length.cl2
-rw-r--r--generic/lib/geometric/length.inc2
-rw-r--r--generic/lib/geometric/normalize.cl2
-rw-r--r--generic/lib/geometric/normalize.inc2
-rw-r--r--generic/lib/integer/abs.cl2
-rw-r--r--generic/lib/integer/abs.inc4
-rw-r--r--generic/lib/integer/abs_diff.cl2
-rw-r--r--generic/lib/integer/abs_diff.inc4
-rw-r--r--generic/lib/integer/rotate.cl2
-rw-r--r--generic/lib/integer/rotate.inc30
-rw-r--r--generic/lib/math/binary_impl.inc12
-rw-r--r--generic/lib/math/fmax.cl2
-rw-r--r--generic/lib/math/fmin.cl2
-rw-r--r--generic/lib/math/hypot.cl2
-rw-r--r--generic/lib/math/hypot.inc2
-rw-r--r--generic/lib/math/mad.cl2
-rw-r--r--generic/lib/math/mad.inc2
-rw-r--r--generic/lib/shared/clamp.cl4
-rw-r--r--generic/lib/shared/clamp.inc10
-rw-r--r--generic/lib/shared/max.cl4
-rw-r--r--generic/lib/shared/max.inc10
-rw-r--r--generic/lib/shared/min.cl4
-rw-r--r--generic/lib/shared/min.inc8
-rw-r--r--generic/lib/shared/vload.cl12
-rw-r--r--generic/lib/shared/vstore.cl8
75 files changed, 712 insertions, 712 deletions
diff --git a/generic/include/clc/gentype.inc b/generic/include/clc/gentype.inc
index 4506920..1ff064a 100644
--- a/generic/include/clc/gentype.inc
+++ b/generic/include/clc/gentype.inc
@@ -1,51 +1,51 @@
-#define GENTYPE float
+#define __CLC_GENTYPE float
#include BODY
-#undef GENTYPE
+#undef __CLC_GENTYPE
-#define GENTYPE float2
+#define __CLC_GENTYPE float2
#include BODY
-#undef GENTYPE
+#undef __CLC_GENTYPE
-#define GENTYPE float3
+#define __CLC_GENTYPE float3
#include BODY
-#undef GENTYPE
+#undef __CLC_GENTYPE
-#define GENTYPE float4
+#define __CLC_GENTYPE float4
#include BODY
-#undef GENTYPE
+#undef __CLC_GENTYPE
-#define GENTYPE float8
+#define __CLC_GENTYPE float8
#include BODY
-#undef GENTYPE
+#undef __CLC_GENTYPE
-#define GENTYPE float16
+#define __CLC_GENTYPE float16
#include BODY
-#undef GENTYPE
+#undef __CLC_GENTYPE
#ifdef cl_khr_fp64
-#define GENTYPE double
+#define __CLC_GENTYPE double
#include BODY
-#undef GENTYPE
+#undef __CLC_GENTYPE
-#define GENTYPE double2
+#define __CLC_GENTYPE double2
#include BODY
-#undef GENTYPE
+#undef __CLC_GENTYPE
-#define GENTYPE double3
+#define __CLC_GENTYPE double3
#include BODY
-#undef GENTYPE
+#undef __CLC_GENTYPE
-#define GENTYPE double4
+#define __CLC_GENTYPE double4
#include BODY
-#undef GENTYPE
+#undef __CLC_GENTYPE
-#define GENTYPE double8
+#define __CLC_GENTYPE double8
#include BODY
-#undef GENTYPE
+#undef __CLC_GENTYPE
-#define GENTYPE double16
+#define __CLC_GENTYPE double16
#include BODY
-#undef GENTYPE
+#undef __CLC_GENTYPE
#endif
#undef BODY
diff --git a/generic/include/clc/geometric/distance.h b/generic/include/clc/geometric/distance.h
index 1660dcd..3e91332 100644
--- a/generic/include/clc/geometric/distance.h
+++ b/generic/include/clc/geometric/distance.h
@@ -1,2 +1,2 @@
-#define BODY <clc/geometric/distance.inc>
+#define __CLC_BODY <clc/geometric/distance.inc>
#include <clc/geometric/floatn.inc>
diff --git a/generic/include/clc/geometric/dot.h b/generic/include/clc/geometric/dot.h
index 5f0464f..7f65fed 100644
--- a/generic/include/clc/geometric/dot.h
+++ b/generic/include/clc/geometric/dot.h
@@ -1,2 +1,2 @@
-#define BODY <clc/geometric/dot.inc>
+#define __CLC_BODY <clc/geometric/dot.inc>
#include <clc/geometric/floatn.inc>
diff --git a/generic/include/clc/geometric/dot.inc b/generic/include/clc/geometric/dot.inc
index 69c53a9..34245e2 100644
--- a/generic/include/clc/geometric/dot.inc
+++ b/generic/include/clc/geometric/dot.inc
@@ -1 +1 @@
-_CLC_OVERLOAD _CLC_DECL FLOAT dot(FLOATN p0, FLOATN p1);
+_CLC_OVERLOAD _CLC_DECL __CLC_FLOAT dot(__CLC_FLOATN p0, __CLC_FLOATN p1);
diff --git a/generic/include/clc/geometric/floatn.inc b/generic/include/clc/geometric/floatn.inc
index e84545a..fb7a9ae 100644
--- a/generic/include/clc/geometric/floatn.inc
+++ b/generic/include/clc/geometric/floatn.inc
@@ -1,45 +1,45 @@
-#define FLOAT float
+#define __CLC_FLOAT float
-#define FLOATN float
-#include BODY
-#undef FLOATN
+#define __CLC_FLOATN float
+#include __CLC_BODY
+#undef __CLC_FLOATN
-#define FLOATN float2
-#include BODY
-#undef FLOATN
+#define __CLC_FLOATN float2
+#include __CLC_BODY
+#undef __CLC_FLOATN
-#define FLOATN float3
-#include BODY
-#undef FLOATN
+#define __CLC_FLOATN float3
+#include __CLC_BODY
+#undef __CLC_FLOATN
-#define FLOATN float4
-#include BODY
-#undef FLOATN
+#define __CLC_FLOATN float4
+#include __CLC_BODY
+#undef __CLC_FLOATN
-#undef FLOAT
+#undef __CLC_FLOAT
#ifdef cl_khr_fp64
-#define FLOAT double
+#define __CLC_FLOAT double
-#define FLOATN double
-#include BODY
-#undef FLOATN
+#define __CLC_FLOATN double
+#include __CLC_BODY
+#undef __CLC_FLOATN
-#define FLOATN double2
-#include BODY
-#undef FLOATN
+#define __CLC_FLOATN double2
+#include __CLC_BODY
+#undef __CLC_FLOATN
-#define FLOATN double3
-#include BODY
-#undef FLOATN
+#define __CLC_FLOATN double3
+#include __CLC_BODY
+#undef __CLC_FLOATN
-#define FLOATN double4
-#include BODY
-#undef FLOATN
+#define __CLC_FLOATN double4
+#include __CLC_BODY
+#undef __CLC_FLOATN
-#undef FLOAT
+#undef __CLC_FLOAT
#endif
-#undef BODY
+#undef __CLC_BODY
diff --git a/generic/include/clc/geometric/length.h b/generic/include/clc/geometric/length.h
index fbba634..cb992b9 100644
--- a/generic/include/clc/geometric/length.h
+++ b/generic/include/clc/geometric/length.h
@@ -1,2 +1,2 @@
-#define BODY <clc/geometric/length.inc>
+#define __CLC_BODY <clc/geometric/length.inc>
#include <clc/geometric/floatn.inc>
diff --git a/generic/include/clc/geometric/length.inc b/generic/include/clc/geometric/length.inc
index a9fa2d5..c2d95e8 100644
--- a/generic/include/clc/geometric/length.inc
+++ b/generic/include/clc/geometric/length.inc
@@ -1 +1 @@
-_CLC_OVERLOAD _CLC_DECL FLOAT length(FLOATN p0);
+_CLC_OVERLOAD _CLC_DECL __CLC_FLOAT length(__CLC_FLOATN p0);
diff --git a/generic/include/clc/geometric/normalize.h b/generic/include/clc/geometric/normalize.h
index 3aaf61c..dccff9b 100644
--- a/generic/include/clc/geometric/normalize.h
+++ b/generic/include/clc/geometric/normalize.h
@@ -1,2 +1,2 @@
-#define BODY <clc/geometric/normalize.inc>
+#define __CLC_BODY <clc/geometric/normalize.inc>
#include <clc/geometric/floatn.inc>
diff --git a/generic/include/clc/geometric/normalize.inc b/generic/include/clc/geometric/normalize.inc
index 7b4f69d..6eb1315 100644
--- a/generic/include/clc/geometric/normalize.inc
+++ b/generic/include/clc/geometric/normalize.inc
@@ -1 +1 @@
-_CLC_OVERLOAD _CLC_DECL FLOATN normalize(FLOATN p);
+_CLC_OVERLOAD _CLC_DECL __CLC_FLOATN normalize(__CLC_FLOATN p);
diff --git a/generic/include/clc/integer/abs.h b/generic/include/clc/integer/abs.h
index 7592e4b..77a4cbe 100644
--- a/generic/include/clc/integer/abs.h
+++ b/generic/include/clc/integer/abs.h
@@ -1,2 +1,2 @@
-#define BODY <clc/integer/abs.inc>
+#define __CLC_BODY <clc/integer/abs.inc>
#include <clc/integer/gentype.inc>
diff --git a/generic/include/clc/integer/abs.inc b/generic/include/clc/integer/abs.inc
index bfbec20..952bce7 100644
--- a/generic/include/clc/integer/abs.inc
+++ b/generic/include/clc/integer/abs.inc
@@ -1 +1 @@
-_CLC_OVERLOAD _CLC_DECL UGENTYPE abs(GENTYPE x);
+_CLC_OVERLOAD _CLC_DECL __CLC_U_GENTYPE abs(__CLC_GENTYPE x);
diff --git a/generic/include/clc/integer/abs_diff.h b/generic/include/clc/integer/abs_diff.h
index 16fb465..3f3b4b4 100644
--- a/generic/include/clc/integer/abs_diff.h
+++ b/generic/include/clc/integer/abs_diff.h
@@ -1,2 +1,2 @@
-#define BODY <clc/integer/abs_diff.inc>
+#define __CLC_BODY <clc/integer/abs_diff.inc>
#include <clc/integer/gentype.inc>
diff --git a/generic/include/clc/integer/abs_diff.inc b/generic/include/clc/integer/abs_diff.inc
index 8cfdb9b..e844d46 100644
--- a/generic/include/clc/integer/abs_diff.inc
+++ b/generic/include/clc/integer/abs_diff.inc
@@ -1 +1 @@
-_CLC_OVERLOAD _CLC_DECL UGENTYPE abs_diff(GENTYPE x, GENTYPE y);
+_CLC_OVERLOAD _CLC_DECL __CLC_U_GENTYPE abs_diff(__CLC_GENTYPE x, __CLC_GENTYPE y);
diff --git a/generic/include/clc/integer/add_sat.h b/generic/include/clc/integer/add_sat.h
index 9dbe12a..2e5e698 100644
--- a/generic/include/clc/integer/add_sat.h
+++ b/generic/include/clc/integer/add_sat.h
@@ -1,2 +1,2 @@
-#define BODY <clc/integer/add_sat.inc>
+#define __CLC_BODY <clc/integer/add_sat.inc>
#include <clc/integer/gentype.inc>
diff --git a/generic/include/clc/integer/add_sat.inc b/generic/include/clc/integer/add_sat.inc
index 2ea8a83..913841a 100644
--- a/generic/include/clc/integer/add_sat.inc
+++ b/generic/include/clc/integer/add_sat.inc
@@ -1 +1 @@
-_CLC_OVERLOAD _CLC_DECL GENTYPE add_sat(GENTYPE x, GENTYPE y);
+_CLC_OVERLOAD _CLC_DECL __CLC_GENTYPE add_sat(__CLC_GENTYPE x, __CLC_GENTYPE y);
diff --git a/generic/include/clc/integer/clz.h b/generic/include/clc/integer/clz.h
index 5708eb4..f7cdbf7 100644
--- a/generic/include/clc/integer/clz.h
+++ b/generic/include/clc/integer/clz.h
@@ -1,2 +1,2 @@
-#define BODY <clc/integer/clz.inc>
+#define __CLC_BODY <clc/integer/clz.inc>
#include <clc/integer/gentype.inc>
diff --git a/generic/include/clc/integer/clz.inc b/generic/include/clc/integer/clz.inc
index ac73a31..45826d1 100644
--- a/generic/include/clc/integer/clz.inc
+++ b/generic/include/clc/integer/clz.inc
@@ -1 +1 @@
-_CLC_OVERLOAD _CLC_DECL GENTYPE clz(GENTYPE x);
+_CLC_OVERLOAD _CLC_DECL __CLC_GENTYPE clz(__CLC_GENTYPE x);
diff --git a/generic/include/clc/integer/gentype.inc b/generic/include/clc/integer/gentype.inc
index 95a37d5..6f4d699 100644
--- a/generic/include/clc/integer/gentype.inc
+++ b/generic/include/clc/integer/gentype.inc
@@ -1,435 +1,435 @@
//These 2 defines only change when switching between data sizes or base types to
//keep this file manageable.
-#define GENSIZE 8
-#define SCALAR_GENTYPE char
-
-#define GENTYPE char
-#define UGENTYPE uchar
-#define SGENTYPE char
-#define SCALAR 1
-#include BODY
-#undef SCALAR
-#undef GENTYPE
-#undef UGENTYPE
-#undef SGENTYPE
-
-#define GENTYPE char2
-#define UGENTYPE uchar2
-#define SGENTYPE char2
-#include BODY
-#undef GENTYPE
-#undef UGENTYPE
-#undef SGENTYPE
-
-#define GENTYPE char3
-#define UGENTYPE uchar3
-#define SGENTYPE char3
-#include BODY
-#undef GENTYPE
-#undef UGENTYPE
-#undef SGENTYPE
-
-#define GENTYPE char4
-#define UGENTYPE uchar4
-#define SGENTYPE char4
-#include BODY
-#undef GENTYPE
-#undef UGENTYPE
-#undef SGENTYPE
-
-#define GENTYPE char8
-#define UGENTYPE uchar8
-#define SGENTYPE char8
-#include BODY
-#undef GENTYPE
-#undef UGENTYPE
-#undef SGENTYPE
-
-#define GENTYPE char16
-#define UGENTYPE uchar16
-#define SGENTYPE char16
-#include BODY
-#undef GENTYPE
-#undef UGENTYPE
-#undef SGENTYPE
-
-#undef SCALAR_GENTYPE
-#define SCALAR_GENTYPE uchar
-
-#define GENTYPE uchar
-#define UGENTYPE uchar
-#define SGENTYPE char
-#define SCALAR 1
-#include BODY
-#undef SCALAR
-#undef GENTYPE
-#undef UGENTYPE
-#undef SGENTYPE
-
-#define GENTYPE uchar2
-#define UGENTYPE uchar2
-#define SGENTYPE char2
-#include BODY
-#undef GENTYPE
-#undef UGENTYPE
-#undef SGENTYPE
-
-#define GENTYPE uchar3
-#define UGENTYPE uchar3
-#define SGENTYPE char3
-#include BODY
-#undef GENTYPE
-#undef UGENTYPE
-#undef SGENTYPE
-
-#define GENTYPE uchar4
-#define UGENTYPE uchar4
-#define SGENTYPE char4
-#include BODY
-#undef GENTYPE
-#undef UGENTYPE
-#undef SGENTYPE
-
-#define GENTYPE uchar8
-#define UGENTYPE uchar8
-#define SGENTYPE char8
-#include BODY
-#undef GENTYPE
-#undef UGENTYPE
-#undef SGENTYPE
-
-#define GENTYPE uchar16
-#define UGENTYPE uchar16
-#define SGENTYPE char16
-#include BODY
-#undef GENTYPE
-#undef UGENTYPE
-#undef SGENTYPE
-
-#undef GENSIZE
-#define GENSIZE 16
-#undef SCALAR_GENTYPE
-#define SCALAR_GENTYPE short
-
-#define GENTYPE short
-#define UGENTYPE ushort
-#define SGENTYPE short
-#define SCALAR 1
-#include BODY
-#undef SCALAR
-#undef GENTYPE
-#undef UGENTYPE
-#undef SGENTYPE
-
-#define GENTYPE short2
-#define UGENTYPE ushort2
-#define SGENTYPE short2
-#include BODY
-#undef GENTYPE
-#undef UGENTYPE
-#undef SGENTYPE
-
-#define GENTYPE short3
-#define UGENTYPE ushort3
-#define SGENTYPE short3
-#include BODY
-#undef GENTYPE
-#undef UGENTYPE
-#undef SGENTYPE
-
-#define GENTYPE short4
-#define UGENTYPE ushort4
-#define SGENTYPE short4
-#include BODY
-#undef GENTYPE
-#undef UGENTYPE
-#undef SGENTYPE
-
-#define GENTYPE short8
-#define UGENTYPE ushort8
-#define SGENTYPE short8
-#include BODY
-#undef GENTYPE
-#undef UGENTYPE
-#undef SGENTYPE
-
-#define GENTYPE short16
-#define UGENTYPE ushort16
-#define SGENTYPE short16
-#include BODY
-#undef GENTYPE
-#undef UGENTYPE
-#undef SGENTYPE
-
-#undef SCALAR_GENTYPE
-#define SCALAR_GENTYPE ushort
-
-#define GENTYPE ushort
-#define UGENTYPE ushort
-#define SGENTYPE short
-#define SCALAR 1
-#include BODY
-#undef SCALAR
-#undef GENTYPE
-#undef UGENTYPE
-#undef SGENTYPE
-
-#define GENTYPE ushort2
-#define UGENTYPE ushort2
-#define SGENTYPE short2
-#include BODY
-#undef GENTYPE
-#undef UGENTYPE
-#undef SGENTYPE
-
-#define GENTYPE ushort3
-#define UGENTYPE ushort3
-#define SGENTYPE short3
-#include BODY
-#undef GENTYPE
-#undef UGENTYPE
-#undef SGENTYPE
-
-#define GENTYPE ushort4
-#define UGENTYPE ushort4
-#define SGENTYPE short4
-#include BODY
-#undef GENTYPE
-#undef UGENTYPE
-#undef SGENTYPE
-
-#define GENTYPE ushort8
-#define UGENTYPE ushort8
-#define SGENTYPE short8
-#include BODY
-#undef GENTYPE
-#undef UGENTYPE
-#undef SGENTYPE
-
-#define GENTYPE ushort16
-#define UGENTYPE ushort16
-#define SGENTYPE short16
-#include BODY
-#undef GENTYPE
-#undef UGENTYPE
-#undef SGENTYPE
-
-#undef GENSIZE
-#define GENSIZE 32
-#undef SCALAR_GENTYPE
-#define SCALAR_GENTYPE int
-
-#define GENTYPE int
-#define UGENTYPE uint
-#define SGENTYPE int
-#define SCALAR 1
-#include BODY
-#undef SCALAR
-#undef GENTYPE
-#undef UGENTYPE
-#undef SGENTYPE
-
-#define GENTYPE int2
-#define UGENTYPE uint2
-#define SGENTYPE int2
-#include BODY
-#undef GENTYPE
-#undef UGENTYPE
-#undef SGENTYPE
-
-#define GENTYPE int3
-#define UGENTYPE uint3
-#define SGENTYPE int3
-#include BODY
-#undef GENTYPE
-#undef UGENTYPE
-#undef SGENTYPE
-
-#define GENTYPE int4
-#define UGENTYPE uint4
-#define SGENTYPE int4
-#include BODY
-#undef GENTYPE
-#undef UGENTYPE
-#undef SGENTYPE
-
-#define GENTYPE int8
-#define UGENTYPE uint8
-#define SGENTYPE int8
-#include BODY
-#undef GENTYPE
-#undef UGENTYPE
-#undef SGENTYPE
-
-#define GENTYPE int16
-#define UGENTYPE uint16
-#define SGENTYPE int16
-#include BODY
-#undef GENTYPE
-#undef UGENTYPE
-#undef SGENTYPE
-
-#undef SCALAR_GENTYPE
-#define SCALAR_GENTYPE uint
-
-#define GENTYPE uint
-#define UGENTYPE uint
-#define SGENTYPE int
-#define SCALAR 1
-#include BODY
-#undef SCALAR
-#undef GENTYPE
-#undef UGENTYPE
-#undef SGENTYPE
-
-#define GENTYPE uint2
-#define UGENTYPE uint2
-#define SGENTYPE int2
-#include BODY
-#undef GENTYPE
-#undef UGENTYPE
-#undef SGENTYPE
-
-#define GENTYPE uint3
-#define UGENTYPE uint3
-#define SGENTYPE int3
-#include BODY
-#undef GENTYPE
-#undef UGENTYPE
-#undef SGENTYPE
-
-#define GENTYPE uint4
-#define UGENTYPE uint4
-#define SGENTYPE int4
-#include BODY
-#undef GENTYPE
-#undef UGENTYPE
-#undef SGENTYPE
-
-#define GENTYPE uint8
-#define UGENTYPE uint8
-#define SGENTYPE int8
-#include BODY
-#undef GENTYPE
-#undef UGENTYPE
-#undef SGENTYPE
-
-#define GENTYPE uint16
-#define UGENTYPE uint16
-#define SGENTYPE int16
-#include BODY
-#undef GENTYPE
-#undef UGENTYPE
-#undef SGENTYPE
-
-#undef GENSIZE
-#define GENSIZE 64
-#undef SCALAR_GENTYPE
-#define SCALAR_GENTYPE long
-
-#define GENTYPE long
-#define UGENTYPE ulong
-#define SGENTYPE long
-#define SCALAR 1
-#include BODY
-#undef SCALAR
-#undef GENTYPE
-#undef UGENTYPE
-#undef SGENTYPE
-
-#define GENTYPE long2
-#define UGENTYPE ulong2
-#define SGENTYPE long2
-#include BODY
-#undef GENTYPE
-#undef UGENTYPE
-#undef SGENTYPE
-
-#define GENTYPE long3
-#define UGENTYPE ulong3
-#define SGENTYPE long3
-#include BODY
-#undef GENTYPE
-#undef UGENTYPE
-#undef SGENTYPE
-
-#define GENTYPE long4
-#define UGENTYPE ulong4
-#define SGENTYPE long4
-#include BODY
-#undef GENTYPE
-#undef UGENTYPE
-#undef SGENTYPE
-
-#define GENTYPE long8
-#define UGENTYPE ulong8
-#define SGENTYPE long8
-#include BODY
-#undef GENTYPE
-#undef UGENTYPE
-#undef SGENTYPE
-
-#define GENTYPE long16
-#define UGENTYPE ulong16
-#define SGENTYPE long16
-#include BODY
-#undef GENTYPE
-#undef UGENTYPE
-#undef SGENTYPE
-
-#undef SCALAR_GENTYPE
-#define SCALAR_GENTYPE ulong
-
-#define GENTYPE ulong
-#define UGENTYPE ulong
-#define SGENTYPE long
-#define SCALAR 1
-#include BODY
-#undef SCALAR
-#undef GENTYPE
-#undef UGENTYPE
-#undef SGENTYPE
-
-#define GENTYPE ulong2
-#define UGENTYPE ulong2
-#define SGENTYPE long2
-#include BODY
-#undef GENTYPE
-#undef UGENTYPE
-#undef SGENTYPE
-
-#define GENTYPE ulong3
-#define UGENTYPE ulong3
-#define SGENTYPE long3
-#include BODY
-#undef GENTYPE
-#undef UGENTYPE
-#undef SGENTYPE
-
-#define GENTYPE ulong4
-#define UGENTYPE ulong4
-#define SGENTYPE long4
-#include BODY
-#undef GENTYPE
-#undef UGENTYPE
-#undef SGENTYPE
-
-#define GENTYPE ulong8
-#define UGENTYPE ulong8
-#define SGENTYPE long8
-#include BODY
-#undef GENTYPE
-#undef UGENTYPE
-#undef SGENTYPE
-
-#define GENTYPE ulong16
-#define UGENTYPE ulong16
-#define SGENTYPE long16
-#include BODY
-#undef GENTYPE
-#undef UGENTYPE
-#undef SGENTYPE
-
-#undef GENSIZE
-#undef SCALAR_GENTYPE
-#undef BODY
+#define __CLC_GENSIZE 8
+#define __CLC_SCALAR_GENTYPE char
+
+#define __CLC_GENTYPE char
+#define __CLC_U_GENTYPE uchar
+#define __CLC_S_GENTYPE char
+#define __CLC_SCALAR 1
+#include __CLC_BODY
+#undef __CLC_SCALAR
+#undef __CLC_GENTYPE
+#undef __CLC_U_GENTYPE
+#undef __CLC_S_GENTYPE
+
+#define __CLC_GENTYPE char2
+#define __CLC_U_GENTYPE uchar2
+#define __CLC_S_GENTYPE char2
+#include __CLC_BODY
+#undef __CLC_GENTYPE
+#undef __CLC_U_GENTYPE
+#undef __CLC_S_GENTYPE
+
+#define __CLC_GENTYPE char3
+#define __CLC_U_GENTYPE uchar3
+#define __CLC_S_GENTYPE char3
+#include __CLC_BODY
+#undef __CLC_GENTYPE
+#undef __CLC_U_GENTYPE
+#undef __CLC_S_GENTYPE
+
+#define __CLC_GENTYPE char4
+#define __CLC_U_GENTYPE uchar4
+#define __CLC_S_GENTYPE char4
+#include __CLC_BODY
+#undef __CLC_GENTYPE
+#undef __CLC_U_GENTYPE
+#undef __CLC_S_GENTYPE
+
+#define __CLC_GENTYPE char8
+#define __CLC_U_GENTYPE uchar8
+#define __CLC_S_GENTYPE char8
+#include __CLC_BODY
+#undef __CLC_GENTYPE
+#undef __CLC_U_GENTYPE
+#undef __CLC_S_GENTYPE
+
+#define __CLC_GENTYPE char16
+#define __CLC_U_GENTYPE uchar16
+#define __CLC_S_GENTYPE char16
+#include __CLC_BODY
+#undef __CLC_GENTYPE
+#undef __CLC_U_GENTYPE
+#undef __CLC_S_GENTYPE
+
+#undef __CLC_SCALAR_GENTYPE
+#define __CLC_SCALAR_GENTYPE uchar
+
+#define __CLC_GENTYPE uchar
+#define __CLC_U_GENTYPE uchar
+#define __CLC_S_GENTYPE char
+#define __CLC_SCALAR 1
+#include __CLC_BODY
+#undef __CLC_SCALAR
+#undef __CLC_GENTYPE
+#undef __CLC_U_GENTYPE
+#undef __CLC_S_GENTYPE
+
+#define __CLC_GENTYPE uchar2
+#define __CLC_U_GENTYPE uchar2
+#define __CLC_S_GENTYPE char2
+#include __CLC_BODY
+#undef __CLC_GENTYPE
+#undef __CLC_U_GENTYPE
+#undef __CLC_S_GENTYPE
+
+#define __CLC_GENTYPE uchar3
+#define __CLC_U_GENTYPE uchar3
+#define __CLC_S_GENTYPE char3
+#include __CLC_BODY
+#undef __CLC_GENTYPE
+#undef __CLC_U_GENTYPE
+#undef __CLC_S_GENTYPE
+
+#define __CLC_GENTYPE uchar4
+#define __CLC_U_GENTYPE uchar4
+#define __CLC_S_GENTYPE char4
+#include __CLC_BODY
+#undef __CLC_GENTYPE
+#undef __CLC_U_GENTYPE
+#undef __CLC_S_GENTYPE
+
+#define __CLC_GENTYPE uchar8
+#define __CLC_U_GENTYPE uchar8
+#define __CLC_S_GENTYPE char8
+#include __CLC_BODY
+#undef __CLC_GENTYPE
+#undef __CLC_U_GENTYPE
+#undef __CLC_S_GENTYPE
+
+#define __CLC_GENTYPE uchar16
+#define __CLC_U_GENTYPE uchar16
+#define __CLC_S_GENTYPE char16
+#include __CLC_BODY
+#undef __CLC_GENTYPE
+#undef __CLC_U_GENTYPE
+#undef __CLC_S_GENTYPE
+
+#undef __CLC_GENSIZE
+#define __CLC_GENSIZE 16
+#undef __CLC_SCALAR_GENTYPE
+#define __CLC_SCALAR_GENTYPE short
+
+#define __CLC_GENTYPE short
+#define __CLC_U_GENTYPE ushort
+#define __CLC_S_GENTYPE short
+#define __CLC_SCALAR 1
+#include __CLC_BODY
+#undef __CLC_SCALAR
+#undef __CLC_GENTYPE
+#undef __CLC_U_GENTYPE
+#undef __CLC_S_GENTYPE
+
+#define __CLC_GENTYPE short2
+#define __CLC_U_GENTYPE ushort2
+#define __CLC_S_GENTYPE short2
+#include __CLC_BODY
+#undef __CLC_GENTYPE
+#undef __CLC_U_GENTYPE
+#undef __CLC_S_GENTYPE
+
+#define __CLC_GENTYPE short3
+#define __CLC_U_GENTYPE ushort3
+#define __CLC_S_GENTYPE short3
+#include __CLC_BODY
+#undef __CLC_GENTYPE
+#undef __CLC_U_GENTYPE
+#undef __CLC_S_GENTYPE
+
+#define __CLC_GENTYPE short4
+#define __CLC_U_GENTYPE ushort4
+#define __CLC_S_GENTYPE short4
+#include __CLC_BODY
+#undef __CLC_GENTYPE
+#undef __CLC_U_GENTYPE
+#undef __CLC_S_GENTYPE
+
+#define __CLC_GENTYPE short8
+#define __CLC_U_GENTYPE ushort8
+#define __CLC_S_GENTYPE short8
+#include __CLC_BODY
+#undef __CLC_GENTYPE
+#undef __CLC_U_GENTYPE
+#undef __CLC_S_GENTYPE
+
+#define __CLC_GENTYPE short16
+#define __CLC_U_GENTYPE ushort16
+#define __CLC_S_GENTYPE short16
+#include __CLC_BODY
+#undef __CLC_GENTYPE
+#undef __CLC_U_GENTYPE
+#undef __CLC_S_GENTYPE
+
+#undef __CLC_SCALAR_GENTYPE
+#define __CLC_SCALAR_GENTYPE ushort
+
+#define __CLC_GENTYPE ushort
+#define __CLC_U_GENTYPE ushort
+#define __CLC_S_GENTYPE short
+#define __CLC_SCALAR 1
+#include __CLC_BODY
+#undef __CLC_SCALAR
+#undef __CLC_GENTYPE
+#undef __CLC_U_GENTYPE
+#undef __CLC_S_GENTYPE
+
+#define __CLC_GENTYPE ushort2
+#define __CLC_U_GENTYPE ushort2
+#define __CLC_S_GENTYPE short2
+#include __CLC_BODY
+#undef __CLC_GENTYPE
+#undef __CLC_U_GENTYPE
+#undef __CLC_S_GENTYPE
+
+#define __CLC_GENTYPE ushort3
+#define __CLC_U_GENTYPE ushort3
+#define __CLC_S_GENTYPE short3
+#include __CLC_BODY
+#undef __CLC_GENTYPE
+#undef __CLC_U_GENTYPE
+#undef __CLC_S_GENTYPE
+
+#define __CLC_GENTYPE ushort4
+#define __CLC_U_GENTYPE ushort4
+#define __CLC_S_GENTYPE short4
+#include __CLC_BODY
+#undef __CLC_GENTYPE
+#undef __CLC_U_GENTYPE
+#undef __CLC_S_GENTYPE
+
+#define __CLC_GENTYPE ushort8
+#define __CLC_U_GENTYPE ushort8
+#define __CLC_S_GENTYPE short8
+#include __CLC_BODY
+#undef __CLC_GENTYPE
+#undef __CLC_U_GENTYPE
+#undef __CLC_S_GENTYPE
+
+#define __CLC_GENTYPE ushort16
+#define __CLC_U_GENTYPE ushort16
+#define __CLC_S_GENTYPE short16
+#include __CLC_BODY
+#undef __CLC_GENTYPE
+#undef __CLC_U_GENTYPE
+#undef __CLC_S_GENTYPE
+
+#undef __CLC_GENSIZE
+#define __CLC_GENSIZE 32
+#undef __CLC_SCALAR_GENTYPE
+#define __CLC_SCALAR_GENTYPE int
+
+#define __CLC_GENTYPE int
+#define __CLC_U_GENTYPE uint
+#define __CLC_S_GENTYPE int
+#define __CLC_SCALAR 1
+#include __CLC_BODY
+#undef __CLC_SCALAR
+#undef __CLC_GENTYPE
+#undef __CLC_U_GENTYPE
+#undef __CLC_S_GENTYPE
+
+#define __CLC_GENTYPE int2
+#define __CLC_U_GENTYPE uint2
+#define __CLC_S_GENTYPE int2
+#include __CLC_BODY
+#undef __CLC_GENTYPE
+#undef __CLC_U_GENTYPE
+#undef __CLC_S_GENTYPE
+
+#define __CLC_GENTYPE int3
+#define __CLC_U_GENTYPE uint3
+#define __CLC_S_GENTYPE int3
+#include __CLC_BODY
+#undef __CLC_GENTYPE
+#undef __CLC_U_GENTYPE
+#undef __CLC_S_GENTYPE
+
+#define __CLC_GENTYPE int4
+#define __CLC_U_GENTYPE uint4
+#define __CLC_S_GENTYPE int4
+#include __CLC_BODY
+#undef __CLC_GENTYPE
+#undef __CLC_U_GENTYPE
+#undef __CLC_S_GENTYPE
+
+#define __CLC_GENTYPE int8
+#define __CLC_U_GENTYPE uint8
+#define __CLC_S_GENTYPE int8
+#include __CLC_BODY
+#undef __CLC_GENTYPE
+#undef __CLC_U_GENTYPE
+#undef __CLC_S_GENTYPE
+
+#define __CLC_GENTYPE int16
+#define __CLC_U_GENTYPE uint16
+#define __CLC_S_GENTYPE int16
+#include __CLC_BODY
+#undef __CLC_GENTYPE
+#undef __CLC_U_GENTYPE
+#undef __CLC_S_GENTYPE
+
+#undef __CLC_SCALAR_GENTYPE
+#define __CLC_SCALAR_GENTYPE uint
+
+#define __CLC_GENTYPE uint
+#define __CLC_U_GENTYPE uint
+#define __CLC_S_GENTYPE int
+#define __CLC_SCALAR 1
+#include __CLC_BODY
+#undef __CLC_SCALAR
+#undef __CLC_GENTYPE
+#undef __CLC_U_GENTYPE
+#undef __CLC_S_GENTYPE
+
+#define __CLC_GENTYPE uint2
+#define __CLC_U_GENTYPE uint2
+#define __CLC_S_GENTYPE int2
+#include __CLC_BODY
+#undef __CLC_GENTYPE
+#undef __CLC_U_GENTYPE
+#undef __CLC_S_GENTYPE
+
+#define __CLC_GENTYPE uint3
+#define __CLC_U_GENTYPE uint3
+#define __CLC_S_GENTYPE int3
+#include __CLC_BODY
+#undef __CLC_GENTYPE
+#undef __CLC_U_GENTYPE
+#undef __CLC_S_GENTYPE
+
+#define __CLC_GENTYPE uint4
+#define __CLC_U_GENTYPE uint4
+#define __CLC_S_GENTYPE int4
+#include __CLC_BODY
+#undef __CLC_GENTYPE
+#undef __CLC_U_GENTYPE
+#undef __CLC_S_GENTYPE
+
+#define __CLC_GENTYPE uint8
+#define __CLC_U_GENTYPE uint8
+#define __CLC_S_GENTYPE int8
+#include __CLC_BODY
+#undef __CLC_GENTYPE
+#undef __CLC_U_GENTYPE
+#undef __CLC_S_GENTYPE
+
+#define __CLC_GENTYPE uint16
+#define __CLC_U_GENTYPE uint16
+#define __CLC_S_GENTYPE int16
+#include __CLC_BODY
+#undef __CLC_GENTYPE
+#undef __CLC_U_GENTYPE
+#undef __CLC_S_GENTYPE
+
+#undef __CLC_GENSIZE
+#define __CLC_GENSIZE 64
+#undef __CLC_SCALAR_GENTYPE
+#define __CLC_SCALAR_GENTYPE long
+
+#define __CLC_GENTYPE long
+#define __CLC_U_GENTYPE ulong
+#define __CLC_S_GENTYPE long
+#define __CLC_SCALAR 1
+#include __CLC_BODY
+#undef __CLC_SCALAR
+#undef __CLC_GENTYPE
+#undef __CLC_U_GENTYPE
+#undef __CLC_S_GENTYPE
+
+#define __CLC_GENTYPE long2
+#define __CLC_U_GENTYPE ulong2
+#define __CLC_S_GENTYPE long2
+#include __CLC_BODY
+#undef __CLC_GENTYPE
+#undef __CLC_U_GENTYPE
+#undef __CLC_S_GENTYPE
+
+#define __CLC_GENTYPE long3
+#define __CLC_U_GENTYPE ulong3
+#define __CLC_S_GENTYPE long3
+#include __CLC_BODY
+#undef __CLC_GENTYPE
+#undef __CLC_U_GENTYPE
+#undef __CLC_S_GENTYPE
+
+#define __CLC_GENTYPE long4
+#define __CLC_U_GENTYPE ulong4
+#define __CLC_S_GENTYPE long4
+#include __CLC_BODY
+#undef __CLC_GENTYPE
+#undef __CLC_U_GENTYPE
+#undef __CLC_S_GENTYPE
+
+#define __CLC_GENTYPE long8
+#define __CLC_U_GENTYPE ulong8
+#define __CLC_S_GENTYPE long8
+#include __CLC_BODY
+#undef __CLC_GENTYPE
+#undef __CLC_U_GENTYPE
+#undef __CLC_S_GENTYPE
+
+#define __CLC_GENTYPE long16
+#define __CLC_U_GENTYPE ulong16
+#define __CLC_S_GENTYPE long16
+#include __CLC_BODY
+#undef __CLC_GENTYPE
+#undef __CLC_U_GENTYPE
+#undef __CLC_S_GENTYPE
+
+#undef __CLC_SCALAR_GENTYPE
+#define __CLC_SCALAR_GENTYPE ulong
+
+#define __CLC_GENTYPE ulong
+#define __CLC_U_GENTYPE ulong
+#define __CLC_S_GENTYPE long
+#define __CLC_SCALAR 1
+#include __CLC_BODY
+#undef __CLC_SCALAR
+#undef __CLC_GENTYPE
+#undef __CLC_U_GENTYPE
+#undef __CLC_S_GENTYPE
+
+#define __CLC_GENTYPE ulong2
+#define __CLC_U_GENTYPE ulong2
+#define __CLC_S_GENTYPE long2
+#include __CLC_BODY
+#undef __CLC_GENTYPE
+#undef __CLC_U_GENTYPE
+#undef __CLC_S_GENTYPE
+
+#define __CLC_GENTYPE ulong3
+#define __CLC_U_GENTYPE ulong3
+#define __CLC_S_GENTYPE long3
+#include __CLC_BODY
+#undef __CLC_GENTYPE
+#undef __CLC_U_GENTYPE
+#undef __CLC_S_GENTYPE
+
+#define __CLC_GENTYPE ulong4
+#define __CLC_U_GENTYPE ulong4
+#define __CLC_S_GENTYPE long4
+#include __CLC_BODY
+#undef __CLC_GENTYPE
+#undef __CLC_U_GENTYPE
+#undef __CLC_S_GENTYPE
+
+#define __CLC_GENTYPE ulong8
+#define __CLC_U_GENTYPE ulong8
+#define __CLC_S_GENTYPE long8
+#include __CLC_BODY
+#undef __CLC_GENTYPE
+#undef __CLC_U_GENTYPE
+#undef __CLC_S_GENTYPE
+
+#define __CLC_GENTYPE ulong16
+#define __CLC_U_GENTYPE ulong16
+#define __CLC_S_GENTYPE long16
+#include __CLC_BODY
+#undef __CLC_GENTYPE
+#undef __CLC_U_GENTYPE
+#undef __CLC_S_GENTYPE
+
+#undef __CLC_GENSIZE
+#undef __CLC_SCALAR_GENTYPE
+#undef __CLC_BODY
diff --git a/generic/include/clc/integer/rotate.h b/generic/include/clc/integer/rotate.h
index e163bc8..6320223 100644
--- a/generic/include/clc/integer/rotate.h
+++ b/generic/include/clc/integer/rotate.h
@@ -1,2 +1,2 @@
-#define BODY <clc/integer/rotate.inc>
+#define __CLC_BODY <clc/integer/rotate.inc>
#include <clc/integer/gentype.inc>
diff --git a/generic/include/clc/integer/rotate.inc b/generic/include/clc/integer/rotate.inc
index 5720e1c..c97711e 100644
--- a/generic/include/clc/integer/rotate.inc
+++ b/generic/include/clc/integer/rotate.inc
@@ -1 +1 @@
-_CLC_OVERLOAD _CLC_DECL GENTYPE rotate(GENTYPE x, GENTYPE y);
+_CLC_OVERLOAD _CLC_DECL __CLC_GENTYPE rotate(__CLC_GENTYPE x, __CLC_GENTYPE y);
diff --git a/generic/include/clc/integer/sub_sat.h b/generic/include/clc/integer/sub_sat.h
index 942274d..f841529 100644
--- a/generic/include/clc/integer/sub_sat.h
+++ b/generic/include/clc/integer/sub_sat.h
@@ -1,2 +1,2 @@
-#define BODY <clc/integer/sub_sat.inc>
+#define __CLC_BODY <clc/integer/sub_sat.inc>
#include <clc/integer/gentype.inc>
diff --git a/generic/include/clc/integer/sub_sat.inc b/generic/include/clc/integer/sub_sat.inc
index 3e0f8f9..425df2e 100644
--- a/generic/include/clc/integer/sub_sat.inc
+++ b/generic/include/clc/integer/sub_sat.inc
@@ -1 +1 @@
-_CLC_OVERLOAD _CLC_DECL GENTYPE sub_sat(GENTYPE x, GENTYPE y);
+_CLC_OVERLOAD _CLC_DECL __CLC_GENTYPE sub_sat(__CLC_GENTYPE x, __CLC_GENTYPE y);
diff --git a/generic/include/clc/math/binary_decl.inc b/generic/include/clc/math/binary_decl.inc
index 1a49e26..70a7114 100644
--- a/generic/include/clc/math/binary_decl.inc
+++ b/generic/include/clc/math/binary_decl.inc
@@ -1,6 +1,6 @@
-_CLC_OVERLOAD _CLC_DECL GENTYPE FUNCTION(GENTYPE a, GENTYPE b);
-_CLC_OVERLOAD _CLC_DECL GENTYPE FUNCTION(GENTYPE a, float b);
+_CLC_OVERLOAD _CLC_DECL __CLC_GENTYPE __CLC_FUNCTION(__CLC_GENTYPE a, __CLC_GENTYPE b);
+_CLC_OVERLOAD _CLC_DECL __CLC_GENTYPE __CLC_FUNCTION(__CLC_GENTYPE a, float b);
#ifdef cl_khr_fp64
-_CLC_OVERLOAD _CLC_DECL GENTYPE FUNCTION(GENTYPE a, double b);
+_CLC_OVERLOAD _CLC_DECL __CLC_GENTYPE __CLC_FUNCTION(__CLC_GENTYPE a, double b);
#endif
diff --git a/generic/include/clc/math/binary_intrin.inc b/generic/include/clc/math/binary_intrin.inc
index 30dec7b..cfbe741 100644
--- a/generic/include/clc/math/binary_intrin.inc
+++ b/generic/include/clc/math/binary_intrin.inc
@@ -1,18 +1,18 @@
-_CLC_OVERLOAD float FUNCTION(float, float) __asm(INTRINSIC ".f32");
-_CLC_OVERLOAD float2 FUNCTION(float2, float2) __asm(INTRINSIC ".v2f32");
-_CLC_OVERLOAD float3 FUNCTION(float3, float3) __asm(INTRINSIC ".v3f32");
-_CLC_OVERLOAD float4 FUNCTION(float4, float4) __asm(INTRINSIC ".v4f32");
-_CLC_OVERLOAD float8 FUNCTION(float8, float8) __asm(INTRINSIC ".v8f32");
-_CLC_OVERLOAD float16 FUNCTION(float16, float16) __asm(INTRINSIC ".v16f32");
+_CLC_OVERLOAD float __CLC_FUNCTION(float, float) __asm(__CLC_INTRINSIC ".f32");
+_CLC_OVERLOAD float2 __CLC_FUNCTION(float2, float2) __asm(__CLC_INTRINSIC ".v2f32");
+_CLC_OVERLOAD float3 __CLC_FUNCTION(float3, float3) __asm(__CLC_INTRINSIC ".v3f32");
+_CLC_OVERLOAD float4 __CLC_FUNCTION(float4, float4) __asm(__CLC_INTRINSIC ".v4f32");
+_CLC_OVERLOAD float8 __CLC_FUNCTION(float8, float8) __asm(__CLC_INTRINSIC ".v8f32");
+_CLC_OVERLOAD float16 __CLC_FUNCTION(float16, float16) __asm(__CLC_INTRINSIC ".v16f32");
#ifdef cl_khr_fp64
-_CLC_OVERLOAD double FUNCTION(double, double) __asm(INTRINSIC ".f64");
-_CLC_OVERLOAD double2 FUNCTION(double2, double2) __asm(INTRINSIC ".v2f64");
-_CLC_OVERLOAD double3 FUNCTION(double3, double3) __asm(INTRINSIC ".v3f64");
-_CLC_OVERLOAD double4 FUNCTION(double4, double4) __asm(INTRINSIC ".v4f64");
-_CLC_OVERLOAD double8 FUNCTION(double8, double8) __asm(INTRINSIC ".v8f64");
-_CLC_OVERLOAD double16 FUNCTION(double16, double16) __asm(INTRINSIC ".v16f64");
+_CLC_OVERLOAD double __CLC_FUNCTION(double, double) __asm(__CLC_INTRINSIC ".f64");
+_CLC_OVERLOAD double2 __CLC_FUNCTION(double2, double2) __asm(__CLC_INTRINSIC ".v2f64");
+_CLC_OVERLOAD double3 __CLC_FUNCTION(double3, double3) __asm(__CLC_INTRINSIC ".v3f64");
+_CLC_OVERLOAD double4 __CLC_FUNCTION(double4, double4) __asm(__CLC_INTRINSIC ".v4f64");
+_CLC_OVERLOAD double8 __CLC_FUNCTION(double8, double8) __asm(__CLC_INTRINSIC ".v8f64");
+_CLC_OVERLOAD double16 __CLC_FUNCTION(double16, double16) __asm(__CLC_INTRINSIC ".v16f64");
#endif
-#undef FUNCTION
-#undef INTRINSIC
+#undef __CLC_FUNCTION
+#undef __CLC_INTRINSIC
diff --git a/generic/include/clc/math/ceil.h b/generic/include/clc/math/ceil.h
index b8e4b08..5b40abf 100644
--- a/generic/include/clc/math/ceil.h
+++ b/generic/include/clc/math/ceil.h
@@ -1,6 +1,6 @@
#undef ceil
#define ceil __clc_ceil
-#define FUNCTION __clc_ceil
-#define INTRINSIC "llvm.ceil"
+#define __CLC_FUNCTION __clc_ceil
+#define __CLC_INTRINSIC "llvm.ceil"
#include <clc/math/unary_intrin.inc>
diff --git a/generic/include/clc/math/cos.h b/generic/include/clc/math/cos.h
index e876c1a..974f9d1 100644
--- a/generic/include/clc/math/cos.h
+++ b/generic/include/clc/math/cos.h
@@ -1,6 +1,6 @@
#undef cos
#define cos __clc_cos
-#define FUNCTION __clc_cos
-#define INTRINSIC "llvm.cos"
+#define __CLC_FUNCTION __clc_cos
+#define __CLC_INTRINSIC "llvm.cos"
#include <clc/math/unary_intrin.inc>
diff --git a/generic/include/clc/math/exp2.h b/generic/include/clc/math/exp2.h
index fe91633..ec0dad2 100644
--- a/generic/include/clc/math/exp2.h
+++ b/generic/include/clc/math/exp2.h
@@ -1,6 +1,6 @@
#undef exp2
#define exp2 __clc_exp2
-#define FUNCTION __clc_exp2
-#define INTRINSIC "llvm.exp2"
+#define __CLC_FUNCTION __clc_exp2
+#define __CLC_INTRINSIC "llvm.exp2"
#include <clc/math/unary_intrin.inc>
diff --git a/generic/include/clc/math/fabs.h b/generic/include/clc/math/fabs.h
index 4da013c..ee2f893 100644
--- a/generic/include/clc/math/fabs.h
+++ b/generic/include/clc/math/fabs.h
@@ -1,6 +1,6 @@
#undef fabs
#define fabs __clc_fabs
-#define FUNCTION __clc_fabs
-#define INTRINSIC "llvm.fabs"
+#define __CLC_FUNCTION __clc_fabs
+#define __CLC_INTRINSIC "llvm.fabs"
#include <clc/math/unary_intrin.inc>
diff --git a/generic/include/clc/math/floor.h b/generic/include/clc/math/floor.h
index abb7c2a..2337d35 100644
--- a/generic/include/clc/math/floor.h
+++ b/generic/include/clc/math/floor.h
@@ -1,6 +1,6 @@
#undef floor
#define floor __clc_floor
-#define FUNCTION __clc_floor
-#define INTRINSIC "llvm.floor"
+#define __CLC_FUNCTION __clc_floor
+#define __CLC_INTRINSIC "llvm.floor"
#include <clc/math/unary_intrin.inc>
diff --git a/generic/include/clc/math/fma.h b/generic/include/clc/math/fma.h
index 8d862fa..02d39f6 100644
--- a/generic/include/clc/math/fma.h
+++ b/generic/include/clc/math/fma.h
@@ -1,6 +1,6 @@
#undef fma
#define fma __clc_fma
-#define FUNCTION __clc_fma
-#define INTRINSIC "llvm.fma"
+#define __CLC_FUNCTION __clc_fma
+#define __CLC_INTRINSIC "llvm.fma"
#include <clc/math/ternary_intrin.inc>
diff --git a/generic/include/clc/math/fmax.h b/generic/include/clc/math/fmax.h
index d26e5d6..d6956af 100644
--- a/generic/include/clc/math/fmax.h
+++ b/generic/include/clc/math/fmax.h
@@ -1,11 +1,11 @@
#undef fmax
#define fmax __clc_fmax
-#define BODY <clc/math/binary_decl.inc>
-#define FUNCTION __clc_fmax
+#define __CLC_BODY <clc/math/binary_decl.inc>
+#define __CLC_FUNCTION __clc_fmax
#include <clc/math/gentype.inc>
-#undef BODY
-#undef FUNCTION
+#undef __CLC_BODY
+#undef __CLC_FUNCTION
diff --git a/generic/include/clc/math/fmin.h b/generic/include/clc/math/fmin.h
index 3506aef..5588ba9 100644
--- a/generic/include/clc/math/fmin.h
+++ b/generic/include/clc/math/fmin.h
@@ -1,11 +1,11 @@
#undef fmin
#define fmin __clc_fmin
-#define BODY <clc/math/binary_decl.inc>
-#define FUNCTION __clc_fmin
+#define __CLC_BODY <clc/math/binary_decl.inc>
+#define __CLC_FUNCTION __clc_fmin
#include <clc/math/gentype.inc>
-#undef BODY
-#undef FUNCTION
+#undef __CLC_BODY
+#undef __CLC_FUNCTION
diff --git a/generic/include/clc/math/gentype.inc b/generic/include/clc/math/gentype.inc
index 4ed2151..bff4f56 100644
--- a/generic/include/clc/math/gentype.inc
+++ b/generic/include/clc/math/gentype.inc
@@ -1,63 +1,63 @@
-#define SCALAR_GENTYPE float
+#define __CLC_SCALAR_GENTYPE float
-#define GENTYPE float
-#define SCALAR
-#include BODY
-#undef GENTYPE
-#undef SCALAR
+#define __CLC_GENTYPE float
+#define __CLC_SCALAR
+#include __CLC_BODY
+#undef __CLC_GENTYPE
+#undef __CLC_SCALAR
-#define GENTYPE float2
-#include BODY
-#undef GENTYPE
+#define __CLC_GENTYPE float2
+#include __CLC_BODY
+#undef __CLC_GENTYPE
-#define GENTYPE float3
-#include BODY
-#undef GENTYPE
+#define __CLC_GENTYPE float3
+#include __CLC_BODY
+#undef __CLC_GENTYPE
-#define GENTYPE float4
-#include BODY
-#undef GENTYPE
+#define __CLC_GENTYPE float4
+#include __CLC_BODY
+#undef __CLC_GENTYPE
-#define GENTYPE float8
-#include BODY
-#undef GENTYPE
+#define __CLC_GENTYPE float8
+#include __CLC_BODY
+#undef __CLC_GENTYPE
-#define GENTYPE float16
-#include BODY
-#undef GENTYPE
+#define __CLC_GENTYPE float16
+#include __CLC_BODY
+#undef __CLC_GENTYPE
-#undef SCALAR_GENTYPE
+#undef __CLC_SCALAR_GENTYPE
#ifdef cl_khr_fp64
-#define SCALAR_GENTYPE double
+#define __CLC_SCALAR_GENTYPE double
-#define SCALAR
-#define GENTYPE double
-#include BODY
-#undef GENTYPE
-#undef SCALAR
+#define __CLC_SCALAR
+#define __CLC_GENTYPE double
+#include __CLC_BODY
+#undef __CLC_GENTYPE
+#undef __CLC_SCALAR
-#define GENTYPE double2
-#include BODY
-#undef GENTYPE
+#define __CLC_GENTYPE double2
+#include __CLC_BODY
+#undef __CLC_GENTYPE
-#define GENTYPE double3
-#include BODY
-#undef GENTYPE
+#define __CLC_GENTYPE double3
+#include __CLC_BODY
+#undef __CLC_GENTYPE
-#define GENTYPE double4
-#include BODY
-#undef GENTYPE
+#define __CLC_GENTYPE double4
+#include __CLC_BODY
+#undef __CLC_GENTYPE
-#define GENTYPE double8
-#include BODY
-#undef GENTYPE
+#define __CLC_GENTYPE double8
+#include __CLC_BODY
+#undef __CLC_GENTYPE
-#define GENTYPE double16
-#include BODY
-#undef GENTYPE
+#define __CLC_GENTYPE double16
+#include __CLC_BODY
+#undef __CLC_GENTYPE
-#undef SCALAR_GENTYPE
+#undef __CLC_SCALAR_GENTYPE
#endif
-#undef BODY
+#undef __CLC_BODY
diff --git a/generic/include/clc/math/hypot.h b/generic/include/clc/math/hypot.h
index 9ffda48..c00eb45 100644
--- a/generic/include/clc/math/hypot.h
+++ b/generic/include/clc/math/hypot.h
@@ -1,2 +1,2 @@
-#define BODY <clc/math/hypot.inc>
+#define __CLC_BODY <clc/math/hypot.inc>
#include <clc/math/gentype.inc>
diff --git a/generic/include/clc/math/hypot.inc b/generic/include/clc/math/hypot.inc
index 2f97ee5..08b4605 100644
--- a/generic/include/clc/math/hypot.inc
+++ b/generic/include/clc/math/hypot.inc
@@ -1 +1 @@
-_CLC_OVERLOAD _CLC_DECL GENTYPE hypot(GENTYPE x, GENTYPE y);
+_CLC_OVERLOAD _CLC_DECL __CLC_GENTYPE hypot(__CLC_GENTYPE x, __CLC_GENTYPE y);
diff --git a/generic/include/clc/math/log2.h b/generic/include/clc/math/log2.h
index d8a8842..8801240 100644
--- a/generic/include/clc/math/log2.h
+++ b/generic/include/clc/math/log2.h
@@ -1,6 +1,6 @@
#undef log2
#define log2 __clc_log2
-#define FUNCTION __clc_log2
-#define INTRINSIC "llvm.log2"
+#define __CLC_FUNCTION __clc_log2
+#define __CLC_INTRINSIC "llvm.log2"
#include <clc/math/unary_intrin.inc>
diff --git a/generic/include/clc/math/mad.h b/generic/include/clc/math/mad.h
index 58f7674..c4e5084 100644
--- a/generic/include/clc/math/mad.h
+++ b/generic/include/clc/math/mad.h
@@ -1,2 +1,2 @@
-#define BODY <clc/math/mad.inc>
+#define __CLC_BODY <clc/math/mad.inc>
#include <clc/math/gentype.inc>
diff --git a/generic/include/clc/math/mad.inc b/generic/include/clc/math/mad.inc
index 5200d67..61194b6 100644
--- a/generic/include/clc/math/mad.inc
+++ b/generic/include/clc/math/mad.inc
@@ -1 +1 @@
-_CLC_OVERLOAD _CLC_DECL GENTYPE mad(GENTYPE a, GENTYPE b, GENTYPE c);
+_CLC_OVERLOAD _CLC_DECL __CLC_GENTYPE mad(__CLC_GENTYPE a, __CLC_GENTYPE b, __CLC_GENTYPE c);
diff --git a/generic/include/clc/math/pow.h b/generic/include/clc/math/pow.h
index 208d06d..320d341 100644
--- a/generic/include/clc/math/pow.h
+++ b/generic/include/clc/math/pow.h
@@ -1,6 +1,6 @@
#undef pow
#define pow __clc_pow
-#define FUNCTION __clc_pow
-#define INTRINSIC "llvm.pow"
+#define __CLC_FUNCTION __clc_pow
+#define __CLC_INTRINSIC "llvm.pow"
#include <clc/math/binary_intrin.inc>
diff --git a/generic/include/clc/math/sin.h b/generic/include/clc/math/sin.h
index 2216804..e50b71a 100644
--- a/generic/include/clc/math/sin.h
+++ b/generic/include/clc/math/sin.h
@@ -1,6 +1,6 @@
#undef sin
#define sin __clc_sin
-#define FUNCTION __clc_sin
-#define INTRINSIC "llvm.sin"
+#define __CLC_FUNCTION __clc_sin
+#define __CLC_INTRINSIC "llvm.sin"
#include <clc/math/unary_intrin.inc>
diff --git a/generic/include/clc/math/sqrt.h b/generic/include/clc/math/sqrt.h
index a000e24..f69de84 100644
--- a/generic/include/clc/math/sqrt.h
+++ b/generic/include/clc/math/sqrt.h
@@ -1,6 +1,6 @@
#undef sqrt
#define sqrt __clc_sqrt
-#define FUNCTION __clc_sqrt
-#define INTRINSIC "llvm.sqrt"
+#define __CLC_FUNCTION __clc_sqrt
+#define __CLC_INTRINSIC "llvm.sqrt"
#include <clc/math/unary_intrin.inc>
diff --git a/generic/include/clc/math/ternary_intrin.inc b/generic/include/clc/math/ternary_intrin.inc
index 7d451e9..9633696 100644
--- a/generic/include/clc/math/ternary_intrin.inc
+++ b/generic/include/clc/math/ternary_intrin.inc
@@ -1,18 +1,18 @@
-_CLC_OVERLOAD float FUNCTION(float, float, float) __asm(INTRINSIC ".f32");
-_CLC_OVERLOAD float2 FUNCTION(float2, float2, float2) __asm(INTRINSIC ".v2f32");
-_CLC_OVERLOAD float3 FUNCTION(float3, float3, float3) __asm(INTRINSIC ".v3f32");
-_CLC_OVERLOAD float4 FUNCTION(float4, float4, float4) __asm(INTRINSIC ".v4f32");
-_CLC_OVERLOAD float8 FUNCTION(float8, float8, float8) __asm(INTRINSIC ".v8f32");
-_CLC_OVERLOAD float16 FUNCTION(float16, float16, float16) __asm(INTRINSIC ".v16f32");
+_CLC_OVERLOAD float __CLC_FUNCTION(float, float, float) __asm(__CLC_INTRINSIC ".f32");
+_CLC_OVERLOAD float2 __CLC_FUNCTION(float2, float2, float2) __asm(__CLC_INTRINSIC ".v2f32");
+_CLC_OVERLOAD float3 __CLC_FUNCTION(float3, float3, float3) __asm(__CLC_INTRINSIC ".v3f32");
+_CLC_OVERLOAD float4 __CLC_FUNCTION(float4, float4, float4) __asm(__CLC_INTRINSIC ".v4f32");
+_CLC_OVERLOAD float8 __CLC_FUNCTION(float8, float8, float8) __asm(__CLC_INTRINSIC ".v8f32");
+_CLC_OVERLOAD float16 __CLC_FUNCTION(float16, float16, float16) __asm(__CLC_INTRINSIC ".v16f32");
#ifdef cl_khr_fp64
-_CLC_OVERLOAD double FUNCTION(double, double, double) __asm(INTRINSIC ".f64");
-_CLC_OVERLOAD double2 FUNCTION(double2, double2, double2) __asm(INTRINSIC ".v2f64");
-_CLC_OVERLOAD double3 FUNCTION(double3, double3, double3) __asm(INTRINSIC ".v3f64");
-_CLC_OVERLOAD double4 FUNCTION(double4, double4, double4) __asm(INTRINSIC ".v4f64");
-_CLC_OVERLOAD double8 FUNCTION(double8, double8, double8) __asm(INTRINSIC ".v8f64");
-_CLC_OVERLOAD double16 FUNCTION(double16, double16, double16) __asm(INTRINSIC ".v16f64");
+_CLC_OVERLOAD double __CLC_FUNCTION(double, double, double) __asm(__CLC_INTRINSIC ".f64");
+_CLC_OVERLOAD double2 __CLC_FUNCTION(double2, double2, double2) __asm(__CLC_INTRINSIC ".v2f64");
+_CLC_OVERLOAD double3 __CLC_FUNCTION(double3, double3, double3) __asm(__CLC_INTRINSIC ".v3f64");
+_CLC_OVERLOAD double4 __CLC_FUNCTION(double4, double4, double4) __asm(__CLC_INTRINSIC ".v4f64");
+_CLC_OVERLOAD double8 __CLC_FUNCTION(double8, double8, double8) __asm(__CLC_INTRINSIC ".v8f64");
+_CLC_OVERLOAD double16 __CLC_FUNCTION(double16, double16, double16) __asm(__CLC_INTRINSIC ".v16f64");
#endif
-#undef FUNCTION
-#undef INTRINSIC
+#undef __CLC_FUNCTION
+#undef __CLC_INTRINSIC
diff --git a/generic/include/clc/math/unary_decl.inc b/generic/include/clc/math/unary_decl.inc
index 392c4d6..9858d90 100644
--- a/generic/include/clc/math/unary_decl.inc
+++ b/generic/include/clc/math/unary_decl.inc
@@ -1 +1 @@
-_CLC_OVERLOAD _CLC_DECL GENTYPE FUNCTION(GENTYPE x);
+_CLC_OVERLOAD _CLC_DECL __CLC_GENTYPE __CLC_FUNCTION(__CLC_GENTYPE x);
diff --git a/generic/include/clc/math/unary_intrin.inc b/generic/include/clc/math/unary_intrin.inc
index 2da5a9c..8c62d88 100644
--- a/generic/include/clc/math/unary_intrin.inc
+++ b/generic/include/clc/math/unary_intrin.inc
@@ -1,18 +1,18 @@
-_CLC_OVERLOAD float FUNCTION(float f) __asm(INTRINSIC ".f32");
-_CLC_OVERLOAD float2 FUNCTION(float2 f) __asm(INTRINSIC ".v2f32");
-_CLC_OVERLOAD float3 FUNCTION(float3 f) __asm(INTRINSIC ".v3f32");
-_CLC_OVERLOAD float4 FUNCTION(float4 f) __asm(INTRINSIC ".v4f32");
-_CLC_OVERLOAD float8 FUNCTION(float8 f) __asm(INTRINSIC ".v8f32");
-_CLC_OVERLOAD float16 FUNCTION(float16 f) __asm(INTRINSIC ".v16f32");
+_CLC_OVERLOAD float __CLC_FUNCTION(float f) __asm(__CLC_INTRINSIC ".f32");
+_CLC_OVERLOAD float2 __CLC_FUNCTION(float2 f) __asm(__CLC_INTRINSIC ".v2f32");
+_CLC_OVERLOAD float3 __CLC_FUNCTION(float3 f) __asm(__CLC_INTRINSIC ".v3f32");
+_CLC_OVERLOAD float4 __CLC_FUNCTION(float4 f) __asm(__CLC_INTRINSIC ".v4f32");
+_CLC_OVERLOAD float8 __CLC_FUNCTION(float8 f) __asm(__CLC_INTRINSIC ".v8f32");
+_CLC_OVERLOAD float16 __CLC_FUNCTION(float16 f) __asm(__CLC_INTRINSIC ".v16f32");
#ifdef cl_khr_fp64
-_CLC_OVERLOAD double FUNCTION(double d) __asm(INTRINSIC ".f64");
-_CLC_OVERLOAD double2 FUNCTION(double2 d) __asm(INTRINSIC ".v2f64");
-_CLC_OVERLOAD double3 FUNCTION(double3 d) __asm(INTRINSIC ".v3f64");
-_CLC_OVERLOAD double4 FUNCTION(double4 d) __asm(INTRINSIC ".v4f64");
-_CLC_OVERLOAD double8 FUNCTION(double8 d) __asm(INTRINSIC ".v8f64");
-_CLC_OVERLOAD double16 FUNCTION(double16 d) __asm(INTRINSIC ".v16f64");
+_CLC_OVERLOAD double __CLC_FUNCTION(double d) __asm(__CLC_INTRINSIC ".f64");
+_CLC_OVERLOAD double2 __CLC_FUNCTION(double2 d) __asm(__CLC_INTRINSIC ".v2f64");
+_CLC_OVERLOAD double3 __CLC_FUNCTION(double3 d) __asm(__CLC_INTRINSIC ".v3f64");
+_CLC_OVERLOAD double4 __CLC_FUNCTION(double4 d) __asm(__CLC_INTRINSIC ".v4f64");
+_CLC_OVERLOAD double8 __CLC_FUNCTION(double8 d) __asm(__CLC_INTRINSIC ".v8f64");
+_CLC_OVERLOAD double16 __CLC_FUNCTION(double16 d) __asm(__CLC_INTRINSIC ".v16f64");
#endif
-#undef FUNCTION
-#undef INTRINSIC
+#undef __CLC_FUNCTION
+#undef __CLC_INTRINSIC
diff --git a/generic/include/clc/shared/clamp.h b/generic/include/clc/shared/clamp.h
index 5c2ebd0..a389b85 100644
--- a/generic/include/clc/shared/clamp.h
+++ b/generic/include/clc/shared/clamp.h
@@ -1,5 +1,5 @@
-#define BODY <clc/shared/clamp.inc>
+#define __CLC_BODY <clc/shared/clamp.inc>
#include <clc/integer/gentype.inc>
-#define BODY <clc/shared/clamp.inc>
+#define __CLC_BODY <clc/shared/clamp.inc>
#include <clc/math/gentype.inc>
diff --git a/generic/include/clc/shared/clamp.inc b/generic/include/clc/shared/clamp.inc
index 67c8142..aaff9d0 100644
--- a/generic/include/clc/shared/clamp.inc
+++ b/generic/include/clc/shared/clamp.inc
@@ -1,5 +1,5 @@
-_CLC_OVERLOAD _CLC_DECL GENTYPE clamp(GENTYPE x, GENTYPE y, GENTYPE z);
+_CLC_OVERLOAD _CLC_DECL __CLC_GENTYPE clamp(__CLC_GENTYPE x, __CLC_GENTYPE y, __CLC_GENTYPE z);
-#ifndef SCALAR
-_CLC_OVERLOAD _CLC_DECL GENTYPE clamp(GENTYPE x, SCALAR_GENTYPE y, SCALAR_GENTYPE z);
+#ifndef __CLC_SCALAR
+_CLC_OVERLOAD _CLC_DECL __CLC_GENTYPE clamp(__CLC_GENTYPE x, __CLC_SCALAR_GENTYPE y, __CLC_SCALAR_GENTYPE z);
#endif
diff --git a/generic/include/clc/shared/max.h b/generic/include/clc/shared/max.h
index 7967d4a..ee20b9e 100644
--- a/generic/include/clc/shared/max.h
+++ b/generic/include/clc/shared/max.h
@@ -1,5 +1,5 @@
-#define BODY <clc/shared/max.inc>
+#define __CLC_BODY <clc/shared/max.inc>
#include <clc/integer/gentype.inc>
-#define BODY <clc/shared/max.inc>
+#define __CLC_BODY <clc/shared/max.inc>
#include <clc/math/gentype.inc>
diff --git a/generic/include/clc/shared/max.inc b/generic/include/clc/shared/max.inc
index 9fe73c4..5901074 100644
--- a/generic/include/clc/shared/max.inc
+++ b/generic/include/clc/shared/max.inc
@@ -1,5 +1,5 @@
-_CLC_OVERLOAD _CLC_DECL GENTYPE max(GENTYPE a, GENTYPE b);
+_CLC_OVERLOAD _CLC_DECL __CLC_GENTYPE max(__CLC_GENTYPE a, __CLC_GENTYPE b);
-#ifndef SCALAR
-_CLC_OVERLOAD _CLC_DECL GENTYPE max(GENTYPE a, SCALAR_GENTYPE b);
+#ifndef __CLC_SCALAR
+_CLC_OVERLOAD _CLC_DECL __CLC_GENTYPE max(__CLC_GENTYPE a, __CLC_SCALAR_GENTYPE b);
#endif
diff --git a/generic/include/clc/shared/min.h b/generic/include/clc/shared/min.h
index e16b45d..e11d9f9 100644
--- a/generic/include/clc/shared/min.h
+++ b/generic/include/clc/shared/min.h
@@ -1,5 +1,5 @@
-#define BODY <clc/shared/min.inc>
+#define __CLC_BODY <clc/shared/min.inc>
#include <clc/integer/gentype.inc>
-#define BODY <clc/shared/min.inc>
+#define __CLC_BODY <clc/shared/min.inc>
#include <clc/math/gentype.inc>
diff --git a/generic/include/clc/shared/min.inc b/generic/include/clc/shared/min.inc
index cf3afaf..d8c1568 100644
--- a/generic/include/clc/shared/min.inc
+++ b/generic/include/clc/shared/min.inc
@@ -1,5 +1,5 @@
-_CLC_OVERLOAD _CLC_DECL GENTYPE min(GENTYPE a, GENTYPE b);
+_CLC_OVERLOAD _CLC_DECL __CLC_GENTYPE min(__CLC_GENTYPE a, __CLC_GENTYPE b);
-#ifndef SCALAR
-_CLC_OVERLOAD _CLC_DECL GENTYPE min(GENTYPE a, SCALAR_GENTYPE b);
-#endif \ No newline at end of file
+#ifndef __CLC_SCALAR
+_CLC_OVERLOAD _CLC_DECL __CLC_GENTYPE min(__CLC_GENTYPE a, __CLC_SCALAR_GENTYPE b);
+#endif
diff --git a/generic/lib/geometric/length.cl b/generic/lib/geometric/length.cl
index e26f2b8..ef087c7 100644
--- a/generic/lib/geometric/length.cl
+++ b/generic/lib/geometric/length.cl
@@ -4,5 +4,5 @@
#pragma OPENCL EXTENSION cl_khr_fp64 : enable
#endif
-#define BODY <length.inc>
+#define __CLC_BODY <length.inc>
#include <clc/geometric/floatn.inc>
diff --git a/generic/lib/geometric/length.inc b/generic/lib/geometric/length.inc
index 494789c..5faaaff 100644
--- a/generic/lib/geometric/length.inc
+++ b/generic/lib/geometric/length.inc
@@ -1,3 +1,3 @@
-_CLC_OVERLOAD _CLC_DEF FLOAT length(FLOATN p) {
+_CLC_OVERLOAD _CLC_DEF __CLC_FLOAT length(__CLC_FLOATN p) {
return native_sqrt(dot(p, p));
}
diff --git a/generic/lib/geometric/normalize.cl b/generic/lib/geometric/normalize.cl
index 70d255d..b06b2fe 100644
--- a/generic/lib/geometric/normalize.cl
+++ b/generic/lib/geometric/normalize.cl
@@ -4,5 +4,5 @@
#pragma OPENCL EXTENSION cl_khr_fp64 : enable
#endif
-#define BODY <normalize.inc>
+#define __CLC_BODY <normalize.inc>
#include <clc/geometric/floatn.inc>
diff --git a/generic/lib/geometric/normalize.inc b/generic/lib/geometric/normalize.inc
index a23908b..423ff79 100644
--- a/generic/lib/geometric/normalize.inc
+++ b/generic/lib/geometric/normalize.inc
@@ -1,3 +1,3 @@
-_CLC_OVERLOAD _CLC_DEF FLOATN normalize(FLOATN p) {
+_CLC_OVERLOAD _CLC_DEF __CLC_FLOATN normalize(__CLC_FLOATN p) {
return p/length(p);
}
diff --git a/generic/lib/integer/abs.cl b/generic/lib/integer/abs.cl
index 86f1a34..faff8d0 100644
--- a/generic/lib/integer/abs.cl
+++ b/generic/lib/integer/abs.cl
@@ -1,4 +1,4 @@
#include <clc/clc.h>
-#define BODY <abs.inc>
+#define __CLC_BODY <abs.inc>
#include <clc/integer/gentype.inc>
diff --git a/generic/lib/integer/abs.inc b/generic/lib/integer/abs.inc
index fff6691..cfe7bfe 100644
--- a/generic/lib/integer/abs.inc
+++ b/generic/lib/integer/abs.inc
@@ -1,3 +1,3 @@
-_CLC_OVERLOAD _CLC_DEF UGENTYPE abs(GENTYPE x) {
- return __builtin_astype((GENTYPE)(x > (GENTYPE)(0) ? x : -x), UGENTYPE);
+_CLC_OVERLOAD _CLC_DEF __CLC_U_GENTYPE abs(__CLC_GENTYPE x) {
+ return __builtin_astype((__CLC_GENTYPE)(x > (__CLC_GENTYPE)(0) ? x : -x), __CLC_U_GENTYPE);
}
diff --git a/generic/lib/integer/abs_diff.cl b/generic/lib/integer/abs_diff.cl
index c9ca821..3d75105 100644
--- a/generic/lib/integer/abs_diff.cl
+++ b/generic/lib/integer/abs_diff.cl
@@ -1,4 +1,4 @@
#include <clc/clc.h>
-#define BODY <abs_diff.inc>
+#define __CLC_BODY <abs_diff.inc>
#include <clc/integer/gentype.inc>
diff --git a/generic/lib/integer/abs_diff.inc b/generic/lib/integer/abs_diff.inc
index 6ad57ee..f39c3ff 100644
--- a/generic/lib/integer/abs_diff.inc
+++ b/generic/lib/integer/abs_diff.inc
@@ -1,3 +1,3 @@
-_CLC_OVERLOAD _CLC_DEF UGENTYPE abs_diff(GENTYPE x, GENTYPE y) {
- return __builtin_astype((GENTYPE)(x > y ? x-y : y-x), UGENTYPE);
+_CLC_OVERLOAD _CLC_DEF __CLC_U_GENTYPE abs_diff(__CLC_GENTYPE x, __CLC_GENTYPE y) {
+ return __builtin_astype((__CLC_GENTYPE)(x > y ? x-y : y-x), __CLC_U_GENTYPE);
}
diff --git a/generic/lib/integer/rotate.cl b/generic/lib/integer/rotate.cl
index d7eff2b..27ce515 100644
--- a/generic/lib/integer/rotate.cl
+++ b/generic/lib/integer/rotate.cl
@@ -1,4 +1,4 @@
#include <clc/clc.h>
-#define BODY <rotate.inc>
+#define __CLC_BODY <rotate.inc>
#include <clc/integer/gentype.inc>
diff --git a/generic/lib/integer/rotate.inc b/generic/lib/integer/rotate.inc
index 2aa6cc9..33bb0a8 100644
--- a/generic/lib/integer/rotate.inc
+++ b/generic/lib/integer/rotate.inc
@@ -7,36 +7,36 @@
* Eventually, someone should feel free to implement an llvm-specific version
*/
-_CLC_OVERLOAD _CLC_DEF GENTYPE rotate(GENTYPE x, GENTYPE n){
+_CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE rotate(__CLC_GENTYPE x, __CLC_GENTYPE n){
//Try to avoid extra work if someone's spinning the value through multiple
//full rotations
- n = n % (GENTYPE)GENSIZE;
+ n = n % (__CLC_GENTYPE)__CLC_GENSIZE;
-#ifdef SCALAR
+#ifdef __CLC_SCALAR
if (n > 0){
- return (x << n) | (((UGENTYPE)x) >> (GENSIZE - n));
+ return (x << n) | (((__CLC_U_GENTYPE)x) >> (__CLC_GENSIZE - n));
} else if (n == 0){
return x;
} else {
- return ( (((UGENTYPE)x) >> -n) | (x << (GENSIZE + n)) );
+ return ( (((__CLC_U_GENTYPE)x) >> -n) | (x << (__CLC_GENSIZE + n)) );
}
#else
//XXX: There's a lot of __builtin_astype calls to cast everything to
- // unsigned ... This should be improved so that if GENTYPE==UGENTYPE, no
+ // unsigned ... This should be improved so that if __CLC_GENTYPE==__CLC_U_GENTYPE, no
// casts are required.
- UGENTYPE x_1 = __builtin_astype(x, UGENTYPE);
+ __CLC_U_GENTYPE x_1 = __builtin_astype(x, __CLC_U_GENTYPE);
- //XXX: Is (UGENTYPE >> SGENTYPE) | (UGENTYPE << SGENTYPE) legal?
+ //XXX: Is (__CLC_U_GENTYPE >> S__CLC_GENTYPE) | (__CLC_U_GENTYPE << S__CLC_GENTYPE) legal?
// If so, then combine the amt and shifts into a single set of statements
- UGENTYPE amt;
- amt = (n < (GENTYPE)0 ? __builtin_astype((GENTYPE)0-n, UGENTYPE) : (UGENTYPE)0);
- x_1 = (x_1 >> amt) | (x_1 << ((UGENTYPE)GENSIZE - amt));
+ __CLC_U_GENTYPE amt;
+ amt = (n < (__CLC_GENTYPE)0 ? __builtin_astype((__CLC_GENTYPE)0-n, __CLC_U_GENTYPE) : (__CLC_U_GENTYPE)0);
+ x_1 = (x_1 >> amt) | (x_1 << ((__CLC_U_GENTYPE)__CLC_GENSIZE - amt));
- amt = (n < (GENTYPE)0 ? (UGENTYPE)0 : __builtin_astype(n, UGENTYPE));
- x_1 = (x_1 << amt) | (x_1 >> ((UGENTYPE)GENSIZE - amt));
+ amt = (n < (__CLC_GENTYPE)0 ? (__CLC_U_GENTYPE)0 : __builtin_astype(n, __CLC_U_GENTYPE));
+ x_1 = (x_1 << amt) | (x_1 >> ((__CLC_U_GENTYPE)__CLC_GENSIZE - amt));
- return __builtin_astype(x_1, GENTYPE);
+ return __builtin_astype(x_1, __CLC_GENTYPE);
#endif
-} \ No newline at end of file
+}
diff --git a/generic/lib/math/binary_impl.inc b/generic/lib/math/binary_impl.inc
index e4b1e5f..83872d2 100644
--- a/generic/lib/math/binary_impl.inc
+++ b/generic/lib/math/binary_impl.inc
@@ -1,18 +1,18 @@
-#ifndef SCALAR
+#ifndef __CLC_SCALAR
-_CLC_OVERLOAD _CLC_DEF GENTYPE FUNCTION(GENTYPE x, GENTYPE y) {
+_CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE FUNCTION(__CLC_GENTYPE x, __CLC_GENTYPE y) {
return FUNCTION_IMPL(x, y);
}
#endif
-_CLC_OVERLOAD _CLC_DEF GENTYPE FUNCTION(GENTYPE x, double y) {
- GENTYPE vec_y = (GENTYPE) (y);
+_CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE FUNCTION(__CLC_GENTYPE x, double y) {
+ __CLC_GENTYPE vec_y = (__CLC_GENTYPE) (y);
return FUNCTION_IMPL(x, vec_y);
}
-_CLC_OVERLOAD _CLC_DEF GENTYPE FUNCTION(GENTYPE x, float y) {
- GENTYPE vec_y = (GENTYPE) (y);
+_CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE FUNCTION(__CLC_GENTYPE x, float y) {
+ __CLC_GENTYPE vec_y = (__CLC_GENTYPE) (y);
return FUNCTION_IMPL(x, vec_y);
}
diff --git a/generic/lib/math/fmax.cl b/generic/lib/math/fmax.cl
index 68a67ac..58583d6 100644
--- a/generic/lib/math/fmax.cl
+++ b/generic/lib/math/fmax.cl
@@ -7,5 +7,5 @@
#define FUNCTION __clc_fmax
#define FUNCTION_IMPL(x, y) ((x) < (y) ? (y) : (x))
-#define BODY <binary_impl.inc>
+#define __CLC_BODY <binary_impl.inc>
#include <clc/math/gentype.inc>
diff --git a/generic/lib/math/fmin.cl b/generic/lib/math/fmin.cl
index cac188e..a61ad47 100644
--- a/generic/lib/math/fmin.cl
+++ b/generic/lib/math/fmin.cl
@@ -7,5 +7,5 @@
#define FUNCTION __clc_fmin
#define FUNCTION_IMPL(x, y) ((y) < (x) ? (y) : (x))
-#define BODY <binary_impl.inc>
+#define __CLC_BODY <binary_impl.inc>
#include <clc/math/gentype.inc>
diff --git a/generic/lib/math/hypot.cl b/generic/lib/math/hypot.cl
index dcdc1ed..eca042c 100644
--- a/generic/lib/math/hypot.cl
+++ b/generic/lib/math/hypot.cl
@@ -4,5 +4,5 @@
#pragma OPENCL EXTENSION cl_khr_fp64 : enable
#endif
-#define BODY <hypot.inc>
+#define __CLC_BODY <hypot.inc>
#include <clc/math/gentype.inc>
diff --git a/generic/lib/math/hypot.inc b/generic/lib/math/hypot.inc
index 3f529c8..036cee7 100644
--- a/generic/lib/math/hypot.inc
+++ b/generic/lib/math/hypot.inc
@@ -1,3 +1,3 @@
-_CLC_OVERLOAD _CLC_DEF GENTYPE hypot(GENTYPE x, GENTYPE y) {
+_CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE hypot(__CLC_GENTYPE x, __CLC_GENTYPE y) {
return sqrt(x*x + y*y);
}
diff --git a/generic/lib/math/mad.cl b/generic/lib/math/mad.cl
index e66e204..6c7b90d 100644
--- a/generic/lib/math/mad.cl
+++ b/generic/lib/math/mad.cl
@@ -4,5 +4,5 @@
#pragma OPENCL EXTENSION cl_khr_fp64 : enable
#endif
-#define BODY <mad.inc>
+#define __CLC_BODY <mad.inc>
#include <clc/math/gentype.inc>
diff --git a/generic/lib/math/mad.inc b/generic/lib/math/mad.inc
index aec9c06..d32c783 100644
--- a/generic/lib/math/mad.inc
+++ b/generic/lib/math/mad.inc
@@ -1,3 +1,3 @@
-_CLC_OVERLOAD _CLC_DEF GENTYPE mad(GENTYPE a, GENTYPE b, GENTYPE c) {
+_CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE mad(__CLC_GENTYPE a, __CLC_GENTYPE b, __CLC_GENTYPE c) {
return a * b + c;
}
diff --git a/generic/lib/shared/clamp.cl b/generic/lib/shared/clamp.cl
index 0e8d223..c79a358 100644
--- a/generic/lib/shared/clamp.cl
+++ b/generic/lib/shared/clamp.cl
@@ -1,11 +1,11 @@
#include <clc/clc.h>
-#define BODY <clamp.inc>
+#define __CLC_BODY <clamp.inc>
#include <clc/integer/gentype.inc>
#ifdef cl_khr_fp64
#pragma OPENCL EXTENSION cl_khr_fp64 : enable
#endif
-#define BODY <clamp.inc>
+#define __CLC_BODY <clamp.inc>
#include <clc/math/gentype.inc>
diff --git a/generic/lib/shared/clamp.inc b/generic/lib/shared/clamp.inc
index 58370d3..c918f9c 100644
--- a/generic/lib/shared/clamp.inc
+++ b/generic/lib/shared/clamp.inc
@@ -1,9 +1,9 @@
-_CLC_OVERLOAD _CLC_DEF GENTYPE clamp(GENTYPE x, GENTYPE y, GENTYPE z) {
+_CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE clamp(__CLC_GENTYPE x, __CLC_GENTYPE y, __CLC_GENTYPE z) {
return (x > z ? z : (x < y ? y : x));
}
-#ifndef SCALAR
-_CLC_OVERLOAD _CLC_DEF GENTYPE clamp(GENTYPE x, SCALAR_GENTYPE y, SCALAR_GENTYPE z) {
- return (x > (GENTYPE)z ? (GENTYPE)z : (x < (GENTYPE)y ? (GENTYPE)y : x));
+#ifndef __CLC_SCALAR
+_CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE clamp(__CLC_GENTYPE x, __CLC_SCALAR_GENTYPE y, __CLC_SCALAR_GENTYPE z) {
+ return (x > (__CLC_GENTYPE)z ? (__CLC_GENTYPE)z : (x < (__CLC_GENTYPE)y ? (__CLC_GENTYPE)y : x));
}
-#endif \ No newline at end of file
+#endif
diff --git a/generic/lib/shared/max.cl b/generic/lib/shared/max.cl
index 5a48537..1c4457c 100644
--- a/generic/lib/shared/max.cl
+++ b/generic/lib/shared/max.cl
@@ -1,11 +1,11 @@
#include <clc/clc.h>
-#define BODY <max.inc>
+#define __CLC_BODY <max.inc>
#include <clc/integer/gentype.inc>
#ifdef cl_khr_fp64
#pragma OPENCL EXTENSION cl_khr_fp64 : enable
#endif
-#define BODY <max.inc>
+#define __CLC_BODY <max.inc>
#include <clc/math/gentype.inc>
diff --git a/generic/lib/shared/max.inc b/generic/lib/shared/max.inc
index 6a12b6f..75a24c0 100644
--- a/generic/lib/shared/max.inc
+++ b/generic/lib/shared/max.inc
@@ -1,9 +1,9 @@
-_CLC_OVERLOAD _CLC_DEF GENTYPE max(GENTYPE a, GENTYPE b) {
+_CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE max(__CLC_GENTYPE a, __CLC_GENTYPE b) {
return (a > b ? a : b);
}
-#ifndef SCALAR
-_CLC_OVERLOAD _CLC_DEF GENTYPE max(GENTYPE a, SCALAR_GENTYPE b) {
- return (a > (GENTYPE)b ? a : (GENTYPE)b);
+#ifndef __CLC_SCALAR
+_CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE max(__CLC_GENTYPE a, __CLC_SCALAR_GENTYPE b) {
+ return (a > (__CLC_GENTYPE)b ? a : (__CLC_GENTYPE)b);
}
-#endif \ No newline at end of file
+#endif
diff --git a/generic/lib/shared/min.cl b/generic/lib/shared/min.cl
index 49481cb..433087a 100644
--- a/generic/lib/shared/min.cl
+++ b/generic/lib/shared/min.cl
@@ -1,11 +1,11 @@
#include <clc/clc.h>
-#define BODY <min.inc>
+#define __CLC_BODY <min.inc>
#include <clc/integer/gentype.inc>
#ifdef cl_khr_fp64
#pragma OPENCL EXTENSION cl_khr_fp64 : enable
#endif
-#define BODY <min.inc>
+#define __CLC_BODY <min.inc>
#include <clc/math/gentype.inc>
diff --git a/generic/lib/shared/min.inc b/generic/lib/shared/min.inc
index 58a22e1..fe42864 100644
--- a/generic/lib/shared/min.inc
+++ b/generic/lib/shared/min.inc
@@ -1,9 +1,9 @@
-_CLC_OVERLOAD _CLC_DEF GENTYPE min(GENTYPE a, GENTYPE b) {
+_CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE min(__CLC_GENTYPE a, __CLC_GENTYPE b) {
return (a < b ? a : b);
}
-#ifndef SCALAR
-_CLC_OVERLOAD _CLC_DEF GENTYPE min(GENTYPE a, SCALAR_GENTYPE b) {
- return (a < (GENTYPE)b ? a : (GENTYPE)b);
+#ifndef __CLC_SCALAR
+_CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE min(__CLC_GENTYPE a, __CLC_SCALAR_GENTYPE b) {
+ return (a < (__CLC_GENTYPE)b ? a : (__CLC_GENTYPE)b);
}
#endif
diff --git a/generic/lib/shared/vload.cl b/generic/lib/shared/vload.cl
index f6ebd37..4dd7918 100644
--- a/generic/lib/shared/vload.cl
+++ b/generic/lib/shared/vload.cl
@@ -21,11 +21,11 @@
return (PRIM_TYPE##16)(vload8(offset, x), vload8(offset+8, x)); \
} \
-#define VLOAD_ADDR_SPACES(SCALAR_GENTYPE) \
- VLOAD_VECTORIZE(SCALAR_GENTYPE, __private) \
- VLOAD_VECTORIZE(SCALAR_GENTYPE, __local) \
- VLOAD_VECTORIZE(SCALAR_GENTYPE, __constant) \
- VLOAD_VECTORIZE(SCALAR_GENTYPE, __global) \
+#define VLOAD_ADDR_SPACES(__CLC_SCALAR_GENTYPE) \
+ VLOAD_VECTORIZE(__CLC_SCALAR_GENTYPE, __private) \
+ VLOAD_VECTORIZE(__CLC_SCALAR_GENTYPE, __local) \
+ VLOAD_VECTORIZE(__CLC_SCALAR_GENTYPE, __constant) \
+ VLOAD_VECTORIZE(__CLC_SCALAR_GENTYPE, __global) \
//int/uint are special... see below
#define VLOAD_TYPES() \
@@ -93,4 +93,4 @@ _CLC_OVERLOAD _CLC_DEF uint8 vload8(size_t offset, const global uint *x) {
}
_CLC_OVERLOAD _CLC_DEF uint16 vload16(size_t offset, const global uint *x) {
return __clc_vload16_uint__global(offset, x);
-} \ No newline at end of file
+}
diff --git a/generic/lib/shared/vstore.cl b/generic/lib/shared/vstore.cl
index 5b84f47..17c2c4c 100644
--- a/generic/lib/shared/vstore.cl
+++ b/generic/lib/shared/vstore.cl
@@ -29,10 +29,10 @@
vstore8(vec.hi, offset+8, mem); \
} \
-#define VSTORE_ADDR_SPACES(SCALAR_GENTYPE) \
- VSTORE_VECTORIZE(SCALAR_GENTYPE, __private) \
- VSTORE_VECTORIZE(SCALAR_GENTYPE, __local) \
- VSTORE_VECTORIZE(SCALAR_GENTYPE, __global) \
+#define VSTORE_ADDR_SPACES(__CLC_SCALAR___CLC_GENTYPE) \
+ VSTORE_VECTORIZE(__CLC_SCALAR___CLC_GENTYPE, __private) \
+ VSTORE_VECTORIZE(__CLC_SCALAR___CLC_GENTYPE, __local) \
+ VSTORE_VECTORIZE(__CLC_SCALAR___CLC_GENTYPE, __global) \
//int/uint are special... see below
#define VSTORE_TYPES() \