am e94b9da8: am 97ec3394: am fdc548f3: Merge "Update Mac prebuilts for libc++ naming change."

* commit 'e94b9da8a2b1ed7b7ed5476adbb4fd933994cd16':
  Update Mac prebuilts for libc++ naming change.
diff --git a/renderscript/include/rs_core_math.rsh b/renderscript/include/rs_core_math.rsh
index 80a8798..b6058ee 100644
--- a/renderscript/include/rs_core_math.rsh
+++ b/renderscript/include/rs_core_math.rsh
@@ -1658,33 +1658,6 @@
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
 /*
- * Component wise conversion from double2 to float2
- *
- * Supported by API versions 9 and newer.
- */
-extern float2 __attribute__((const, overloadable))convert_float2(double2 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from double3 to float3
- *
- * Supported by API versions 9 and newer.
- */
-extern float3 __attribute__((const, overloadable))convert_float3(double3 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from double4 to float4
- *
- * Supported by API versions 9 and newer.
- */
-extern float4 __attribute__((const, overloadable))convert_float4(double4 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
  * Component wise conversion from char2 to float2
  *
  * Supported by API versions 9 and newer.
@@ -1847,330 +1820,6 @@
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
 /*
- * Component wise conversion from long2 to float2
- *
- * Supported by API versions 9 and newer.
- */
-extern float2 __attribute__((const, overloadable))convert_float2(long2 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from long3 to float3
- *
- * Supported by API versions 9 and newer.
- */
-extern float3 __attribute__((const, overloadable))convert_float3(long3 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from long4 to float4
- *
- * Supported by API versions 9 and newer.
- */
-extern float4 __attribute__((const, overloadable))convert_float4(long4 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from ulong2 to float2
- *
- * Supported by API versions 9 and newer.
- */
-extern float2 __attribute__((const, overloadable))convert_float2(ulong2 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from ulong3 to float3
- *
- * Supported by API versions 9 and newer.
- */
-extern float3 __attribute__((const, overloadable))convert_float3(ulong3 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from ulong4 to float4
- *
- * Supported by API versions 9 and newer.
- */
-extern float4 __attribute__((const, overloadable))convert_float4(ulong4 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from float2 to double2
- *
- * Supported by API versions 9 and newer.
- */
-extern double2 __attribute__((const, overloadable))convert_double2(float2 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from float3 to double3
- *
- * Supported by API versions 9 and newer.
- */
-extern double3 __attribute__((const, overloadable))convert_double3(float3 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from float4 to double4
- *
- * Supported by API versions 9 and newer.
- */
-extern double4 __attribute__((const, overloadable))convert_double4(float4 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from double2 to double2
- *
- * Supported by API versions 9 and newer.
- */
-extern double2 __attribute__((const, overloadable))convert_double2(double2 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from double3 to double3
- *
- * Supported by API versions 9 and newer.
- */
-extern double3 __attribute__((const, overloadable))convert_double3(double3 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from double4 to double4
- *
- * Supported by API versions 9 and newer.
- */
-extern double4 __attribute__((const, overloadable))convert_double4(double4 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from char2 to double2
- *
- * Supported by API versions 9 and newer.
- */
-extern double2 __attribute__((const, overloadable))convert_double2(char2 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from char3 to double3
- *
- * Supported by API versions 9 and newer.
- */
-extern double3 __attribute__((const, overloadable))convert_double3(char3 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from char4 to double4
- *
- * Supported by API versions 9 and newer.
- */
-extern double4 __attribute__((const, overloadable))convert_double4(char4 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from uchar2 to double2
- *
- * Supported by API versions 9 and newer.
- */
-extern double2 __attribute__((const, overloadable))convert_double2(uchar2 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from uchar3 to double3
- *
- * Supported by API versions 9 and newer.
- */
-extern double3 __attribute__((const, overloadable))convert_double3(uchar3 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from uchar4 to double4
- *
- * Supported by API versions 9 and newer.
- */
-extern double4 __attribute__((const, overloadable))convert_double4(uchar4 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from short2 to double2
- *
- * Supported by API versions 9 and newer.
- */
-extern double2 __attribute__((const, overloadable))convert_double2(short2 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from short3 to double3
- *
- * Supported by API versions 9 and newer.
- */
-extern double3 __attribute__((const, overloadable))convert_double3(short3 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from short4 to double4
- *
- * Supported by API versions 9 and newer.
- */
-extern double4 __attribute__((const, overloadable))convert_double4(short4 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from ushort2 to double2
- *
- * Supported by API versions 9 and newer.
- */
-extern double2 __attribute__((const, overloadable))convert_double2(ushort2 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from ushort3 to double3
- *
- * Supported by API versions 9 and newer.
- */
-extern double3 __attribute__((const, overloadable))convert_double3(ushort3 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from ushort4 to double4
- *
- * Supported by API versions 9 and newer.
- */
-extern double4 __attribute__((const, overloadable))convert_double4(ushort4 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from int2 to double2
- *
- * Supported by API versions 9 and newer.
- */
-extern double2 __attribute__((const, overloadable))convert_double2(int2 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from int3 to double3
- *
- * Supported by API versions 9 and newer.
- */
-extern double3 __attribute__((const, overloadable))convert_double3(int3 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from int4 to double4
- *
- * Supported by API versions 9 and newer.
- */
-extern double4 __attribute__((const, overloadable))convert_double4(int4 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from uint2 to double2
- *
- * Supported by API versions 9 and newer.
- */
-extern double2 __attribute__((const, overloadable))convert_double2(uint2 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from uint3 to double3
- *
- * Supported by API versions 9 and newer.
- */
-extern double3 __attribute__((const, overloadable))convert_double3(uint3 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from uint4 to double4
- *
- * Supported by API versions 9 and newer.
- */
-extern double4 __attribute__((const, overloadable))convert_double4(uint4 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from long2 to double2
- *
- * Supported by API versions 9 and newer.
- */
-extern double2 __attribute__((const, overloadable))convert_double2(long2 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from long3 to double3
- *
- * Supported by API versions 9 and newer.
- */
-extern double3 __attribute__((const, overloadable))convert_double3(long3 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from long4 to double4
- *
- * Supported by API versions 9 and newer.
- */
-extern double4 __attribute__((const, overloadable))convert_double4(long4 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from ulong2 to double2
- *
- * Supported by API versions 9 and newer.
- */
-extern double2 __attribute__((const, overloadable))convert_double2(ulong2 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from ulong3 to double3
- *
- * Supported by API versions 9 and newer.
- */
-extern double3 __attribute__((const, overloadable))convert_double3(ulong3 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from ulong4 to double4
- *
- * Supported by API versions 9 and newer.
- */
-extern double4 __attribute__((const, overloadable))convert_double4(ulong4 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
  * Component wise conversion from float2 to char2
  *
  * Supported by API versions 9 and newer.
@@ -2198,33 +1847,6 @@
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
 /*
- * Component wise conversion from double2 to char2
- *
- * Supported by API versions 9 and newer.
- */
-extern char2 __attribute__((const, overloadable))convert_char2(double2 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from double3 to char3
- *
- * Supported by API versions 9 and newer.
- */
-extern char3 __attribute__((const, overloadable))convert_char3(double3 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from double4 to char4
- *
- * Supported by API versions 9 and newer.
- */
-extern char4 __attribute__((const, overloadable))convert_char4(double4 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
  * Component wise conversion from char2 to char2
  *
  * Supported by API versions 9 and newer.
@@ -2387,60 +2009,6 @@
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
 /*
- * Component wise conversion from long2 to char2
- *
- * Supported by API versions 9 and newer.
- */
-extern char2 __attribute__((const, overloadable))convert_char2(long2 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from long3 to char3
- *
- * Supported by API versions 9 and newer.
- */
-extern char3 __attribute__((const, overloadable))convert_char3(long3 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from long4 to char4
- *
- * Supported by API versions 9 and newer.
- */
-extern char4 __attribute__((const, overloadable))convert_char4(long4 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from ulong2 to char2
- *
- * Supported by API versions 9 and newer.
- */
-extern char2 __attribute__((const, overloadable))convert_char2(ulong2 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from ulong3 to char3
- *
- * Supported by API versions 9 and newer.
- */
-extern char3 __attribute__((const, overloadable))convert_char3(ulong3 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from ulong4 to char4
- *
- * Supported by API versions 9 and newer.
- */
-extern char4 __attribute__((const, overloadable))convert_char4(ulong4 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
  * Component wise conversion from float2 to uchar2
  *
  * Supported by API versions 9 and newer.
@@ -2468,33 +2036,6 @@
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
 /*
- * Component wise conversion from double2 to uchar2
- *
- * Supported by API versions 9 and newer.
- */
-extern uchar2 __attribute__((const, overloadable))convert_uchar2(double2 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from double3 to uchar3
- *
- * Supported by API versions 9 and newer.
- */
-extern uchar3 __attribute__((const, overloadable))convert_uchar3(double3 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from double4 to uchar4
- *
- * Supported by API versions 9 and newer.
- */
-extern uchar4 __attribute__((const, overloadable))convert_uchar4(double4 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
  * Component wise conversion from char2 to uchar2
  *
  * Supported by API versions 9 and newer.
@@ -2657,60 +2198,6 @@
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
 /*
- * Component wise conversion from long2 to uchar2
- *
- * Supported by API versions 9 and newer.
- */
-extern uchar2 __attribute__((const, overloadable))convert_uchar2(long2 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from long3 to uchar3
- *
- * Supported by API versions 9 and newer.
- */
-extern uchar3 __attribute__((const, overloadable))convert_uchar3(long3 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from long4 to uchar4
- *
- * Supported by API versions 9 and newer.
- */
-extern uchar4 __attribute__((const, overloadable))convert_uchar4(long4 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from ulong2 to uchar2
- *
- * Supported by API versions 9 and newer.
- */
-extern uchar2 __attribute__((const, overloadable))convert_uchar2(ulong2 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from ulong3 to uchar3
- *
- * Supported by API versions 9 and newer.
- */
-extern uchar3 __attribute__((const, overloadable))convert_uchar3(ulong3 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from ulong4 to uchar4
- *
- * Supported by API versions 9 and newer.
- */
-extern uchar4 __attribute__((const, overloadable))convert_uchar4(ulong4 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
  * Component wise conversion from float2 to short2
  *
  * Supported by API versions 9 and newer.
@@ -2738,33 +2225,6 @@
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
 /*
- * Component wise conversion from double2 to short2
- *
- * Supported by API versions 9 and newer.
- */
-extern short2 __attribute__((const, overloadable))convert_short2(double2 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from double3 to short3
- *
- * Supported by API versions 9 and newer.
- */
-extern short3 __attribute__((const, overloadable))convert_short3(double3 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from double4 to short4
- *
- * Supported by API versions 9 and newer.
- */
-extern short4 __attribute__((const, overloadable))convert_short4(double4 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
  * Component wise conversion from char2 to short2
  *
  * Supported by API versions 9 and newer.
@@ -2927,60 +2387,6 @@
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
 /*
- * Component wise conversion from long2 to short2
- *
- * Supported by API versions 9 and newer.
- */
-extern short2 __attribute__((const, overloadable))convert_short2(long2 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from long3 to short3
- *
- * Supported by API versions 9 and newer.
- */
-extern short3 __attribute__((const, overloadable))convert_short3(long3 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from long4 to short4
- *
- * Supported by API versions 9 and newer.
- */
-extern short4 __attribute__((const, overloadable))convert_short4(long4 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from ulong2 to short2
- *
- * Supported by API versions 9 and newer.
- */
-extern short2 __attribute__((const, overloadable))convert_short2(ulong2 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from ulong3 to short3
- *
- * Supported by API versions 9 and newer.
- */
-extern short3 __attribute__((const, overloadable))convert_short3(ulong3 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from ulong4 to short4
- *
- * Supported by API versions 9 and newer.
- */
-extern short4 __attribute__((const, overloadable))convert_short4(ulong4 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
  * Component wise conversion from float2 to ushort2
  *
  * Supported by API versions 9 and newer.
@@ -3008,33 +2414,6 @@
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
 /*
- * Component wise conversion from double2 to ushort2
- *
- * Supported by API versions 9 and newer.
- */
-extern ushort2 __attribute__((const, overloadable))convert_ushort2(double2 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from double3 to ushort3
- *
- * Supported by API versions 9 and newer.
- */
-extern ushort3 __attribute__((const, overloadable))convert_ushort3(double3 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from double4 to ushort4
- *
- * Supported by API versions 9 and newer.
- */
-extern ushort4 __attribute__((const, overloadable))convert_ushort4(double4 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
  * Component wise conversion from char2 to ushort2
  *
  * Supported by API versions 9 and newer.
@@ -3197,60 +2576,6 @@
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
 /*
- * Component wise conversion from long2 to ushort2
- *
- * Supported by API versions 9 and newer.
- */
-extern ushort2 __attribute__((const, overloadable))convert_ushort2(long2 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from long3 to ushort3
- *
- * Supported by API versions 9 and newer.
- */
-extern ushort3 __attribute__((const, overloadable))convert_ushort3(long3 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from long4 to ushort4
- *
- * Supported by API versions 9 and newer.
- */
-extern ushort4 __attribute__((const, overloadable))convert_ushort4(long4 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from ulong2 to ushort2
- *
- * Supported by API versions 9 and newer.
- */
-extern ushort2 __attribute__((const, overloadable))convert_ushort2(ulong2 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from ulong3 to ushort3
- *
- * Supported by API versions 9 and newer.
- */
-extern ushort3 __attribute__((const, overloadable))convert_ushort3(ulong3 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from ulong4 to ushort4
- *
- * Supported by API versions 9 and newer.
- */
-extern ushort4 __attribute__((const, overloadable))convert_ushort4(ulong4 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
  * Component wise conversion from float2 to int2
  *
  * Supported by API versions 9 and newer.
@@ -3278,33 +2603,6 @@
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
 /*
- * Component wise conversion from double2 to int2
- *
- * Supported by API versions 9 and newer.
- */
-extern int2 __attribute__((const, overloadable))convert_int2(double2 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from double3 to int3
- *
- * Supported by API versions 9 and newer.
- */
-extern int3 __attribute__((const, overloadable))convert_int3(double3 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from double4 to int4
- *
- * Supported by API versions 9 and newer.
- */
-extern int4 __attribute__((const, overloadable))convert_int4(double4 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
  * Component wise conversion from char2 to int2
  *
  * Supported by API versions 9 and newer.
@@ -3467,60 +2765,6 @@
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
 /*
- * Component wise conversion from long2 to int2
- *
- * Supported by API versions 9 and newer.
- */
-extern int2 __attribute__((const, overloadable))convert_int2(long2 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from long3 to int3
- *
- * Supported by API versions 9 and newer.
- */
-extern int3 __attribute__((const, overloadable))convert_int3(long3 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from long4 to int4
- *
- * Supported by API versions 9 and newer.
- */
-extern int4 __attribute__((const, overloadable))convert_int4(long4 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from ulong2 to int2
- *
- * Supported by API versions 9 and newer.
- */
-extern int2 __attribute__((const, overloadable))convert_int2(ulong2 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from ulong3 to int3
- *
- * Supported by API versions 9 and newer.
- */
-extern int3 __attribute__((const, overloadable))convert_int3(ulong3 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from ulong4 to int4
- *
- * Supported by API versions 9 and newer.
- */
-extern int4 __attribute__((const, overloadable))convert_int4(ulong4 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
  * Component wise conversion from float2 to uint2
  *
  * Supported by API versions 9 and newer.
@@ -3548,33 +2792,6 @@
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
 /*
- * Component wise conversion from double2 to uint2
- *
- * Supported by API versions 9 and newer.
- */
-extern uint2 __attribute__((const, overloadable))convert_uint2(double2 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from double3 to uint3
- *
- * Supported by API versions 9 and newer.
- */
-extern uint3 __attribute__((const, overloadable))convert_uint3(double3 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from double4 to uint4
- *
- * Supported by API versions 9 and newer.
- */
-extern uint4 __attribute__((const, overloadable))convert_uint4(double4 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
  * Component wise conversion from char2 to uint2
  *
  * Supported by API versions 9 and newer.
@@ -3735,596 +2952,1622 @@
 extern uint4 __attribute__((const, overloadable))convert_uint4(uint4 v);
 #endif
 
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from double2 to float2
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern float2 __attribute__((const, overloadable))convert_float2(double2 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from double3 to float3
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern float3 __attribute__((const, overloadable))convert_float3(double3 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from double4 to float4
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern float4 __attribute__((const, overloadable))convert_float4(double4 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from long2 to float2
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern float2 __attribute__((const, overloadable))convert_float2(long2 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from long3 to float3
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern float3 __attribute__((const, overloadable))convert_float3(long3 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from long4 to float4
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern float4 __attribute__((const, overloadable))convert_float4(long4 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from ulong2 to float2
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern float2 __attribute__((const, overloadable))convert_float2(ulong2 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from ulong3 to float3
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern float3 __attribute__((const, overloadable))convert_float3(ulong3 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from ulong4 to float4
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern float4 __attribute__((const, overloadable))convert_float4(ulong4 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from double2 to double2
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern double2 __attribute__((const, overloadable))convert_double2(double2 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from double3 to double3
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern double3 __attribute__((const, overloadable))convert_double3(double3 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from double4 to double4
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern double4 __attribute__((const, overloadable))convert_double4(double4 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from long2 to double2
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern double2 __attribute__((const, overloadable))convert_double2(long2 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from long3 to double3
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern double3 __attribute__((const, overloadable))convert_double3(long3 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from long4 to double4
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern double4 __attribute__((const, overloadable))convert_double4(long4 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from ulong2 to double2
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern double2 __attribute__((const, overloadable))convert_double2(ulong2 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from ulong3 to double3
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern double3 __attribute__((const, overloadable))convert_double3(ulong3 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from ulong4 to double4
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern double4 __attribute__((const, overloadable))convert_double4(ulong4 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from double2 to char2
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern char2 __attribute__((const, overloadable))convert_char2(double2 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from double3 to char3
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern char3 __attribute__((const, overloadable))convert_char3(double3 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from double4 to char4
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern char4 __attribute__((const, overloadable))convert_char4(double4 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from long2 to char2
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern char2 __attribute__((const, overloadable))convert_char2(long2 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from long3 to char3
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern char3 __attribute__((const, overloadable))convert_char3(long3 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from long4 to char4
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern char4 __attribute__((const, overloadable))convert_char4(long4 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from ulong2 to char2
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern char2 __attribute__((const, overloadable))convert_char2(ulong2 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from ulong3 to char3
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern char3 __attribute__((const, overloadable))convert_char3(ulong3 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from ulong4 to char4
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern char4 __attribute__((const, overloadable))convert_char4(ulong4 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from double2 to uchar2
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern uchar2 __attribute__((const, overloadable))convert_uchar2(double2 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from double3 to uchar3
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern uchar3 __attribute__((const, overloadable))convert_uchar3(double3 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from double4 to uchar4
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern uchar4 __attribute__((const, overloadable))convert_uchar4(double4 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from long2 to uchar2
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern uchar2 __attribute__((const, overloadable))convert_uchar2(long2 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from long3 to uchar3
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern uchar3 __attribute__((const, overloadable))convert_uchar3(long3 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from long4 to uchar4
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern uchar4 __attribute__((const, overloadable))convert_uchar4(long4 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from ulong2 to uchar2
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern uchar2 __attribute__((const, overloadable))convert_uchar2(ulong2 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from ulong3 to uchar3
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern uchar3 __attribute__((const, overloadable))convert_uchar3(ulong3 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from ulong4 to uchar4
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern uchar4 __attribute__((const, overloadable))convert_uchar4(ulong4 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from double2 to short2
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern short2 __attribute__((const, overloadable))convert_short2(double2 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from double3 to short3
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern short3 __attribute__((const, overloadable))convert_short3(double3 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from double4 to short4
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern short4 __attribute__((const, overloadable))convert_short4(double4 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from long2 to short2
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern short2 __attribute__((const, overloadable))convert_short2(long2 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from long3 to short3
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern short3 __attribute__((const, overloadable))convert_short3(long3 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from long4 to short4
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern short4 __attribute__((const, overloadable))convert_short4(long4 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from ulong2 to short2
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern short2 __attribute__((const, overloadable))convert_short2(ulong2 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from ulong3 to short3
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern short3 __attribute__((const, overloadable))convert_short3(ulong3 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from ulong4 to short4
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern short4 __attribute__((const, overloadable))convert_short4(ulong4 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from double2 to ushort2
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern ushort2 __attribute__((const, overloadable))convert_ushort2(double2 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from double3 to ushort3
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern ushort3 __attribute__((const, overloadable))convert_ushort3(double3 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from double4 to ushort4
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern ushort4 __attribute__((const, overloadable))convert_ushort4(double4 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from long2 to ushort2
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern ushort2 __attribute__((const, overloadable))convert_ushort2(long2 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from long3 to ushort3
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern ushort3 __attribute__((const, overloadable))convert_ushort3(long3 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from long4 to ushort4
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern ushort4 __attribute__((const, overloadable))convert_ushort4(long4 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from ulong2 to ushort2
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern ushort2 __attribute__((const, overloadable))convert_ushort2(ulong2 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from ulong3 to ushort3
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern ushort3 __attribute__((const, overloadable))convert_ushort3(ulong3 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from ulong4 to ushort4
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern ushort4 __attribute__((const, overloadable))convert_ushort4(ulong4 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from double2 to int2
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern int2 __attribute__((const, overloadable))convert_int2(double2 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from double3 to int3
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern int3 __attribute__((const, overloadable))convert_int3(double3 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from double4 to int4
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern int4 __attribute__((const, overloadable))convert_int4(double4 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from long2 to int2
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern int2 __attribute__((const, overloadable))convert_int2(long2 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from long3 to int3
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern int3 __attribute__((const, overloadable))convert_int3(long3 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from long4 to int4
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern int4 __attribute__((const, overloadable))convert_int4(long4 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from ulong2 to int2
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern int2 __attribute__((const, overloadable))convert_int2(ulong2 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from ulong3 to int3
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern int3 __attribute__((const, overloadable))convert_int3(ulong3 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from ulong4 to int4
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern int4 __attribute__((const, overloadable))convert_int4(ulong4 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from double2 to uint2
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern uint2 __attribute__((const, overloadable))convert_uint2(double2 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from double3 to uint3
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern uint3 __attribute__((const, overloadable))convert_uint3(double3 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from double4 to uint4
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern uint4 __attribute__((const, overloadable))convert_uint4(double4 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
 /*
  * Component wise conversion from long2 to uint2
  *
- * Supported by API versions 9 and newer.
+ * Supported by API versions 21 and newer.
  */
 extern uint2 __attribute__((const, overloadable))convert_uint2(long2 v);
 #endif
 
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
 /*
  * Component wise conversion from long3 to uint3
  *
- * Supported by API versions 9 and newer.
+ * Supported by API versions 21 and newer.
  */
 extern uint3 __attribute__((const, overloadable))convert_uint3(long3 v);
 #endif
 
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
 /*
  * Component wise conversion from long4 to uint4
  *
- * Supported by API versions 9 and newer.
+ * Supported by API versions 21 and newer.
  */
 extern uint4 __attribute__((const, overloadable))convert_uint4(long4 v);
 #endif
 
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
 /*
  * Component wise conversion from ulong2 to uint2
  *
- * Supported by API versions 9 and newer.
+ * Supported by API versions 21 and newer.
  */
 extern uint2 __attribute__((const, overloadable))convert_uint2(ulong2 v);
 #endif
 
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
 /*
  * Component wise conversion from ulong3 to uint3
  *
- * Supported by API versions 9 and newer.
+ * Supported by API versions 21 and newer.
  */
 extern uint3 __attribute__((const, overloadable))convert_uint3(ulong3 v);
 #endif
 
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
 /*
  * Component wise conversion from ulong4 to uint4
  *
- * Supported by API versions 9 and newer.
+ * Supported by API versions 21 and newer.
  */
 extern uint4 __attribute__((const, overloadable))convert_uint4(ulong4 v);
 #endif
 
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from float2 to long2
- *
- * Supported by API versions 9 and newer.
- */
-extern long2 __attribute__((const, overloadable))convert_long2(float2 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from float3 to long3
- *
- * Supported by API versions 9 and newer.
- */
-extern long3 __attribute__((const, overloadable))convert_long3(float3 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from float4 to long4
- *
- * Supported by API versions 9 and newer.
- */
-extern long4 __attribute__((const, overloadable))convert_long4(float4 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
 /*
  * Component wise conversion from double2 to long2
  *
- * Supported by API versions 9 and newer.
+ * Supported by API versions 21 and newer.
  */
 extern long2 __attribute__((const, overloadable))convert_long2(double2 v);
 #endif
 
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
 /*
  * Component wise conversion from double3 to long3
  *
- * Supported by API versions 9 and newer.
+ * Supported by API versions 21 and newer.
  */
 extern long3 __attribute__((const, overloadable))convert_long3(double3 v);
 #endif
 
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
 /*
  * Component wise conversion from double4 to long4
  *
- * Supported by API versions 9 and newer.
+ * Supported by API versions 21 and newer.
  */
 extern long4 __attribute__((const, overloadable))convert_long4(double4 v);
 #endif
 
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from char2 to long2
- *
- * Supported by API versions 9 and newer.
- */
-extern long2 __attribute__((const, overloadable))convert_long2(char2 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from char3 to long3
- *
- * Supported by API versions 9 and newer.
- */
-extern long3 __attribute__((const, overloadable))convert_long3(char3 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from char4 to long4
- *
- * Supported by API versions 9 and newer.
- */
-extern long4 __attribute__((const, overloadable))convert_long4(char4 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from uchar2 to long2
- *
- * Supported by API versions 9 and newer.
- */
-extern long2 __attribute__((const, overloadable))convert_long2(uchar2 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from uchar3 to long3
- *
- * Supported by API versions 9 and newer.
- */
-extern long3 __attribute__((const, overloadable))convert_long3(uchar3 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from uchar4 to long4
- *
- * Supported by API versions 9 and newer.
- */
-extern long4 __attribute__((const, overloadable))convert_long4(uchar4 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from short2 to long2
- *
- * Supported by API versions 9 and newer.
- */
-extern long2 __attribute__((const, overloadable))convert_long2(short2 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from short3 to long3
- *
- * Supported by API versions 9 and newer.
- */
-extern long3 __attribute__((const, overloadable))convert_long3(short3 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from short4 to long4
- *
- * Supported by API versions 9 and newer.
- */
-extern long4 __attribute__((const, overloadable))convert_long4(short4 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from ushort2 to long2
- *
- * Supported by API versions 9 and newer.
- */
-extern long2 __attribute__((const, overloadable))convert_long2(ushort2 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from ushort3 to long3
- *
- * Supported by API versions 9 and newer.
- */
-extern long3 __attribute__((const, overloadable))convert_long3(ushort3 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from ushort4 to long4
- *
- * Supported by API versions 9 and newer.
- */
-extern long4 __attribute__((const, overloadable))convert_long4(ushort4 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from int2 to long2
- *
- * Supported by API versions 9 and newer.
- */
-extern long2 __attribute__((const, overloadable))convert_long2(int2 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from int3 to long3
- *
- * Supported by API versions 9 and newer.
- */
-extern long3 __attribute__((const, overloadable))convert_long3(int3 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from int4 to long4
- *
- * Supported by API versions 9 and newer.
- */
-extern long4 __attribute__((const, overloadable))convert_long4(int4 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from uint2 to long2
- *
- * Supported by API versions 9 and newer.
- */
-extern long2 __attribute__((const, overloadable))convert_long2(uint2 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from uint3 to long3
- *
- * Supported by API versions 9 and newer.
- */
-extern long3 __attribute__((const, overloadable))convert_long3(uint3 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from uint4 to long4
- *
- * Supported by API versions 9 and newer.
- */
-extern long4 __attribute__((const, overloadable))convert_long4(uint4 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
 /*
  * Component wise conversion from long2 to long2
  *
- * Supported by API versions 9 and newer.
+ * Supported by API versions 21 and newer.
  */
 extern long2 __attribute__((const, overloadable))convert_long2(long2 v);
 #endif
 
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
 /*
  * Component wise conversion from long3 to long3
  *
- * Supported by API versions 9 and newer.
+ * Supported by API versions 21 and newer.
  */
 extern long3 __attribute__((const, overloadable))convert_long3(long3 v);
 #endif
 
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
 /*
  * Component wise conversion from long4 to long4
  *
- * Supported by API versions 9 and newer.
+ * Supported by API versions 21 and newer.
  */
 extern long4 __attribute__((const, overloadable))convert_long4(long4 v);
 #endif
 
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
 /*
  * Component wise conversion from ulong2 to long2
  *
- * Supported by API versions 9 and newer.
+ * Supported by API versions 21 and newer.
  */
 extern long2 __attribute__((const, overloadable))convert_long2(ulong2 v);
 #endif
 
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
 /*
  * Component wise conversion from ulong3 to long3
  *
- * Supported by API versions 9 and newer.
+ * Supported by API versions 21 and newer.
  */
 extern long3 __attribute__((const, overloadable))convert_long3(ulong3 v);
 #endif
 
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
 /*
  * Component wise conversion from ulong4 to long4
  *
- * Supported by API versions 9 and newer.
+ * Supported by API versions 21 and newer.
  */
 extern long4 __attribute__((const, overloadable))convert_long4(ulong4 v);
 #endif
 
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from float2 to ulong2
- *
- * Supported by API versions 9 and newer.
- */
-extern ulong2 __attribute__((const, overloadable))convert_ulong2(float2 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from float3 to ulong3
- *
- * Supported by API versions 9 and newer.
- */
-extern ulong3 __attribute__((const, overloadable))convert_ulong3(float3 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from float4 to ulong4
- *
- * Supported by API versions 9 and newer.
- */
-extern ulong4 __attribute__((const, overloadable))convert_ulong4(float4 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
 /*
  * Component wise conversion from double2 to ulong2
  *
- * Supported by API versions 9 and newer.
+ * Supported by API versions 21 and newer.
  */
 extern ulong2 __attribute__((const, overloadable))convert_ulong2(double2 v);
 #endif
 
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
 /*
  * Component wise conversion from double3 to ulong3
  *
- * Supported by API versions 9 and newer.
+ * Supported by API versions 21 and newer.
  */
 extern ulong3 __attribute__((const, overloadable))convert_ulong3(double3 v);
 #endif
 
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
 /*
  * Component wise conversion from double4 to ulong4
  *
- * Supported by API versions 9 and newer.
+ * Supported by API versions 21 and newer.
  */
 extern ulong4 __attribute__((const, overloadable))convert_ulong4(double4 v);
 #endif
 
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from char2 to ulong2
- *
- * Supported by API versions 9 and newer.
- */
-extern ulong2 __attribute__((const, overloadable))convert_ulong2(char2 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from char3 to ulong3
- *
- * Supported by API versions 9 and newer.
- */
-extern ulong3 __attribute__((const, overloadable))convert_ulong3(char3 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from char4 to ulong4
- *
- * Supported by API versions 9 and newer.
- */
-extern ulong4 __attribute__((const, overloadable))convert_ulong4(char4 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from uchar2 to ulong2
- *
- * Supported by API versions 9 and newer.
- */
-extern ulong2 __attribute__((const, overloadable))convert_ulong2(uchar2 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from uchar3 to ulong3
- *
- * Supported by API versions 9 and newer.
- */
-extern ulong3 __attribute__((const, overloadable))convert_ulong3(uchar3 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from uchar4 to ulong4
- *
- * Supported by API versions 9 and newer.
- */
-extern ulong4 __attribute__((const, overloadable))convert_ulong4(uchar4 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from short2 to ulong2
- *
- * Supported by API versions 9 and newer.
- */
-extern ulong2 __attribute__((const, overloadable))convert_ulong2(short2 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from short3 to ulong3
- *
- * Supported by API versions 9 and newer.
- */
-extern ulong3 __attribute__((const, overloadable))convert_ulong3(short3 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from short4 to ulong4
- *
- * Supported by API versions 9 and newer.
- */
-extern ulong4 __attribute__((const, overloadable))convert_ulong4(short4 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from ushort2 to ulong2
- *
- * Supported by API versions 9 and newer.
- */
-extern ulong2 __attribute__((const, overloadable))convert_ulong2(ushort2 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from ushort3 to ulong3
- *
- * Supported by API versions 9 and newer.
- */
-extern ulong3 __attribute__((const, overloadable))convert_ulong3(ushort3 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from ushort4 to ulong4
- *
- * Supported by API versions 9 and newer.
- */
-extern ulong4 __attribute__((const, overloadable))convert_ulong4(ushort4 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from int2 to ulong2
- *
- * Supported by API versions 9 and newer.
- */
-extern ulong2 __attribute__((const, overloadable))convert_ulong2(int2 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from int3 to ulong3
- *
- * Supported by API versions 9 and newer.
- */
-extern ulong3 __attribute__((const, overloadable))convert_ulong3(int3 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from int4 to ulong4
- *
- * Supported by API versions 9 and newer.
- */
-extern ulong4 __attribute__((const, overloadable))convert_ulong4(int4 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from uint2 to ulong2
- *
- * Supported by API versions 9 and newer.
- */
-extern ulong2 __attribute__((const, overloadable))convert_ulong2(uint2 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from uint3 to ulong3
- *
- * Supported by API versions 9 and newer.
- */
-extern ulong3 __attribute__((const, overloadable))convert_ulong3(uint3 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from uint4 to ulong4
- *
- * Supported by API versions 9 and newer.
- */
-extern ulong4 __attribute__((const, overloadable))convert_ulong4(uint4 v);
-#endif
-
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
 /*
  * Component wise conversion from long2 to ulong2
  *
- * Supported by API versions 9 and newer.
+ * Supported by API versions 21 and newer.
  */
 extern ulong2 __attribute__((const, overloadable))convert_ulong2(long2 v);
 #endif
 
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
 /*
  * Component wise conversion from long3 to ulong3
  *
- * Supported by API versions 9 and newer.
+ * Supported by API versions 21 and newer.
  */
 extern ulong3 __attribute__((const, overloadable))convert_ulong3(long3 v);
 #endif
 
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
 /*
  * Component wise conversion from long4 to ulong4
  *
- * Supported by API versions 9 and newer.
+ * Supported by API versions 21 and newer.
  */
 extern ulong4 __attribute__((const, overloadable))convert_ulong4(long4 v);
 #endif
 
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
 /*
  * Component wise conversion from ulong2 to ulong2
  *
- * Supported by API versions 9 and newer.
+ * Supported by API versions 21 and newer.
  */
 extern ulong2 __attribute__((const, overloadable))convert_ulong2(ulong2 v);
 #endif
 
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
 /*
  * Component wise conversion from ulong3 to ulong3
  *
- * Supported by API versions 9 and newer.
+ * Supported by API versions 21 and newer.
  */
 extern ulong3 __attribute__((const, overloadable))convert_ulong3(ulong3 v);
 #endif
 
-#if (defined(RS_VERSION) && (RS_VERSION >= 9))
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
 /*
  * Component wise conversion from ulong4 to ulong4
  *
- * Supported by API versions 9 and newer.
+ * Supported by API versions 21 and newer.
+ */
+extern ulong4 __attribute__((const, overloadable))convert_ulong4(ulong4 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from float2 to double2
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern double2 __attribute__((const, overloadable))convert_double2(float2 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from float3 to double3
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern double3 __attribute__((const, overloadable))convert_double3(float3 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from float4 to double4
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern double4 __attribute__((const, overloadable))convert_double4(float4 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from double2 to double2
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern double2 __attribute__((const, overloadable))convert_double2(double2 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from double3 to double3
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern double3 __attribute__((const, overloadable))convert_double3(double3 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from double4 to double4
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern double4 __attribute__((const, overloadable))convert_double4(double4 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from char2 to double2
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern double2 __attribute__((const, overloadable))convert_double2(char2 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from char3 to double3
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern double3 __attribute__((const, overloadable))convert_double3(char3 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from char4 to double4
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern double4 __attribute__((const, overloadable))convert_double4(char4 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from uchar2 to double2
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern double2 __attribute__((const, overloadable))convert_double2(uchar2 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from uchar3 to double3
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern double3 __attribute__((const, overloadable))convert_double3(uchar3 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from uchar4 to double4
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern double4 __attribute__((const, overloadable))convert_double4(uchar4 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from short2 to double2
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern double2 __attribute__((const, overloadable))convert_double2(short2 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from short3 to double3
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern double3 __attribute__((const, overloadable))convert_double3(short3 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from short4 to double4
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern double4 __attribute__((const, overloadable))convert_double4(short4 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from ushort2 to double2
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern double2 __attribute__((const, overloadable))convert_double2(ushort2 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from ushort3 to double3
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern double3 __attribute__((const, overloadable))convert_double3(ushort3 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from ushort4 to double4
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern double4 __attribute__((const, overloadable))convert_double4(ushort4 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from int2 to double2
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern double2 __attribute__((const, overloadable))convert_double2(int2 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from int3 to double3
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern double3 __attribute__((const, overloadable))convert_double3(int3 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from int4 to double4
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern double4 __attribute__((const, overloadable))convert_double4(int4 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from uint2 to double2
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern double2 __attribute__((const, overloadable))convert_double2(uint2 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from uint3 to double3
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern double3 __attribute__((const, overloadable))convert_double3(uint3 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from uint4 to double4
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern double4 __attribute__((const, overloadable))convert_double4(uint4 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from long2 to double2
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern double2 __attribute__((const, overloadable))convert_double2(long2 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from long3 to double3
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern double3 __attribute__((const, overloadable))convert_double3(long3 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from long4 to double4
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern double4 __attribute__((const, overloadable))convert_double4(long4 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from ulong2 to double2
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern double2 __attribute__((const, overloadable))convert_double2(ulong2 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from ulong3 to double3
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern double3 __attribute__((const, overloadable))convert_double3(ulong3 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from ulong4 to double4
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern double4 __attribute__((const, overloadable))convert_double4(ulong4 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from float2 to long2
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern long2 __attribute__((const, overloadable))convert_long2(float2 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from float3 to long3
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern long3 __attribute__((const, overloadable))convert_long3(float3 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from float4 to long4
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern long4 __attribute__((const, overloadable))convert_long4(float4 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from double2 to long2
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern long2 __attribute__((const, overloadable))convert_long2(double2 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from double3 to long3
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern long3 __attribute__((const, overloadable))convert_long3(double3 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from double4 to long4
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern long4 __attribute__((const, overloadable))convert_long4(double4 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from char2 to long2
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern long2 __attribute__((const, overloadable))convert_long2(char2 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from char3 to long3
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern long3 __attribute__((const, overloadable))convert_long3(char3 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from char4 to long4
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern long4 __attribute__((const, overloadable))convert_long4(char4 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from uchar2 to long2
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern long2 __attribute__((const, overloadable))convert_long2(uchar2 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from uchar3 to long3
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern long3 __attribute__((const, overloadable))convert_long3(uchar3 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from uchar4 to long4
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern long4 __attribute__((const, overloadable))convert_long4(uchar4 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from short2 to long2
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern long2 __attribute__((const, overloadable))convert_long2(short2 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from short3 to long3
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern long3 __attribute__((const, overloadable))convert_long3(short3 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from short4 to long4
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern long4 __attribute__((const, overloadable))convert_long4(short4 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from ushort2 to long2
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern long2 __attribute__((const, overloadable))convert_long2(ushort2 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from ushort3 to long3
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern long3 __attribute__((const, overloadable))convert_long3(ushort3 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from ushort4 to long4
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern long4 __attribute__((const, overloadable))convert_long4(ushort4 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from int2 to long2
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern long2 __attribute__((const, overloadable))convert_long2(int2 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from int3 to long3
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern long3 __attribute__((const, overloadable))convert_long3(int3 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from int4 to long4
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern long4 __attribute__((const, overloadable))convert_long4(int4 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from uint2 to long2
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern long2 __attribute__((const, overloadable))convert_long2(uint2 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from uint3 to long3
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern long3 __attribute__((const, overloadable))convert_long3(uint3 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from uint4 to long4
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern long4 __attribute__((const, overloadable))convert_long4(uint4 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from long2 to long2
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern long2 __attribute__((const, overloadable))convert_long2(long2 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from long3 to long3
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern long3 __attribute__((const, overloadable))convert_long3(long3 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from long4 to long4
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern long4 __attribute__((const, overloadable))convert_long4(long4 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from ulong2 to long2
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern long2 __attribute__((const, overloadable))convert_long2(ulong2 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from ulong3 to long3
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern long3 __attribute__((const, overloadable))convert_long3(ulong3 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from ulong4 to long4
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern long4 __attribute__((const, overloadable))convert_long4(ulong4 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from float2 to ulong2
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern ulong2 __attribute__((const, overloadable))convert_ulong2(float2 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from float3 to ulong3
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern ulong3 __attribute__((const, overloadable))convert_ulong3(float3 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from float4 to ulong4
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern ulong4 __attribute__((const, overloadable))convert_ulong4(float4 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from double2 to ulong2
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern ulong2 __attribute__((const, overloadable))convert_ulong2(double2 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from double3 to ulong3
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern ulong3 __attribute__((const, overloadable))convert_ulong3(double3 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from double4 to ulong4
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern ulong4 __attribute__((const, overloadable))convert_ulong4(double4 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from char2 to ulong2
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern ulong2 __attribute__((const, overloadable))convert_ulong2(char2 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from char3 to ulong3
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern ulong3 __attribute__((const, overloadable))convert_ulong3(char3 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from char4 to ulong4
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern ulong4 __attribute__((const, overloadable))convert_ulong4(char4 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from uchar2 to ulong2
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern ulong2 __attribute__((const, overloadable))convert_ulong2(uchar2 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from uchar3 to ulong3
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern ulong3 __attribute__((const, overloadable))convert_ulong3(uchar3 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from uchar4 to ulong4
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern ulong4 __attribute__((const, overloadable))convert_ulong4(uchar4 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from short2 to ulong2
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern ulong2 __attribute__((const, overloadable))convert_ulong2(short2 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from short3 to ulong3
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern ulong3 __attribute__((const, overloadable))convert_ulong3(short3 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from short4 to ulong4
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern ulong4 __attribute__((const, overloadable))convert_ulong4(short4 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from ushort2 to ulong2
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern ulong2 __attribute__((const, overloadable))convert_ulong2(ushort2 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from ushort3 to ulong3
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern ulong3 __attribute__((const, overloadable))convert_ulong3(ushort3 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from ushort4 to ulong4
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern ulong4 __attribute__((const, overloadable))convert_ulong4(ushort4 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from int2 to ulong2
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern ulong2 __attribute__((const, overloadable))convert_ulong2(int2 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from int3 to ulong3
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern ulong3 __attribute__((const, overloadable))convert_ulong3(int3 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from int4 to ulong4
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern ulong4 __attribute__((const, overloadable))convert_ulong4(int4 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from uint2 to ulong2
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern ulong2 __attribute__((const, overloadable))convert_ulong2(uint2 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from uint3 to ulong3
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern ulong3 __attribute__((const, overloadable))convert_ulong3(uint3 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from uint4 to ulong4
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern ulong4 __attribute__((const, overloadable))convert_ulong4(uint4 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from long2 to ulong2
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern ulong2 __attribute__((const, overloadable))convert_ulong2(long2 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from long3 to ulong3
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern ulong3 __attribute__((const, overloadable))convert_ulong3(long3 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from long4 to ulong4
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern ulong4 __attribute__((const, overloadable))convert_ulong4(long4 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from ulong2 to ulong2
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern ulong2 __attribute__((const, overloadable))convert_ulong2(ulong2 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from ulong3 to ulong3
+ *
+ * Supported by API versions 21 and newer.
+ */
+extern ulong3 __attribute__((const, overloadable))convert_ulong3(ulong3 v);
+#endif
+
+#if (defined(RS_VERSION) && (RS_VERSION >= 21))
+/*
+ * Component wise conversion from ulong4 to ulong4
+ *
+ * Supported by API versions 21 and newer.
  */
 extern ulong4 __attribute__((const, overloadable))convert_ulong4(ulong4 v);
 #endif
diff --git a/tools/Android.mk b/tools/Android.mk
index e690de1..06d878b 100644
--- a/tools/Android.mk
+++ b/tools/Android.mk
@@ -184,7 +184,7 @@
 LOCAL_SRC_FILES := $(HOST_OS)/llvm-rs-cc$(HOST_EXECUTABLE_SUFFIX)
 LOCAL_MODULE_CLASS := EXECUTABLES
 LOCAL_MODULE_TAGS := optional
-LOCAL_REQUIRED_MODULES := libLLVM libclang libc++ libcxxabi
+LOCAL_REQUIRED_MODULES := libLLVM libclang libc++ libc++abi
 LOCAL_MODULE_SUFFIX := $(HOST_EXECUTABLE_SUFFIX)
 LOCAL_BUILT_MODULE_STEM := llvm-rs-cc$(HOST_EXECUTABLE_SUFFIX)
 LOCAL_IS_HOST_MODULE := true
@@ -244,7 +244,7 @@
 ##################################
 include $(CLEAR_VARS)
 
-LOCAL_MODULE := libcxxabi
+LOCAL_MODULE := libc++abi
 LOCAL_SRC_FILES := $(HOST_OS)/$(LOCAL_MODULE)$(HOST_SHLIB_SUFFIX)
 LOCAL_MODULE_CLASS := SHARED_LIBRARIES
 LOCAL_MODULE_TAGS := optional
diff --git a/tools/darwin/bcc_compat b/tools/darwin/bcc_compat
index a8aa793..bf70f19 100755
--- a/tools/darwin/bcc_compat
+++ b/tools/darwin/bcc_compat
Binary files differ
diff --git a/tools/darwin/libLLVM.dylib b/tools/darwin/libLLVM.dylib
index 7d783f5..6ca7425 100755
--- a/tools/darwin/libLLVM.dylib
+++ b/tools/darwin/libLLVM.dylib
Binary files differ
diff --git a/tools/darwin/libbcc.dylib b/tools/darwin/libbcc.dylib
index d632923..0c2e03d 100755
--- a/tools/darwin/libbcc.dylib
+++ b/tools/darwin/libbcc.dylib
Binary files differ
diff --git a/tools/darwin/libbcinfo.dylib b/tools/darwin/libbcinfo.dylib
index df6554e..439173f 100755
--- a/tools/darwin/libbcinfo.dylib
+++ b/tools/darwin/libbcinfo.dylib
Binary files differ
diff --git a/tools/darwin/libc++.dylib b/tools/darwin/libc++.dylib
index 65d8903..1690ffa 100755
--- a/tools/darwin/libc++.dylib
+++ b/tools/darwin/libc++.dylib
Binary files differ
diff --git a/tools/darwin/libcxxabi.dylib b/tools/darwin/libc++abi.dylib
similarity index 98%
rename from tools/darwin/libcxxabi.dylib
rename to tools/darwin/libc++abi.dylib
index 578149b..aa07bf2 100755
--- a/tools/darwin/libcxxabi.dylib
+++ b/tools/darwin/libc++abi.dylib
Binary files differ
diff --git a/tools/darwin/libclang.dylib b/tools/darwin/libclang.dylib
index a40fd60..7b8295d 100755
--- a/tools/darwin/libclang.dylib
+++ b/tools/darwin/libclang.dylib
Binary files differ
diff --git a/tools/darwin/llvm-rs-cc b/tools/darwin/llvm-rs-cc
index 0d752f8..4c5d562 100755
--- a/tools/darwin/llvm-rs-cc
+++ b/tools/darwin/llvm-rs-cc
Binary files differ