ETISS 0.8.0
Extendable Translating Instruction Set Simulator (version 0.8.0)
opencl-c.h
Go to the documentation of this file.
1 //===--- opencl-c.h - OpenCL C language builtin function header -----------===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 
9 #ifndef _OPENCL_H_
10 #define _OPENCL_H_
11 
12 #include "opencl-c-base.h"
13 
14 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15 #ifndef cl_khr_depth_images
16 #define cl_khr_depth_images
17 #endif //cl_khr_depth_images
18 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
19 
20 #if __OPENCL_C_VERSION__ < CL_VERSION_2_0
21 #ifdef cl_khr_3d_image_writes
22 #pragma OPENCL EXTENSION cl_khr_3d_image_writes : enable
23 #endif //cl_khr_3d_image_writes
24 #endif //__OPENCL_C_VERSION__ < CL_VERSION_2_0
25 
26 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_1_2)
27 #pragma OPENCL EXTENSION cl_intel_planar_yuv : begin
28 #pragma OPENCL EXTENSION cl_intel_planar_yuv : end
29 #endif // defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_1_2)
30 
31 #define __ovld __attribute__((overloadable))
32 #define __conv __attribute__((convergent))
33 
34 // Optimizations
35 #define __purefn __attribute__((pure))
36 #define __cnfn __attribute__((const))
37 
38 
39 // OpenCL v1.1/1.2/2.0 s6.2.3 - Explicit conversions
40 
221 
845 char2 __ovld __cnfn convert_char2(ushort2);
915 uchar2 __ovld __cnfn convert_uchar2(uchar2);
925 uchar2 __ovld __cnfn convert_uchar2(short2);
935 uchar2 __ovld __cnfn convert_uchar2(ushort2);
975 uchar2 __ovld __cnfn convert_uchar2(ulong2);
985 uchar2 __ovld __cnfn convert_uchar2(float2);
1025 short2 __ovld __cnfn convert_short2(ushort2);
1115 ushort2 __ovld __cnfn convert_ushort2(ushort2);
1295 uint2 __ovld __cnfn convert_uint2(ushort2);
1385 long2 __ovld __cnfn convert_long2(ushort2);
1475 ulong2 __ovld __cnfn convert_ulong2(ushort2);
1546 float2 __ovld __cnfn convert_float2(ushort2);
1610 char3 __ovld __cnfn convert_char3(ushort3);
1700 uchar3 __ovld __cnfn convert_uchar3(ushort3);
1790 short3 __ovld __cnfn convert_short3(ushort3);
1880 ushort3 __ovld __cnfn convert_ushort3(ushort3);
2060 uint3 __ovld __cnfn convert_uint3(ushort3);
2150 long3 __ovld __cnfn convert_long3(ushort3);
2240 ulong3 __ovld __cnfn convert_ulong3(ushort3);
2311 float3 __ovld __cnfn convert_float3(ushort3);
2375 char4 __ovld __cnfn convert_char4(ushort4);
2465 uchar4 __ovld __cnfn convert_uchar4(ushort4);
2555 short4 __ovld __cnfn convert_short4(ushort4);
2645 ushort4 __ovld __cnfn convert_ushort4(ushort4);
2825 uint4 __ovld __cnfn convert_uint4(ushort4);
2915 long4 __ovld __cnfn convert_long4(ushort4);
3005 ulong4 __ovld __cnfn convert_ulong4(ushort4);
3076 float4 __ovld __cnfn convert_float4(ushort4);
3140 char8 __ovld __cnfn convert_char8(ushort8);
3230 uchar8 __ovld __cnfn convert_uchar8(ushort8);
3320 short8 __ovld __cnfn convert_short8(ushort8);
3410 ushort8 __ovld __cnfn convert_ushort8(ushort8);
3680 long8 __ovld __cnfn convert_long8(ushort8);
3770 ulong8 __ovld __cnfn convert_ulong8(ushort8);
3841 float8 __ovld __cnfn convert_float8(ushort8);
3885 char16 __ovld __cnfn convert_char16(uchar16);
3895 char16 __ovld __cnfn convert_char16(short16);
3905 char16 __ovld __cnfn convert_char16(ushort16);
3945 char16 __ovld __cnfn convert_char16(ulong16);
3955 char16 __ovld __cnfn convert_char16(float16);
3975 uchar16 __ovld __cnfn convert_uchar16(uchar16);
3985 uchar16 __ovld __cnfn convert_uchar16(short16);
3995 uchar16 __ovld __cnfn convert_uchar16(ushort16);
4035 uchar16 __ovld __cnfn convert_uchar16(ulong16);
4045 uchar16 __ovld __cnfn convert_uchar16(float16);
4065 short16 __ovld __cnfn convert_short16(uchar16);
4075 short16 __ovld __cnfn convert_short16(short16);
4085 short16 __ovld __cnfn convert_short16(ushort16);
4125 short16 __ovld __cnfn convert_short16(ulong16);
4135 short16 __ovld __cnfn convert_short16(float16);
4145 ushort16 __ovld __cnfn convert_ushort16(char16);
4155 ushort16 __ovld __cnfn convert_ushort16(uchar16);
4165 ushort16 __ovld __cnfn convert_ushort16(short16);
4175 ushort16 __ovld __cnfn convert_ushort16(ushort16);
4205 ushort16 __ovld __cnfn convert_ushort16(long16);
4215 ushort16 __ovld __cnfn convert_ushort16(ulong16);
4225 ushort16 __ovld __cnfn convert_ushort16(float16);
4425 long16 __ovld __cnfn convert_long16(uchar16);
4435 long16 __ovld __cnfn convert_long16(short16);
4445 long16 __ovld __cnfn convert_long16(ushort16);
4485 long16 __ovld __cnfn convert_long16(ulong16);
4495 long16 __ovld __cnfn convert_long16(float16);
4515 ulong16 __ovld __cnfn convert_ulong16(uchar16);
4525 ulong16 __ovld __cnfn convert_ulong16(short16);
4535 ulong16 __ovld __cnfn convert_ulong16(ushort16);
4575 ulong16 __ovld __cnfn convert_ulong16(ulong16);
4585 ulong16 __ovld __cnfn convert_ulong16(float16);
4596 float16 __ovld __cnfn convert_float16(uchar16);
4601 float16 __ovld __cnfn convert_float16(short16);
4606 float16 __ovld __cnfn convert_float16(ushort16);
4626 float16 __ovld __cnfn convert_float16(ulong16);
4631 float16 __ovld __cnfn convert_float16(float16);
4632 
4633 // Conversions with double data type parameters or return value.
4634 
4635 #ifdef cl_khr_fp64
4636 char __ovld __cnfn convert_char(double);
4637 char __ovld __cnfn convert_char_rte(double);
4638 char __ovld __cnfn convert_char_rtn(double);
4639 char __ovld __cnfn convert_char_rtp(double);
4640 char __ovld __cnfn convert_char_rtz(double);
4641 char __ovld __cnfn convert_char_sat(double);
4642 char __ovld __cnfn convert_char_sat_rte(double);
4643 char __ovld __cnfn convert_char_sat_rtn(double);
4644 char __ovld __cnfn convert_char_sat_rtp(double);
4645 char __ovld __cnfn convert_char_sat_rtz(double);
4646 char2 __ovld __cnfn convert_char2(double2);
4647 char2 __ovld __cnfn convert_char2_rte(double2);
4648 char2 __ovld __cnfn convert_char2_rtn(double2);
4649 char2 __ovld __cnfn convert_char2_rtp(double2);
4650 char2 __ovld __cnfn convert_char2_rtz(double2);
4651 char2 __ovld __cnfn convert_char2_sat(double2);
4652 char2 __ovld __cnfn convert_char2_sat_rte(double2);
4653 char2 __ovld __cnfn convert_char2_sat_rtn(double2);
4654 char2 __ovld __cnfn convert_char2_sat_rtp(double2);
4655 char2 __ovld __cnfn convert_char2_sat_rtz(double2);
4656 char3 __ovld __cnfn convert_char3(double3);
4657 char3 __ovld __cnfn convert_char3_rte(double3);
4658 char3 __ovld __cnfn convert_char3_rtn(double3);
4659 char3 __ovld __cnfn convert_char3_rtp(double3);
4660 char3 __ovld __cnfn convert_char3_rtz(double3);
4661 char3 __ovld __cnfn convert_char3_sat(double3);
4662 char3 __ovld __cnfn convert_char3_sat_rte(double3);
4663 char3 __ovld __cnfn convert_char3_sat_rtn(double3);
4664 char3 __ovld __cnfn convert_char3_sat_rtp(double3);
4665 char3 __ovld __cnfn convert_char3_sat_rtz(double3);
4666 char4 __ovld __cnfn convert_char4(double4);
4667 char4 __ovld __cnfn convert_char4_rte(double4);
4668 char4 __ovld __cnfn convert_char4_rtn(double4);
4669 char4 __ovld __cnfn convert_char4_rtp(double4);
4670 char4 __ovld __cnfn convert_char4_rtz(double4);
4671 char4 __ovld __cnfn convert_char4_sat(double4);
4672 char4 __ovld __cnfn convert_char4_sat_rte(double4);
4673 char4 __ovld __cnfn convert_char4_sat_rtn(double4);
4674 char4 __ovld __cnfn convert_char4_sat_rtp(double4);
4675 char4 __ovld __cnfn convert_char4_sat_rtz(double4);
4676 char8 __ovld __cnfn convert_char8(double8);
4677 char8 __ovld __cnfn convert_char8_rte(double8);
4678 char8 __ovld __cnfn convert_char8_rtn(double8);
4679 char8 __ovld __cnfn convert_char8_rtp(double8);
4680 char8 __ovld __cnfn convert_char8_rtz(double8);
4681 char8 __ovld __cnfn convert_char8_sat(double8);
4682 char8 __ovld __cnfn convert_char8_sat_rte(double8);
4683 char8 __ovld __cnfn convert_char8_sat_rtn(double8);
4684 char8 __ovld __cnfn convert_char8_sat_rtp(double8);
4685 char8 __ovld __cnfn convert_char8_sat_rtz(double8);
4686 char16 __ovld __cnfn convert_char16(double16);
4687 char16 __ovld __cnfn convert_char16_rte(double16);
4688 char16 __ovld __cnfn convert_char16_rtn(double16);
4689 char16 __ovld __cnfn convert_char16_rtp(double16);
4690 char16 __ovld __cnfn convert_char16_rtz(double16);
4691 char16 __ovld __cnfn convert_char16_sat(double16);
4692 char16 __ovld __cnfn convert_char16_sat_rte(double16);
4693 char16 __ovld __cnfn convert_char16_sat_rtn(double16);
4694 char16 __ovld __cnfn convert_char16_sat_rtp(double16);
4695 char16 __ovld __cnfn convert_char16_sat_rtz(double16);
4696 
4707 uchar2 __ovld __cnfn convert_uchar2(double2);
4708 uchar2 __ovld __cnfn convert_uchar2_rte(double2);
4709 uchar2 __ovld __cnfn convert_uchar2_rtn(double2);
4710 uchar2 __ovld __cnfn convert_uchar2_rtp(double2);
4711 uchar2 __ovld __cnfn convert_uchar2_rtz(double2);
4712 uchar2 __ovld __cnfn convert_uchar2_sat(double2);
4713 uchar2 __ovld __cnfn convert_uchar2_sat_rte(double2);
4714 uchar2 __ovld __cnfn convert_uchar2_sat_rtn(double2);
4715 uchar2 __ovld __cnfn convert_uchar2_sat_rtp(double2);
4716 uchar2 __ovld __cnfn convert_uchar2_sat_rtz(double2);
4717 uchar3 __ovld __cnfn convert_uchar3(double3);
4718 uchar3 __ovld __cnfn convert_uchar3_rte(double3);
4719 uchar3 __ovld __cnfn convert_uchar3_rtn(double3);
4720 uchar3 __ovld __cnfn convert_uchar3_rtp(double3);
4721 uchar3 __ovld __cnfn convert_uchar3_rtz(double3);
4722 uchar3 __ovld __cnfn convert_uchar3_sat(double3);
4723 uchar3 __ovld __cnfn convert_uchar3_sat_rte(double3);
4724 uchar3 __ovld __cnfn convert_uchar3_sat_rtn(double3);
4725 uchar3 __ovld __cnfn convert_uchar3_sat_rtp(double3);
4726 uchar3 __ovld __cnfn convert_uchar3_sat_rtz(double3);
4727 uchar4 __ovld __cnfn convert_uchar4(double4);
4728 uchar4 __ovld __cnfn convert_uchar4_rte(double4);
4729 uchar4 __ovld __cnfn convert_uchar4_rtn(double4);
4730 uchar4 __ovld __cnfn convert_uchar4_rtp(double4);
4731 uchar4 __ovld __cnfn convert_uchar4_rtz(double4);
4732 uchar4 __ovld __cnfn convert_uchar4_sat(double4);
4733 uchar4 __ovld __cnfn convert_uchar4_sat_rte(double4);
4734 uchar4 __ovld __cnfn convert_uchar4_sat_rtn(double4);
4735 uchar4 __ovld __cnfn convert_uchar4_sat_rtp(double4);
4736 uchar4 __ovld __cnfn convert_uchar4_sat_rtz(double4);
4737 uchar8 __ovld __cnfn convert_uchar8(double8);
4738 uchar8 __ovld __cnfn convert_uchar8_rte(double8);
4739 uchar8 __ovld __cnfn convert_uchar8_rtn(double8);
4740 uchar8 __ovld __cnfn convert_uchar8_rtp(double8);
4741 uchar8 __ovld __cnfn convert_uchar8_rtz(double8);
4742 uchar8 __ovld __cnfn convert_uchar8_sat(double8);
4743 uchar8 __ovld __cnfn convert_uchar8_sat_rte(double8);
4744 uchar8 __ovld __cnfn convert_uchar8_sat_rtn(double8);
4745 uchar8 __ovld __cnfn convert_uchar8_sat_rtp(double8);
4746 uchar8 __ovld __cnfn convert_uchar8_sat_rtz(double8);
4747 uchar16 __ovld __cnfn convert_uchar16(double16);
4748 uchar16 __ovld __cnfn convert_uchar16_rte(double16);
4749 uchar16 __ovld __cnfn convert_uchar16_rtn(double16);
4750 uchar16 __ovld __cnfn convert_uchar16_rtp(double16);
4751 uchar16 __ovld __cnfn convert_uchar16_rtz(double16);
4752 uchar16 __ovld __cnfn convert_uchar16_sat(double16);
4753 uchar16 __ovld __cnfn convert_uchar16_sat_rte(double16);
4754 uchar16 __ovld __cnfn convert_uchar16_sat_rtn(double16);
4755 uchar16 __ovld __cnfn convert_uchar16_sat_rtp(double16);
4756 uchar16 __ovld __cnfn convert_uchar16_sat_rtz(double16);
4757 
4758 short __ovld __cnfn convert_short(double);
4759 short __ovld __cnfn convert_short_rte(double);
4760 short __ovld __cnfn convert_short_rtn(double);
4761 short __ovld __cnfn convert_short_rtp(double);
4762 short __ovld __cnfn convert_short_rtz(double);
4763 short __ovld __cnfn convert_short_sat(double);
4764 short __ovld __cnfn convert_short_sat_rte(double);
4765 short __ovld __cnfn convert_short_sat_rtn(double);
4766 short __ovld __cnfn convert_short_sat_rtp(double);
4767 short __ovld __cnfn convert_short_sat_rtz(double);
4768 short2 __ovld __cnfn convert_short2(double2);
4769 short2 __ovld __cnfn convert_short2_rte(double2);
4770 short2 __ovld __cnfn convert_short2_rtn(double2);
4771 short2 __ovld __cnfn convert_short2_rtp(double2);
4772 short2 __ovld __cnfn convert_short2_rtz(double2);
4773 short2 __ovld __cnfn convert_short2_sat(double2);
4774 short2 __ovld __cnfn convert_short2_sat_rte(double2);
4775 short2 __ovld __cnfn convert_short2_sat_rtn(double2);
4776 short2 __ovld __cnfn convert_short2_sat_rtp(double2);
4777 short2 __ovld __cnfn convert_short2_sat_rtz(double2);
4778 short3 __ovld __cnfn convert_short3(double3);
4779 short3 __ovld __cnfn convert_short3_rte(double3);
4780 short3 __ovld __cnfn convert_short3_rtn(double3);
4781 short3 __ovld __cnfn convert_short3_rtp(double3);
4782 short3 __ovld __cnfn convert_short3_rtz(double3);
4783 short3 __ovld __cnfn convert_short3_sat(double3);
4784 short3 __ovld __cnfn convert_short3_sat_rte(double3);
4785 short3 __ovld __cnfn convert_short3_sat_rtn(double3);
4786 short3 __ovld __cnfn convert_short3_sat_rtp(double3);
4787 short3 __ovld __cnfn convert_short3_sat_rtz(double3);
4788 short4 __ovld __cnfn convert_short4(double4);
4789 short4 __ovld __cnfn convert_short4_rte(double4);
4790 short4 __ovld __cnfn convert_short4_rtn(double4);
4791 short4 __ovld __cnfn convert_short4_rtp(double4);
4792 short4 __ovld __cnfn convert_short4_rtz(double4);
4793 short4 __ovld __cnfn convert_short4_sat(double4);
4794 short4 __ovld __cnfn convert_short4_sat_rte(double4);
4795 short4 __ovld __cnfn convert_short4_sat_rtn(double4);
4796 short4 __ovld __cnfn convert_short4_sat_rtp(double4);
4797 short4 __ovld __cnfn convert_short4_sat_rtz(double4);
4798 short8 __ovld __cnfn convert_short8(double8);
4799 short8 __ovld __cnfn convert_short8_rte(double8);
4800 short8 __ovld __cnfn convert_short8_rtn(double8);
4801 short8 __ovld __cnfn convert_short8_rtp(double8);
4802 short8 __ovld __cnfn convert_short8_rtz(double8);
4803 short8 __ovld __cnfn convert_short8_sat(double8);
4804 short8 __ovld __cnfn convert_short8_sat_rte(double8);
4805 short8 __ovld __cnfn convert_short8_sat_rtn(double8);
4806 short8 __ovld __cnfn convert_short8_sat_rtp(double8);
4807 short8 __ovld __cnfn convert_short8_sat_rtz(double8);
4808 short16 __ovld __cnfn convert_short16(double16);
4809 short16 __ovld __cnfn convert_short16_rte(double16);
4810 short16 __ovld __cnfn convert_short16_rtn(double16);
4811 short16 __ovld __cnfn convert_short16_rtp(double16);
4812 short16 __ovld __cnfn convert_short16_rtz(double16);
4813 short16 __ovld __cnfn convert_short16_sat(double16);
4814 short16 __ovld __cnfn convert_short16_sat_rte(double16);
4815 short16 __ovld __cnfn convert_short16_sat_rtn(double16);
4816 short16 __ovld __cnfn convert_short16_sat_rtp(double16);
4817 short16 __ovld __cnfn convert_short16_sat_rtz(double16);
4818 
4829 ushort2 __ovld __cnfn convert_ushort2(double2);
4830 ushort2 __ovld __cnfn convert_ushort2_rte(double2);
4831 ushort2 __ovld __cnfn convert_ushort2_rtn(double2);
4832 ushort2 __ovld __cnfn convert_ushort2_rtp(double2);
4833 ushort2 __ovld __cnfn convert_ushort2_rtz(double2);
4834 ushort2 __ovld __cnfn convert_ushort2_sat(double2);
4835 ushort2 __ovld __cnfn convert_ushort2_sat_rte(double2);
4836 ushort2 __ovld __cnfn convert_ushort2_sat_rtn(double2);
4837 ushort2 __ovld __cnfn convert_ushort2_sat_rtp(double2);
4838 ushort2 __ovld __cnfn convert_ushort2_sat_rtz(double2);
4839 ushort3 __ovld __cnfn convert_ushort3(double3);
4840 ushort3 __ovld __cnfn convert_ushort3_rte(double3);
4841 ushort3 __ovld __cnfn convert_ushort3_rtn(double3);
4842 ushort3 __ovld __cnfn convert_ushort3_rtp(double3);
4843 ushort3 __ovld __cnfn convert_ushort3_rtz(double3);
4844 ushort3 __ovld __cnfn convert_ushort3_sat(double3);
4845 ushort3 __ovld __cnfn convert_ushort3_sat_rte(double3);
4846 ushort3 __ovld __cnfn convert_ushort3_sat_rtn(double3);
4847 ushort3 __ovld __cnfn convert_ushort3_sat_rtp(double3);
4848 ushort3 __ovld __cnfn convert_ushort3_sat_rtz(double3);
4849 ushort4 __ovld __cnfn convert_ushort4(double4);
4850 ushort4 __ovld __cnfn convert_ushort4_rte(double4);
4851 ushort4 __ovld __cnfn convert_ushort4_rtn(double4);
4852 ushort4 __ovld __cnfn convert_ushort4_rtp(double4);
4853 ushort4 __ovld __cnfn convert_ushort4_rtz(double4);
4854 ushort4 __ovld __cnfn convert_ushort4_sat(double4);
4855 ushort4 __ovld __cnfn convert_ushort4_sat_rte(double4);
4856 ushort4 __ovld __cnfn convert_ushort4_sat_rtn(double4);
4857 ushort4 __ovld __cnfn convert_ushort4_sat_rtp(double4);
4858 ushort4 __ovld __cnfn convert_ushort4_sat_rtz(double4);
4859 ushort8 __ovld __cnfn convert_ushort8(double8);
4860 ushort8 __ovld __cnfn convert_ushort8_rte(double8);
4861 ushort8 __ovld __cnfn convert_ushort8_rtn(double8);
4862 ushort8 __ovld __cnfn convert_ushort8_rtp(double8);
4863 ushort8 __ovld __cnfn convert_ushort8_rtz(double8);
4864 ushort8 __ovld __cnfn convert_ushort8_sat(double8);
4865 ushort8 __ovld __cnfn convert_ushort8_sat_rte(double8);
4866 ushort8 __ovld __cnfn convert_ushort8_sat_rtn(double8);
4867 ushort8 __ovld __cnfn convert_ushort8_sat_rtp(double8);
4868 ushort8 __ovld __cnfn convert_ushort8_sat_rtz(double8);
4869 ushort16 __ovld __cnfn convert_ushort16(double16);
4870 ushort16 __ovld __cnfn convert_ushort16_rte(double16);
4871 ushort16 __ovld __cnfn convert_ushort16_rtn(double16);
4872 ushort16 __ovld __cnfn convert_ushort16_rtp(double16);
4873 ushort16 __ovld __cnfn convert_ushort16_rtz(double16);
4874 ushort16 __ovld __cnfn convert_ushort16_sat(double16);
4875 ushort16 __ovld __cnfn convert_ushort16_sat_rte(double16);
4876 ushort16 __ovld __cnfn convert_ushort16_sat_rtn(double16);
4877 ushort16 __ovld __cnfn convert_ushort16_sat_rtp(double16);
4878 ushort16 __ovld __cnfn convert_ushort16_sat_rtz(double16);
4879 
4880 int __ovld __cnfn convert_int(double);
4881 int __ovld __cnfn convert_int_rte(double);
4882 int __ovld __cnfn convert_int_rtn(double);
4883 int __ovld __cnfn convert_int_rtp(double);
4884 int __ovld __cnfn convert_int_rtz(double);
4885 int __ovld __cnfn convert_int_sat(double);
4886 int __ovld __cnfn convert_int_sat_rte(double);
4887 int __ovld __cnfn convert_int_sat_rtn(double);
4888 int __ovld __cnfn convert_int_sat_rtp(double);
4889 int __ovld __cnfn convert_int_sat_rtz(double);
4890 int2 __ovld __cnfn convert_int2(double2);
4891 int2 __ovld __cnfn convert_int2_rte(double2);
4892 int2 __ovld __cnfn convert_int2_rtn(double2);
4893 int2 __ovld __cnfn convert_int2_rtp(double2);
4894 int2 __ovld __cnfn convert_int2_rtz(double2);
4895 int2 __ovld __cnfn convert_int2_sat(double2);
4896 int2 __ovld __cnfn convert_int2_sat_rte(double2);
4897 int2 __ovld __cnfn convert_int2_sat_rtn(double2);
4898 int2 __ovld __cnfn convert_int2_sat_rtp(double2);
4899 int2 __ovld __cnfn convert_int2_sat_rtz(double2);
4900 int3 __ovld __cnfn convert_int3(double3);
4901 int3 __ovld __cnfn convert_int3_rte(double3);
4902 int3 __ovld __cnfn convert_int3_rtn(double3);
4903 int3 __ovld __cnfn convert_int3_rtp(double3);
4904 int3 __ovld __cnfn convert_int3_rtz(double3);
4905 int3 __ovld __cnfn convert_int3_sat(double3);
4906 int3 __ovld __cnfn convert_int3_sat_rte(double3);
4907 int3 __ovld __cnfn convert_int3_sat_rtn(double3);
4908 int3 __ovld __cnfn convert_int3_sat_rtp(double3);
4909 int3 __ovld __cnfn convert_int3_sat_rtz(double3);
4910 int4 __ovld __cnfn convert_int4(double4);
4911 int4 __ovld __cnfn convert_int4_rte(double4);
4912 int4 __ovld __cnfn convert_int4_rtn(double4);
4913 int4 __ovld __cnfn convert_int4_rtp(double4);
4914 int4 __ovld __cnfn convert_int4_rtz(double4);
4915 int4 __ovld __cnfn convert_int4_sat(double4);
4916 int4 __ovld __cnfn convert_int4_sat_rte(double4);
4917 int4 __ovld __cnfn convert_int4_sat_rtn(double4);
4918 int4 __ovld __cnfn convert_int4_sat_rtp(double4);
4919 int4 __ovld __cnfn convert_int4_sat_rtz(double4);
4920 int8 __ovld __cnfn convert_int8(double8);
4930 int16 __ovld __cnfn convert_int16(double16);
4940 
4941 uint __ovld __cnfn convert_uint(double);
4951 uint2 __ovld __cnfn convert_uint2(double2);
4952 uint2 __ovld __cnfn convert_uint2_rte(double2);
4953 uint2 __ovld __cnfn convert_uint2_rtn(double2);
4954 uint2 __ovld __cnfn convert_uint2_rtp(double2);
4955 uint2 __ovld __cnfn convert_uint2_rtz(double2);
4956 uint2 __ovld __cnfn convert_uint2_sat(double2);
4957 uint2 __ovld __cnfn convert_uint2_sat_rte(double2);
4958 uint2 __ovld __cnfn convert_uint2_sat_rtn(double2);
4959 uint2 __ovld __cnfn convert_uint2_sat_rtp(double2);
4960 uint2 __ovld __cnfn convert_uint2_sat_rtz(double2);
4961 uint3 __ovld __cnfn convert_uint3(double3);
4962 uint3 __ovld __cnfn convert_uint3_rte(double3);
4963 uint3 __ovld __cnfn convert_uint3_rtn(double3);
4964 uint3 __ovld __cnfn convert_uint3_rtp(double3);
4965 uint3 __ovld __cnfn convert_uint3_rtz(double3);
4966 uint3 __ovld __cnfn convert_uint3_sat(double3);
4967 uint3 __ovld __cnfn convert_uint3_sat_rte(double3);
4968 uint3 __ovld __cnfn convert_uint3_sat_rtn(double3);
4969 uint3 __ovld __cnfn convert_uint3_sat_rtp(double3);
4970 uint3 __ovld __cnfn convert_uint3_sat_rtz(double3);
4971 uint4 __ovld __cnfn convert_uint4(double4);
4972 uint4 __ovld __cnfn convert_uint4_rte(double4);
4973 uint4 __ovld __cnfn convert_uint4_rtn(double4);
4974 uint4 __ovld __cnfn convert_uint4_rtp(double4);
4975 uint4 __ovld __cnfn convert_uint4_rtz(double4);
4976 uint4 __ovld __cnfn convert_uint4_sat(double4);
4977 uint4 __ovld __cnfn convert_uint4_sat_rte(double4);
4978 uint4 __ovld __cnfn convert_uint4_sat_rtn(double4);
4979 uint4 __ovld __cnfn convert_uint4_sat_rtp(double4);
4980 uint4 __ovld __cnfn convert_uint4_sat_rtz(double4);
4981 uint8 __ovld __cnfn convert_uint8(double8);
5001 
5002 long __ovld __cnfn convert_long(double);
5003 long __ovld __cnfn convert_long_rte(double);
5004 long __ovld __cnfn convert_long_rtn(double);
5005 long __ovld __cnfn convert_long_rtp(double);
5006 long __ovld __cnfn convert_long_rtz(double);
5007 long __ovld __cnfn convert_long_sat(double);
5008 long __ovld __cnfn convert_long_sat_rte(double);
5009 long __ovld __cnfn convert_long_sat_rtn(double);
5010 long __ovld __cnfn convert_long_sat_rtp(double);
5011 long __ovld __cnfn convert_long_sat_rtz(double);
5012 long2 __ovld __cnfn convert_long2(double2);
5013 long2 __ovld __cnfn convert_long2_rte(double2);
5014 long2 __ovld __cnfn convert_long2_rtn(double2);
5015 long2 __ovld __cnfn convert_long2_rtp(double2);
5016 long2 __ovld __cnfn convert_long2_rtz(double2);
5017 long2 __ovld __cnfn convert_long2_sat(double2);
5018 long2 __ovld __cnfn convert_long2_sat_rte(double2);
5019 long2 __ovld __cnfn convert_long2_sat_rtn(double2);
5020 long2 __ovld __cnfn convert_long2_sat_rtp(double2);
5021 long2 __ovld __cnfn convert_long2_sat_rtz(double2);
5022 long3 __ovld __cnfn convert_long3(double3);
5023 long3 __ovld __cnfn convert_long3_rte(double3);
5024 long3 __ovld __cnfn convert_long3_rtn(double3);
5025 long3 __ovld __cnfn convert_long3_rtp(double3);
5026 long3 __ovld __cnfn convert_long3_rtz(double3);
5027 long3 __ovld __cnfn convert_long3_sat(double3);
5028 long3 __ovld __cnfn convert_long3_sat_rte(double3);
5029 long3 __ovld __cnfn convert_long3_sat_rtn(double3);
5030 long3 __ovld __cnfn convert_long3_sat_rtp(double3);
5031 long3 __ovld __cnfn convert_long3_sat_rtz(double3);
5032 long4 __ovld __cnfn convert_long4(double4);
5033 long4 __ovld __cnfn convert_long4_rte(double4);
5034 long4 __ovld __cnfn convert_long4_rtn(double4);
5035 long4 __ovld __cnfn convert_long4_rtp(double4);
5036 long4 __ovld __cnfn convert_long4_rtz(double4);
5037 long4 __ovld __cnfn convert_long4_sat(double4);
5038 long4 __ovld __cnfn convert_long4_sat_rte(double4);
5039 long4 __ovld __cnfn convert_long4_sat_rtn(double4);
5040 long4 __ovld __cnfn convert_long4_sat_rtp(double4);
5041 long4 __ovld __cnfn convert_long4_sat_rtz(double4);
5042 long8 __ovld __cnfn convert_long8(double8);
5043 long8 __ovld __cnfn convert_long8_rte(double8);
5044 long8 __ovld __cnfn convert_long8_rtn(double8);
5045 long8 __ovld __cnfn convert_long8_rtp(double8);
5046 long8 __ovld __cnfn convert_long8_rtz(double8);
5047 long8 __ovld __cnfn convert_long8_sat(double8);
5048 long8 __ovld __cnfn convert_long8_sat_rte(double8);
5049 long8 __ovld __cnfn convert_long8_sat_rtn(double8);
5050 long8 __ovld __cnfn convert_long8_sat_rtp(double8);
5051 long8 __ovld __cnfn convert_long8_sat_rtz(double8);
5052 long16 __ovld __cnfn convert_long16(double16);
5053 long16 __ovld __cnfn convert_long16_rte(double16);
5054 long16 __ovld __cnfn convert_long16_rtn(double16);
5055 long16 __ovld __cnfn convert_long16_rtp(double16);
5056 long16 __ovld __cnfn convert_long16_rtz(double16);
5057 long16 __ovld __cnfn convert_long16_sat(double16);
5058 long16 __ovld __cnfn convert_long16_sat_rte(double16);
5059 long16 __ovld __cnfn convert_long16_sat_rtn(double16);
5060 long16 __ovld __cnfn convert_long16_sat_rtp(double16);
5061 long16 __ovld __cnfn convert_long16_sat_rtz(double16);
5062 
5073 ulong2 __ovld __cnfn convert_ulong2(double2);
5074 ulong2 __ovld __cnfn convert_ulong2_rte(double2);
5075 ulong2 __ovld __cnfn convert_ulong2_rtn(double2);
5076 ulong2 __ovld __cnfn convert_ulong2_rtp(double2);
5077 ulong2 __ovld __cnfn convert_ulong2_rtz(double2);
5078 ulong2 __ovld __cnfn convert_ulong2_sat(double2);
5079 ulong2 __ovld __cnfn convert_ulong2_sat_rte(double2);
5080 ulong2 __ovld __cnfn convert_ulong2_sat_rtn(double2);
5081 ulong2 __ovld __cnfn convert_ulong2_sat_rtp(double2);
5082 ulong2 __ovld __cnfn convert_ulong2_sat_rtz(double2);
5083 ulong3 __ovld __cnfn convert_ulong3(double3);
5084 ulong3 __ovld __cnfn convert_ulong3_rte(double3);
5085 ulong3 __ovld __cnfn convert_ulong3_rtn(double3);
5086 ulong3 __ovld __cnfn convert_ulong3_rtp(double3);
5087 ulong3 __ovld __cnfn convert_ulong3_rtz(double3);
5088 ulong3 __ovld __cnfn convert_ulong3_sat(double3);
5089 ulong3 __ovld __cnfn convert_ulong3_sat_rte(double3);
5090 ulong3 __ovld __cnfn convert_ulong3_sat_rtn(double3);
5091 ulong3 __ovld __cnfn convert_ulong3_sat_rtp(double3);
5092 ulong3 __ovld __cnfn convert_ulong3_sat_rtz(double3);
5093 ulong4 __ovld __cnfn convert_ulong4(double4);
5094 ulong4 __ovld __cnfn convert_ulong4_rte(double4);
5095 ulong4 __ovld __cnfn convert_ulong4_rtn(double4);
5096 ulong4 __ovld __cnfn convert_ulong4_rtp(double4);
5097 ulong4 __ovld __cnfn convert_ulong4_rtz(double4);
5098 ulong4 __ovld __cnfn convert_ulong4_sat(double4);
5099 ulong4 __ovld __cnfn convert_ulong4_sat_rte(double4);
5100 ulong4 __ovld __cnfn convert_ulong4_sat_rtn(double4);
5101 ulong4 __ovld __cnfn convert_ulong4_sat_rtp(double4);
5102 ulong4 __ovld __cnfn convert_ulong4_sat_rtz(double4);
5103 ulong8 __ovld __cnfn convert_ulong8(double8);
5104 ulong8 __ovld __cnfn convert_ulong8_rte(double8);
5105 ulong8 __ovld __cnfn convert_ulong8_rtn(double8);
5106 ulong8 __ovld __cnfn convert_ulong8_rtp(double8);
5107 ulong8 __ovld __cnfn convert_ulong8_rtz(double8);
5108 ulong8 __ovld __cnfn convert_ulong8_sat(double8);
5109 ulong8 __ovld __cnfn convert_ulong8_sat_rte(double8);
5110 ulong8 __ovld __cnfn convert_ulong8_sat_rtn(double8);
5111 ulong8 __ovld __cnfn convert_ulong8_sat_rtp(double8);
5112 ulong8 __ovld __cnfn convert_ulong8_sat_rtz(double8);
5113 ulong16 __ovld __cnfn convert_ulong16(double16);
5114 ulong16 __ovld __cnfn convert_ulong16_rte(double16);
5115 ulong16 __ovld __cnfn convert_ulong16_rtn(double16);
5116 ulong16 __ovld __cnfn convert_ulong16_rtp(double16);
5117 ulong16 __ovld __cnfn convert_ulong16_rtz(double16);
5118 ulong16 __ovld __cnfn convert_ulong16_sat(double16);
5119 ulong16 __ovld __cnfn convert_ulong16_sat_rte(double16);
5120 ulong16 __ovld __cnfn convert_ulong16_sat_rtn(double16);
5121 ulong16 __ovld __cnfn convert_ulong16_sat_rtp(double16);
5122 ulong16 __ovld __cnfn convert_ulong16_sat_rtz(double16);
5123 
5124 float __ovld __cnfn convert_float(double);
5125 float __ovld __cnfn convert_float_rte(double);
5126 float __ovld __cnfn convert_float_rtn(double);
5127 float __ovld __cnfn convert_float_rtp(double);
5128 float __ovld __cnfn convert_float_rtz(double);
5129 float2 __ovld __cnfn convert_float2(double2);
5130 float2 __ovld __cnfn convert_float2_rte(double2);
5131 float2 __ovld __cnfn convert_float2_rtn(double2);
5132 float2 __ovld __cnfn convert_float2_rtp(double2);
5133 float2 __ovld __cnfn convert_float2_rtz(double2);
5134 float3 __ovld __cnfn convert_float3(double3);
5135 float3 __ovld __cnfn convert_float3_rte(double3);
5136 float3 __ovld __cnfn convert_float3_rtn(double3);
5137 float3 __ovld __cnfn convert_float3_rtp(double3);
5138 float3 __ovld __cnfn convert_float3_rtz(double3);
5139 float4 __ovld __cnfn convert_float4(double4);
5140 float4 __ovld __cnfn convert_float4_rte(double4);
5141 float4 __ovld __cnfn convert_float4_rtn(double4);
5142 float4 __ovld __cnfn convert_float4_rtp(double4);
5143 float4 __ovld __cnfn convert_float4_rtz(double4);
5144 float8 __ovld __cnfn convert_float8(double8);
5145 float8 __ovld __cnfn convert_float8_rte(double8);
5146 float8 __ovld __cnfn convert_float8_rtn(double8);
5147 float8 __ovld __cnfn convert_float8_rtp(double8);
5148 float8 __ovld __cnfn convert_float8_rtz(double8);
5149 float16 __ovld __cnfn convert_float16(double16);
5150 float16 __ovld __cnfn convert_float16_rte(double16);
5151 float16 __ovld __cnfn convert_float16_rtn(double16);
5152 float16 __ovld __cnfn convert_float16_rtp(double16);
5153 float16 __ovld __cnfn convert_float16_rtz(double16);
5154 
5155 double __ovld __cnfn convert_double(char);
5156 double __ovld __cnfn convert_double(double);
5157 double __ovld __cnfn convert_double(float);
5158 double __ovld __cnfn convert_double(int);
5159 double __ovld __cnfn convert_double(long);
5160 double __ovld __cnfn convert_double(short);
5161 double __ovld __cnfn convert_double(uchar);
5162 double __ovld __cnfn convert_double(uint);
5163 double __ovld __cnfn convert_double(ulong);
5164 double __ovld __cnfn convert_double(ushort);
5165 double __ovld __cnfn convert_double_rte(char);
5166 double __ovld __cnfn convert_double_rte(double);
5167 double __ovld __cnfn convert_double_rte(float);
5168 double __ovld __cnfn convert_double_rte(int);
5169 double __ovld __cnfn convert_double_rte(long);
5170 double __ovld __cnfn convert_double_rte(short);
5171 double __ovld __cnfn convert_double_rte(uchar);
5172 double __ovld __cnfn convert_double_rte(uint);
5173 double __ovld __cnfn convert_double_rte(ulong);
5174 double __ovld __cnfn convert_double_rte(ushort);
5175 double __ovld __cnfn convert_double_rtn(char);
5176 double __ovld __cnfn convert_double_rtn(double);
5177 double __ovld __cnfn convert_double_rtn(float);
5178 double __ovld __cnfn convert_double_rtn(int);
5179 double __ovld __cnfn convert_double_rtn(long);
5180 double __ovld __cnfn convert_double_rtn(short);
5181 double __ovld __cnfn convert_double_rtn(uchar);
5182 double __ovld __cnfn convert_double_rtn(uint);
5183 double __ovld __cnfn convert_double_rtn(ulong);
5184 double __ovld __cnfn convert_double_rtn(ushort);
5185 double __ovld __cnfn convert_double_rtp(char);
5186 double __ovld __cnfn convert_double_rtp(double);
5187 double __ovld __cnfn convert_double_rtp(float);
5188 double __ovld __cnfn convert_double_rtp(int);
5189 double __ovld __cnfn convert_double_rtp(long);
5190 double __ovld __cnfn convert_double_rtp(short);
5191 double __ovld __cnfn convert_double_rtp(uchar);
5192 double __ovld __cnfn convert_double_rtp(uint);
5193 double __ovld __cnfn convert_double_rtp(ulong);
5194 double __ovld __cnfn convert_double_rtp(ushort);
5195 double __ovld __cnfn convert_double_rtz(char);
5196 double __ovld __cnfn convert_double_rtz(double);
5197 double __ovld __cnfn convert_double_rtz(float);
5198 double __ovld __cnfn convert_double_rtz(int);
5199 double __ovld __cnfn convert_double_rtz(long);
5200 double __ovld __cnfn convert_double_rtz(short);
5201 double __ovld __cnfn convert_double_rtz(uchar);
5202 double __ovld __cnfn convert_double_rtz(uint);
5203 double __ovld __cnfn convert_double_rtz(ulong);
5204 double __ovld __cnfn convert_double_rtz(ushort);
5205 double2 __ovld __cnfn convert_double2(char2);
5206 double2 __ovld __cnfn convert_double2(double2);
5207 double2 __ovld __cnfn convert_double2(float2);
5208 double2 __ovld __cnfn convert_double2(int2);
5209 double2 __ovld __cnfn convert_double2(long2);
5210 double2 __ovld __cnfn convert_double2(short2);
5211 double2 __ovld __cnfn convert_double2(uchar2);
5212 double2 __ovld __cnfn convert_double2(uint2);
5213 double2 __ovld __cnfn convert_double2(ulong2);
5214 double2 __ovld __cnfn convert_double2(ushort2);
5215 double2 __ovld __cnfn convert_double2_rte(char2);
5216 double2 __ovld __cnfn convert_double2_rte(double2);
5217 double2 __ovld __cnfn convert_double2_rte(float2);
5218 double2 __ovld __cnfn convert_double2_rte(int2);
5219 double2 __ovld __cnfn convert_double2_rte(long2);
5220 double2 __ovld __cnfn convert_double2_rte(short2);
5221 double2 __ovld __cnfn convert_double2_rte(uchar2);
5222 double2 __ovld __cnfn convert_double2_rte(uint2);
5223 double2 __ovld __cnfn convert_double2_rte(ulong2);
5224 double2 __ovld __cnfn convert_double2_rte(ushort2);
5225 double2 __ovld __cnfn convert_double2_rtn(char2);
5226 double2 __ovld __cnfn convert_double2_rtn(double2);
5227 double2 __ovld __cnfn convert_double2_rtn(float2);
5228 double2 __ovld __cnfn convert_double2_rtn(int2);
5229 double2 __ovld __cnfn convert_double2_rtn(long2);
5230 double2 __ovld __cnfn convert_double2_rtn(short2);
5231 double2 __ovld __cnfn convert_double2_rtn(uchar2);
5232 double2 __ovld __cnfn convert_double2_rtn(uint2);
5233 double2 __ovld __cnfn convert_double2_rtn(ulong2);
5234 double2 __ovld __cnfn convert_double2_rtn(ushort2);
5235 double2 __ovld __cnfn convert_double2_rtp(char2);
5236 double2 __ovld __cnfn convert_double2_rtp(double2);
5237 double2 __ovld __cnfn convert_double2_rtp(float2);
5238 double2 __ovld __cnfn convert_double2_rtp(int2);
5239 double2 __ovld __cnfn convert_double2_rtp(long2);
5240 double2 __ovld __cnfn convert_double2_rtp(short2);
5241 double2 __ovld __cnfn convert_double2_rtp(uchar2);
5242 double2 __ovld __cnfn convert_double2_rtp(uint2);
5243 double2 __ovld __cnfn convert_double2_rtp(ulong2);
5244 double2 __ovld __cnfn convert_double2_rtp(ushort2);
5245 double2 __ovld __cnfn convert_double2_rtz(char2);
5246 double2 __ovld __cnfn convert_double2_rtz(double2);
5247 double2 __ovld __cnfn convert_double2_rtz(float2);
5248 double2 __ovld __cnfn convert_double2_rtz(int2);
5249 double2 __ovld __cnfn convert_double2_rtz(long2);
5250 double2 __ovld __cnfn convert_double2_rtz(short2);
5251 double2 __ovld __cnfn convert_double2_rtz(uchar2);
5252 double2 __ovld __cnfn convert_double2_rtz(uint2);
5253 double2 __ovld __cnfn convert_double2_rtz(ulong2);
5254 double2 __ovld __cnfn convert_double2_rtz(ushort2);
5255 double3 __ovld __cnfn convert_double3(char3);
5256 double3 __ovld __cnfn convert_double3(double3);
5257 double3 __ovld __cnfn convert_double3(float3);
5258 double3 __ovld __cnfn convert_double3(int3);
5259 double3 __ovld __cnfn convert_double3(long3);
5260 double3 __ovld __cnfn convert_double3(short3);
5261 double3 __ovld __cnfn convert_double3(uchar3);
5262 double3 __ovld __cnfn convert_double3(uint3);
5263 double3 __ovld __cnfn convert_double3(ulong3);
5264 double3 __ovld __cnfn convert_double3(ushort3);
5265 double3 __ovld __cnfn convert_double3_rte(char3);
5266 double3 __ovld __cnfn convert_double3_rte(double3);
5267 double3 __ovld __cnfn convert_double3_rte(float3);
5268 double3 __ovld __cnfn convert_double3_rte(int3);
5269 double3 __ovld __cnfn convert_double3_rte(long3);
5270 double3 __ovld __cnfn convert_double3_rte(short3);
5271 double3 __ovld __cnfn convert_double3_rte(uchar3);
5272 double3 __ovld __cnfn convert_double3_rte(uint3);
5273 double3 __ovld __cnfn convert_double3_rte(ulong3);
5274 double3 __ovld __cnfn convert_double3_rte(ushort3);
5275 double3 __ovld __cnfn convert_double3_rtn(char3);
5276 double3 __ovld __cnfn convert_double3_rtn(double3);
5277 double3 __ovld __cnfn convert_double3_rtn(float3);
5278 double3 __ovld __cnfn convert_double3_rtn(int3);
5279 double3 __ovld __cnfn convert_double3_rtn(long3);
5280 double3 __ovld __cnfn convert_double3_rtn(short3);
5281 double3 __ovld __cnfn convert_double3_rtn(uchar3);
5282 double3 __ovld __cnfn convert_double3_rtn(uint3);
5283 double3 __ovld __cnfn convert_double3_rtn(ulong3);
5284 double3 __ovld __cnfn convert_double3_rtn(ushort3);
5285 double3 __ovld __cnfn convert_double3_rtp(char3);
5286 double3 __ovld __cnfn convert_double3_rtp(double3);
5287 double3 __ovld __cnfn convert_double3_rtp(float3);
5288 double3 __ovld __cnfn convert_double3_rtp(int3);
5289 double3 __ovld __cnfn convert_double3_rtp(long3);
5290 double3 __ovld __cnfn convert_double3_rtp(short3);
5291 double3 __ovld __cnfn convert_double3_rtp(uchar3);
5292 double3 __ovld __cnfn convert_double3_rtp(uint3);
5293 double3 __ovld __cnfn convert_double3_rtp(ulong3);
5294 double3 __ovld __cnfn convert_double3_rtp(ushort3);
5295 double3 __ovld __cnfn convert_double3_rtz(char3);
5296 double3 __ovld __cnfn convert_double3_rtz(double3);
5297 double3 __ovld __cnfn convert_double3_rtz(float3);
5298 double3 __ovld __cnfn convert_double3_rtz(int3);
5299 double3 __ovld __cnfn convert_double3_rtz(long3);
5300 double3 __ovld __cnfn convert_double3_rtz(short3);
5301 double3 __ovld __cnfn convert_double3_rtz(uchar3);
5302 double3 __ovld __cnfn convert_double3_rtz(uint3);
5303 double3 __ovld __cnfn convert_double3_rtz(ulong3);
5304 double3 __ovld __cnfn convert_double3_rtz(ushort3);
5305 double4 __ovld __cnfn convert_double4(char4);
5306 double4 __ovld __cnfn convert_double4(double4);
5307 double4 __ovld __cnfn convert_double4(float4);
5308 double4 __ovld __cnfn convert_double4(int4);
5309 double4 __ovld __cnfn convert_double4(long4);
5310 double4 __ovld __cnfn convert_double4(short4);
5311 double4 __ovld __cnfn convert_double4(uchar4);
5312 double4 __ovld __cnfn convert_double4(uint4);
5313 double4 __ovld __cnfn convert_double4(ulong4);
5314 double4 __ovld __cnfn convert_double4(ushort4);
5315 double4 __ovld __cnfn convert_double4_rte(char4);
5316 double4 __ovld __cnfn convert_double4_rte(double4);
5317 double4 __ovld __cnfn convert_double4_rte(float4);
5318 double4 __ovld __cnfn convert_double4_rte(int4);
5319 double4 __ovld __cnfn convert_double4_rte(long4);
5320 double4 __ovld __cnfn convert_double4_rte(short4);
5321 double4 __ovld __cnfn convert_double4_rte(uchar4);
5322 double4 __ovld __cnfn convert_double4_rte(uint4);
5323 double4 __ovld __cnfn convert_double4_rte(ulong4);
5324 double4 __ovld __cnfn convert_double4_rte(ushort4);
5325 double4 __ovld __cnfn convert_double4_rtn(char4);
5326 double4 __ovld __cnfn convert_double4_rtn(double4);
5327 double4 __ovld __cnfn convert_double4_rtn(float4);
5328 double4 __ovld __cnfn convert_double4_rtn(int4);
5329 double4 __ovld __cnfn convert_double4_rtn(long4);
5330 double4 __ovld __cnfn convert_double4_rtn(short4);
5331 double4 __ovld __cnfn convert_double4_rtn(uchar4);
5332 double4 __ovld __cnfn convert_double4_rtn(uint4);
5333 double4 __ovld __cnfn convert_double4_rtn(ulong4);
5334 double4 __ovld __cnfn convert_double4_rtn(ushort4);
5335 double4 __ovld __cnfn convert_double4_rtp(char4);
5336 double4 __ovld __cnfn convert_double4_rtp(double4);
5337 double4 __ovld __cnfn convert_double4_rtp(float4);
5338 double4 __ovld __cnfn convert_double4_rtp(int4);
5339 double4 __ovld __cnfn convert_double4_rtp(long4);
5340 double4 __ovld __cnfn convert_double4_rtp(short4);
5341 double4 __ovld __cnfn convert_double4_rtp(uchar4);
5342 double4 __ovld __cnfn convert_double4_rtp(uint4);
5343 double4 __ovld __cnfn convert_double4_rtp(ulong4);
5344 double4 __ovld __cnfn convert_double4_rtp(ushort4);
5345 double4 __ovld __cnfn convert_double4_rtz(char4);
5346 double4 __ovld __cnfn convert_double4_rtz(double4);
5347 double4 __ovld __cnfn convert_double4_rtz(float4);
5348 double4 __ovld __cnfn convert_double4_rtz(int4);
5349 double4 __ovld __cnfn convert_double4_rtz(long4);
5350 double4 __ovld __cnfn convert_double4_rtz(short4);
5351 double4 __ovld __cnfn convert_double4_rtz(uchar4);
5352 double4 __ovld __cnfn convert_double4_rtz(uint4);
5353 double4 __ovld __cnfn convert_double4_rtz(ulong4);
5354 double4 __ovld __cnfn convert_double4_rtz(ushort4);
5355 double8 __ovld __cnfn convert_double8(char8);
5356 double8 __ovld __cnfn convert_double8(double8);
5357 double8 __ovld __cnfn convert_double8(float8);
5358 double8 __ovld __cnfn convert_double8(int8);
5359 double8 __ovld __cnfn convert_double8(long8);
5360 double8 __ovld __cnfn convert_double8(short8);
5361 double8 __ovld __cnfn convert_double8(uchar8);
5362 double8 __ovld __cnfn convert_double8(uint8);
5363 double8 __ovld __cnfn convert_double8(ulong8);
5364 double8 __ovld __cnfn convert_double8(ushort8);
5365 double8 __ovld __cnfn convert_double8_rte(char8);
5366 double8 __ovld __cnfn convert_double8_rte(double8);
5367 double8 __ovld __cnfn convert_double8_rte(float8);
5368 double8 __ovld __cnfn convert_double8_rte(int8);
5369 double8 __ovld __cnfn convert_double8_rte(long8);
5370 double8 __ovld __cnfn convert_double8_rte(short8);
5371 double8 __ovld __cnfn convert_double8_rte(uchar8);
5372 double8 __ovld __cnfn convert_double8_rte(uint8);
5373 double8 __ovld __cnfn convert_double8_rte(ulong8);
5374 double8 __ovld __cnfn convert_double8_rte(ushort8);
5375 double8 __ovld __cnfn convert_double8_rtn(char8);
5376 double8 __ovld __cnfn convert_double8_rtn(double8);
5377 double8 __ovld __cnfn convert_double8_rtn(float8);
5378 double8 __ovld __cnfn convert_double8_rtn(int8);
5379 double8 __ovld __cnfn convert_double8_rtn(long8);
5380 double8 __ovld __cnfn convert_double8_rtn(short8);
5381 double8 __ovld __cnfn convert_double8_rtn(uchar8);
5382 double8 __ovld __cnfn convert_double8_rtn(uint8);
5383 double8 __ovld __cnfn convert_double8_rtn(ulong8);
5384 double8 __ovld __cnfn convert_double8_rtn(ushort8);
5385 double8 __ovld __cnfn convert_double8_rtp(char8);
5386 double8 __ovld __cnfn convert_double8_rtp(double8);
5387 double8 __ovld __cnfn convert_double8_rtp(float8);
5388 double8 __ovld __cnfn convert_double8_rtp(int8);
5389 double8 __ovld __cnfn convert_double8_rtp(long8);
5390 double8 __ovld __cnfn convert_double8_rtp(short8);
5391 double8 __ovld __cnfn convert_double8_rtp(uchar8);
5392 double8 __ovld __cnfn convert_double8_rtp(uint8);
5393 double8 __ovld __cnfn convert_double8_rtp(ulong8);
5394 double8 __ovld __cnfn convert_double8_rtp(ushort8);
5395 double8 __ovld __cnfn convert_double8_rtz(char8);
5396 double8 __ovld __cnfn convert_double8_rtz(double8);
5397 double8 __ovld __cnfn convert_double8_rtz(float8);
5398 double8 __ovld __cnfn convert_double8_rtz(int8);
5399 double8 __ovld __cnfn convert_double8_rtz(long8);
5400 double8 __ovld __cnfn convert_double8_rtz(short8);
5401 double8 __ovld __cnfn convert_double8_rtz(uchar8);
5402 double8 __ovld __cnfn convert_double8_rtz(uint8);
5403 double8 __ovld __cnfn convert_double8_rtz(ulong8);
5404 double8 __ovld __cnfn convert_double8_rtz(ushort8);
5405 double16 __ovld __cnfn convert_double16(char16);
5406 double16 __ovld __cnfn convert_double16(double16);
5407 double16 __ovld __cnfn convert_double16(float16);
5408 double16 __ovld __cnfn convert_double16(int16);
5409 double16 __ovld __cnfn convert_double16(long16);
5410 double16 __ovld __cnfn convert_double16(short16);
5411 double16 __ovld __cnfn convert_double16(uchar16);
5412 double16 __ovld __cnfn convert_double16(uint16);
5413 double16 __ovld __cnfn convert_double16(ulong16);
5414 double16 __ovld __cnfn convert_double16(ushort16);
5415 double16 __ovld __cnfn convert_double16_rte(char16);
5416 double16 __ovld __cnfn convert_double16_rte(double16);
5417 double16 __ovld __cnfn convert_double16_rte(float16);
5418 double16 __ovld __cnfn convert_double16_rte(int16);
5419 double16 __ovld __cnfn convert_double16_rte(long16);
5420 double16 __ovld __cnfn convert_double16_rte(short16);
5421 double16 __ovld __cnfn convert_double16_rte(uchar16);
5422 double16 __ovld __cnfn convert_double16_rte(uint16);
5423 double16 __ovld __cnfn convert_double16_rte(ulong16);
5424 double16 __ovld __cnfn convert_double16_rte(ushort16);
5425 double16 __ovld __cnfn convert_double16_rtn(char16);
5426 double16 __ovld __cnfn convert_double16_rtn(double16);
5427 double16 __ovld __cnfn convert_double16_rtn(float16);
5428 double16 __ovld __cnfn convert_double16_rtn(int16);
5429 double16 __ovld __cnfn convert_double16_rtn(long16);
5430 double16 __ovld __cnfn convert_double16_rtn(short16);
5431 double16 __ovld __cnfn convert_double16_rtn(uchar16);
5432 double16 __ovld __cnfn convert_double16_rtn(uint16);
5433 double16 __ovld __cnfn convert_double16_rtn(ulong16);
5434 double16 __ovld __cnfn convert_double16_rtn(ushort16);
5435 double16 __ovld __cnfn convert_double16_rtp(char16);
5436 double16 __ovld __cnfn convert_double16_rtp(double16);
5437 double16 __ovld __cnfn convert_double16_rtp(float16);
5438 double16 __ovld __cnfn convert_double16_rtp(int16);
5439 double16 __ovld __cnfn convert_double16_rtp(long16);
5440 double16 __ovld __cnfn convert_double16_rtp(short16);
5441 double16 __ovld __cnfn convert_double16_rtp(uchar16);
5442 double16 __ovld __cnfn convert_double16_rtp(uint16);
5443 double16 __ovld __cnfn convert_double16_rtp(ulong16);
5444 double16 __ovld __cnfn convert_double16_rtp(ushort16);
5445 double16 __ovld __cnfn convert_double16_rtz(char16);
5446 double16 __ovld __cnfn convert_double16_rtz(double16);
5447 double16 __ovld __cnfn convert_double16_rtz(float16);
5448 double16 __ovld __cnfn convert_double16_rtz(int16);
5449 double16 __ovld __cnfn convert_double16_rtz(long16);
5450 double16 __ovld __cnfn convert_double16_rtz(short16);
5451 double16 __ovld __cnfn convert_double16_rtz(uchar16);
5452 double16 __ovld __cnfn convert_double16_rtz(uint16);
5453 double16 __ovld __cnfn convert_double16_rtz(ulong16);
5454 double16 __ovld __cnfn convert_double16_rtz(ushort16);
5455 #endif //cl_khr_fp64
5456 
5457 #ifdef cl_khr_fp16
5458 // Convert half types to non-double types.
5469 uchar2 __ovld __cnfn convert_uchar2(half2);
5470 uchar2 __ovld __cnfn convert_uchar2_rte(half2);
5471 uchar2 __ovld __cnfn convert_uchar2_rtp(half2);
5472 uchar2 __ovld __cnfn convert_uchar2_rtn(half2);
5473 uchar2 __ovld __cnfn convert_uchar2_rtz(half2);
5474 uchar2 __ovld __cnfn convert_uchar2_sat(half2);
5475 uchar2 __ovld __cnfn convert_uchar2_sat_rte(half2);
5476 uchar2 __ovld __cnfn convert_uchar2_sat_rtp(half2);
5477 uchar2 __ovld __cnfn convert_uchar2_sat_rtn(half2);
5478 uchar2 __ovld __cnfn convert_uchar2_sat_rtz(half2);
5479 uchar3 __ovld __cnfn convert_uchar3(half3);
5480 uchar3 __ovld __cnfn convert_uchar3_rte(half3);
5481 uchar3 __ovld __cnfn convert_uchar3_rtp(half3);
5482 uchar3 __ovld __cnfn convert_uchar3_rtn(half3);
5483 uchar3 __ovld __cnfn convert_uchar3_rtz(half3);
5484 uchar3 __ovld __cnfn convert_uchar3_sat(half3);
5485 uchar3 __ovld __cnfn convert_uchar3_sat_rte(half3);
5486 uchar3 __ovld __cnfn convert_uchar3_sat_rtp(half3);
5487 uchar3 __ovld __cnfn convert_uchar3_sat_rtn(half3);
5488 uchar3 __ovld __cnfn convert_uchar3_sat_rtz(half3);
5489 uchar4 __ovld __cnfn convert_uchar4(half4);
5490 uchar4 __ovld __cnfn convert_uchar4_rte(half4);
5491 uchar4 __ovld __cnfn convert_uchar4_rtp(half4);
5492 uchar4 __ovld __cnfn convert_uchar4_rtn(half4);
5493 uchar4 __ovld __cnfn convert_uchar4_rtz(half4);
5494 uchar4 __ovld __cnfn convert_uchar4_sat(half4);
5495 uchar4 __ovld __cnfn convert_uchar4_sat_rte(half4);
5496 uchar4 __ovld __cnfn convert_uchar4_sat_rtp(half4);
5497 uchar4 __ovld __cnfn convert_uchar4_sat_rtn(half4);
5498 uchar4 __ovld __cnfn convert_uchar4_sat_rtz(half4);
5499 uchar8 __ovld __cnfn convert_uchar8(half8);
5500 uchar8 __ovld __cnfn convert_uchar8_rte(half8);
5501 uchar8 __ovld __cnfn convert_uchar8_rtp(half8);
5502 uchar8 __ovld __cnfn convert_uchar8_rtn(half8);
5503 uchar8 __ovld __cnfn convert_uchar8_rtz(half8);
5504 uchar8 __ovld __cnfn convert_uchar8_sat(half8);
5505 uchar8 __ovld __cnfn convert_uchar8_sat_rte(half8);
5506 uchar8 __ovld __cnfn convert_uchar8_sat_rtp(half8);
5507 uchar8 __ovld __cnfn convert_uchar8_sat_rtn(half8);
5508 uchar8 __ovld __cnfn convert_uchar8_sat_rtz(half8);
5509 uchar16 __ovld __cnfn convert_uchar16(half16);
5510 uchar16 __ovld __cnfn convert_uchar16_rte(half16);
5511 uchar16 __ovld __cnfn convert_uchar16_rtp(half16);
5512 uchar16 __ovld __cnfn convert_uchar16_rtn(half16);
5513 uchar16 __ovld __cnfn convert_uchar16_rtz(half16);
5514 uchar16 __ovld __cnfn convert_uchar16_sat(half16);
5515 uchar16 __ovld __cnfn convert_uchar16_sat_rte(half16);
5516 uchar16 __ovld __cnfn convert_uchar16_sat_rtp(half16);
5517 uchar16 __ovld __cnfn convert_uchar16_sat_rtn(half16);
5518 uchar16 __ovld __cnfn convert_uchar16_sat_rtz(half16);
5529 ushort2 __ovld __cnfn convert_ushort2(half2);
5530 ushort2 __ovld __cnfn convert_ushort2_rte(half2);
5531 ushort2 __ovld __cnfn convert_ushort2_rtp(half2);
5532 ushort2 __ovld __cnfn convert_ushort2_rtn(half2);
5533 ushort2 __ovld __cnfn convert_ushort2_rtz(half2);
5534 ushort2 __ovld __cnfn convert_ushort2_sat(half2);
5535 ushort2 __ovld __cnfn convert_ushort2_sat_rte(half2);
5536 ushort2 __ovld __cnfn convert_ushort2_sat_rtp(half2);
5537 ushort2 __ovld __cnfn convert_ushort2_sat_rtn(half2);
5538 ushort2 __ovld __cnfn convert_ushort2_sat_rtz(half2);
5539 ushort3 __ovld __cnfn convert_ushort3(half3);
5540 ushort3 __ovld __cnfn convert_ushort3_rte(half3);
5541 ushort3 __ovld __cnfn convert_ushort3_rtp(half3);
5542 ushort3 __ovld __cnfn convert_ushort3_rtn(half3);
5543 ushort3 __ovld __cnfn convert_ushort3_rtz(half3);
5544 ushort3 __ovld __cnfn convert_ushort3_sat(half3);
5545 ushort3 __ovld __cnfn convert_ushort3_sat_rte(half3);
5546 ushort3 __ovld __cnfn convert_ushort3_sat_rtp(half3);
5547 ushort3 __ovld __cnfn convert_ushort3_sat_rtn(half3);
5548 ushort3 __ovld __cnfn convert_ushort3_sat_rtz(half3);
5549 ushort4 __ovld __cnfn convert_ushort4(half4);
5550 ushort4 __ovld __cnfn convert_ushort4_rte(half4);
5551 ushort4 __ovld __cnfn convert_ushort4_rtp(half4);
5552 ushort4 __ovld __cnfn convert_ushort4_rtn(half4);
5553 ushort4 __ovld __cnfn convert_ushort4_rtz(half4);
5554 ushort4 __ovld __cnfn convert_ushort4_sat(half4);
5555 ushort4 __ovld __cnfn convert_ushort4_sat_rte(half4);
5556 ushort4 __ovld __cnfn convert_ushort4_sat_rtp(half4);
5557 ushort4 __ovld __cnfn convert_ushort4_sat_rtn(half4);
5558 ushort4 __ovld __cnfn convert_ushort4_sat_rtz(half4);
5559 ushort8 __ovld __cnfn convert_ushort8(half8);
5560 ushort8 __ovld __cnfn convert_ushort8_rte(half8);
5561 ushort8 __ovld __cnfn convert_ushort8_rtp(half8);
5562 ushort8 __ovld __cnfn convert_ushort8_rtn(half8);
5563 ushort8 __ovld __cnfn convert_ushort8_rtz(half8);
5564 ushort8 __ovld __cnfn convert_ushort8_sat(half8);
5565 ushort8 __ovld __cnfn convert_ushort8_sat_rte(half8);
5566 ushort8 __ovld __cnfn convert_ushort8_sat_rtp(half8);
5567 ushort8 __ovld __cnfn convert_ushort8_sat_rtn(half8);
5568 ushort8 __ovld __cnfn convert_ushort8_sat_rtz(half8);
5569 ushort16 __ovld __cnfn convert_ushort16(half16);
5570 ushort16 __ovld __cnfn convert_ushort16_rte(half16);
5571 ushort16 __ovld __cnfn convert_ushort16_rtp(half16);
5572 ushort16 __ovld __cnfn convert_ushort16_rtn(half16);
5573 ushort16 __ovld __cnfn convert_ushort16_rtz(half16);
5574 ushort16 __ovld __cnfn convert_ushort16_sat(half16);
5575 ushort16 __ovld __cnfn convert_ushort16_sat_rte(half16);
5576 ushort16 __ovld __cnfn convert_ushort16_sat_rtp(half16);
5577 ushort16 __ovld __cnfn convert_ushort16_sat_rtn(half16);
5578 ushort16 __ovld __cnfn convert_ushort16_sat_rtz(half16);
5589 uint2 __ovld __cnfn convert_uint2(half2);
5590 uint2 __ovld __cnfn convert_uint2_rte(half2);
5591 uint2 __ovld __cnfn convert_uint2_rtp(half2);
5592 uint2 __ovld __cnfn convert_uint2_rtn(half2);
5593 uint2 __ovld __cnfn convert_uint2_rtz(half2);
5594 uint2 __ovld __cnfn convert_uint2_sat(half2);
5595 uint2 __ovld __cnfn convert_uint2_sat_rte(half2);
5596 uint2 __ovld __cnfn convert_uint2_sat_rtp(half2);
5597 uint2 __ovld __cnfn convert_uint2_sat_rtn(half2);
5598 uint2 __ovld __cnfn convert_uint2_sat_rtz(half2);
5599 uint3 __ovld __cnfn convert_uint3(half3);
5600 uint3 __ovld __cnfn convert_uint3_rte(half3);
5601 uint3 __ovld __cnfn convert_uint3_rtp(half3);
5602 uint3 __ovld __cnfn convert_uint3_rtn(half3);
5603 uint3 __ovld __cnfn convert_uint3_rtz(half3);
5604 uint3 __ovld __cnfn convert_uint3_sat(half3);
5605 uint3 __ovld __cnfn convert_uint3_sat_rte(half3);
5606 uint3 __ovld __cnfn convert_uint3_sat_rtp(half3);
5607 uint3 __ovld __cnfn convert_uint3_sat_rtn(half3);
5608 uint3 __ovld __cnfn convert_uint3_sat_rtz(half3);
5609 uint4 __ovld __cnfn convert_uint4(half4);
5610 uint4 __ovld __cnfn convert_uint4_rte(half4);
5611 uint4 __ovld __cnfn convert_uint4_rtp(half4);
5612 uint4 __ovld __cnfn convert_uint4_rtn(half4);
5613 uint4 __ovld __cnfn convert_uint4_rtz(half4);
5614 uint4 __ovld __cnfn convert_uint4_sat(half4);
5615 uint4 __ovld __cnfn convert_uint4_sat_rte(half4);
5616 uint4 __ovld __cnfn convert_uint4_sat_rtp(half4);
5617 uint4 __ovld __cnfn convert_uint4_sat_rtn(half4);
5618 uint4 __ovld __cnfn convert_uint4_sat_rtz(half4);
5649 ulong2 __ovld __cnfn convert_ulong2(half2);
5650 ulong2 __ovld __cnfn convert_ulong2_rte(half2);
5651 ulong2 __ovld __cnfn convert_ulong2_rtp(half2);
5652 ulong2 __ovld __cnfn convert_ulong2_rtn(half2);
5653 ulong2 __ovld __cnfn convert_ulong2_rtz(half2);
5654 ulong2 __ovld __cnfn convert_ulong2_sat(half2);
5655 ulong2 __ovld __cnfn convert_ulong2_sat_rte(half2);
5656 ulong2 __ovld __cnfn convert_ulong2_sat_rtp(half2);
5657 ulong2 __ovld __cnfn convert_ulong2_sat_rtn(half2);
5658 ulong2 __ovld __cnfn convert_ulong2_sat_rtz(half2);
5659 ulong3 __ovld __cnfn convert_ulong3(half3);
5660 ulong3 __ovld __cnfn convert_ulong3_rte(half3);
5661 ulong3 __ovld __cnfn convert_ulong3_rtp(half3);
5662 ulong3 __ovld __cnfn convert_ulong3_rtn(half3);
5663 ulong3 __ovld __cnfn convert_ulong3_rtz(half3);
5664 ulong3 __ovld __cnfn convert_ulong3_sat(half3);
5665 ulong3 __ovld __cnfn convert_ulong3_sat_rte(half3);
5666 ulong3 __ovld __cnfn convert_ulong3_sat_rtp(half3);
5667 ulong3 __ovld __cnfn convert_ulong3_sat_rtn(half3);
5668 ulong3 __ovld __cnfn convert_ulong3_sat_rtz(half3);
5669 ulong4 __ovld __cnfn convert_ulong4(half4);
5670 ulong4 __ovld __cnfn convert_ulong4_rte(half4);
5671 ulong4 __ovld __cnfn convert_ulong4_rtp(half4);
5672 ulong4 __ovld __cnfn convert_ulong4_rtn(half4);
5673 ulong4 __ovld __cnfn convert_ulong4_rtz(half4);
5674 ulong4 __ovld __cnfn convert_ulong4_sat(half4);
5675 ulong4 __ovld __cnfn convert_ulong4_sat_rte(half4);
5676 ulong4 __ovld __cnfn convert_ulong4_sat_rtp(half4);
5677 ulong4 __ovld __cnfn convert_ulong4_sat_rtn(half4);
5678 ulong4 __ovld __cnfn convert_ulong4_sat_rtz(half4);
5679 ulong8 __ovld __cnfn convert_ulong8(half8);
5680 ulong8 __ovld __cnfn convert_ulong8_rte(half8);
5681 ulong8 __ovld __cnfn convert_ulong8_rtp(half8);
5682 ulong8 __ovld __cnfn convert_ulong8_rtn(half8);
5683 ulong8 __ovld __cnfn convert_ulong8_rtz(half8);
5684 ulong8 __ovld __cnfn convert_ulong8_sat(half8);
5685 ulong8 __ovld __cnfn convert_ulong8_sat_rte(half8);
5686 ulong8 __ovld __cnfn convert_ulong8_sat_rtp(half8);
5687 ulong8 __ovld __cnfn convert_ulong8_sat_rtn(half8);
5688 ulong8 __ovld __cnfn convert_ulong8_sat_rtz(half8);
5689 ulong16 __ovld __cnfn convert_ulong16(half16);
5690 ulong16 __ovld __cnfn convert_ulong16_rte(half16);
5691 ulong16 __ovld __cnfn convert_ulong16_rtp(half16);
5692 ulong16 __ovld __cnfn convert_ulong16_rtn(half16);
5693 ulong16 __ovld __cnfn convert_ulong16_rtz(half16);
5694 ulong16 __ovld __cnfn convert_ulong16_sat(half16);
5695 ulong16 __ovld __cnfn convert_ulong16_sat_rte(half16);
5696 ulong16 __ovld __cnfn convert_ulong16_sat_rtp(half16);
5697 ulong16 __ovld __cnfn convert_ulong16_sat_rtn(half16);
5698 ulong16 __ovld __cnfn convert_ulong16_sat_rtz(half16);
5699 char __ovld __cnfn convert_char(half);
5700 char __ovld __cnfn convert_char_rte(half);
5701 char __ovld __cnfn convert_char_rtp(half);
5702 char __ovld __cnfn convert_char_rtn(half);
5703 char __ovld __cnfn convert_char_rtz(half);
5704 char __ovld __cnfn convert_char_sat(half);
5709 char2 __ovld __cnfn convert_char2(half2);
5710 char2 __ovld __cnfn convert_char2_rte(half2);
5711 char2 __ovld __cnfn convert_char2_rtp(half2);
5712 char2 __ovld __cnfn convert_char2_rtn(half2);
5713 char2 __ovld __cnfn convert_char2_rtz(half2);
5714 char2 __ovld __cnfn convert_char2_sat(half2);
5715 char2 __ovld __cnfn convert_char2_sat_rte(half2);
5716 char2 __ovld __cnfn convert_char2_sat_rtp(half2);
5717 char2 __ovld __cnfn convert_char2_sat_rtn(half2);
5718 char2 __ovld __cnfn convert_char2_sat_rtz(half2);
5719 char3 __ovld __cnfn convert_char3(half3);
5720 char3 __ovld __cnfn convert_char3_rte(half3);
5721 char3 __ovld __cnfn convert_char3_rtp(half3);
5722 char3 __ovld __cnfn convert_char3_rtn(half3);
5723 char3 __ovld __cnfn convert_char3_rtz(half3);
5724 char3 __ovld __cnfn convert_char3_sat(half3);
5725 char3 __ovld __cnfn convert_char3_sat_rte(half3);
5726 char3 __ovld __cnfn convert_char3_sat_rtp(half3);
5727 char3 __ovld __cnfn convert_char3_sat_rtn(half3);
5728 char3 __ovld __cnfn convert_char3_sat_rtz(half3);
5729 char4 __ovld __cnfn convert_char4(half4);
5730 char4 __ovld __cnfn convert_char4_rte(half4);
5731 char4 __ovld __cnfn convert_char4_rtp(half4);
5732 char4 __ovld __cnfn convert_char4_rtn(half4);
5733 char4 __ovld __cnfn convert_char4_rtz(half4);
5734 char4 __ovld __cnfn convert_char4_sat(half4);
5735 char4 __ovld __cnfn convert_char4_sat_rte(half4);
5736 char4 __ovld __cnfn convert_char4_sat_rtp(half4);
5737 char4 __ovld __cnfn convert_char4_sat_rtn(half4);
5738 char4 __ovld __cnfn convert_char4_sat_rtz(half4);
5739 char8 __ovld __cnfn convert_char8(half8);
5740 char8 __ovld __cnfn convert_char8_rte(half8);
5741 char8 __ovld __cnfn convert_char8_rtp(half8);
5742 char8 __ovld __cnfn convert_char8_rtn(half8);
5743 char8 __ovld __cnfn convert_char8_rtz(half8);
5744 char8 __ovld __cnfn convert_char8_sat(half8);
5745 char8 __ovld __cnfn convert_char8_sat_rte(half8);
5746 char8 __ovld __cnfn convert_char8_sat_rtp(half8);
5747 char8 __ovld __cnfn convert_char8_sat_rtn(half8);
5748 char8 __ovld __cnfn convert_char8_sat_rtz(half8);
5749 char16 __ovld __cnfn convert_char16(half16);
5750 char16 __ovld __cnfn convert_char16_rte(half16);
5751 char16 __ovld __cnfn convert_char16_rtp(half16);
5752 char16 __ovld __cnfn convert_char16_rtn(half16);
5753 char16 __ovld __cnfn convert_char16_rtz(half16);
5754 char16 __ovld __cnfn convert_char16_sat(half16);
5755 char16 __ovld __cnfn convert_char16_sat_rte(half16);
5756 char16 __ovld __cnfn convert_char16_sat_rtp(half16);
5757 char16 __ovld __cnfn convert_char16_sat_rtn(half16);
5758 char16 __ovld __cnfn convert_char16_sat_rtz(half16);
5759 short __ovld __cnfn convert_short(half);
5760 short __ovld __cnfn convert_short_rte(half);
5761 short __ovld __cnfn convert_short_rtp(half);
5762 short __ovld __cnfn convert_short_rtn(half);
5763 short __ovld __cnfn convert_short_rtz(half);
5764 short __ovld __cnfn convert_short_sat(half);
5765 short __ovld __cnfn convert_short_sat_rte(half);
5766 short __ovld __cnfn convert_short_sat_rtp(half);
5767 short __ovld __cnfn convert_short_sat_rtn(half);
5768 short __ovld __cnfn convert_short_sat_rtz(half);
5769 short2 __ovld __cnfn convert_short2(half2);
5770 short2 __ovld __cnfn convert_short2_rte(half2);
5771 short2 __ovld __cnfn convert_short2_rtp(half2);
5772 short2 __ovld __cnfn convert_short2_rtn(half2);
5773 short2 __ovld __cnfn convert_short2_rtz(half2);
5774 short2 __ovld __cnfn convert_short2_sat(half2);
5775 short2 __ovld __cnfn convert_short2_sat_rte(half2);
5776 short2 __ovld __cnfn convert_short2_sat_rtp(half2);
5777 short2 __ovld __cnfn convert_short2_sat_rtn(half2);
5778 short2 __ovld __cnfn convert_short2_sat_rtz(half2);
5779 short3 __ovld __cnfn convert_short3(half3);
5780 short3 __ovld __cnfn convert_short3_rte(half3);
5781 short3 __ovld __cnfn convert_short3_rtp(half3);
5782 short3 __ovld __cnfn convert_short3_rtn(half3);
5783 short3 __ovld __cnfn convert_short3_rtz(half3);
5784 short3 __ovld __cnfn convert_short3_sat(half3);
5785 short3 __ovld __cnfn convert_short3_sat_rte(half3);
5786 short3 __ovld __cnfn convert_short3_sat_rtp(half3);
5787 short3 __ovld __cnfn convert_short3_sat_rtn(half3);
5788 short3 __ovld __cnfn convert_short3_sat_rtz(half3);
5789 short4 __ovld __cnfn convert_short4(half4);
5790 short4 __ovld __cnfn convert_short4_rte(half4);
5791 short4 __ovld __cnfn convert_short4_rtp(half4);
5792 short4 __ovld __cnfn convert_short4_rtn(half4);
5793 short4 __ovld __cnfn convert_short4_rtz(half4);
5794 short4 __ovld __cnfn convert_short4_sat(half4);
5795 short4 __ovld __cnfn convert_short4_sat_rte(half4);
5796 short4 __ovld __cnfn convert_short4_sat_rtp(half4);
5797 short4 __ovld __cnfn convert_short4_sat_rtn(half4);
5798 short4 __ovld __cnfn convert_short4_sat_rtz(half4);
5799 short8 __ovld __cnfn convert_short8(half8);
5800 short8 __ovld __cnfn convert_short8_rte(half8);
5801 short8 __ovld __cnfn convert_short8_rtp(half8);
5802 short8 __ovld __cnfn convert_short8_rtn(half8);
5803 short8 __ovld __cnfn convert_short8_rtz(half8);
5804 short8 __ovld __cnfn convert_short8_sat(half8);
5805 short8 __ovld __cnfn convert_short8_sat_rte(half8);
5806 short8 __ovld __cnfn convert_short8_sat_rtp(half8);
5807 short8 __ovld __cnfn convert_short8_sat_rtn(half8);
5808 short8 __ovld __cnfn convert_short8_sat_rtz(half8);
5809 short16 __ovld __cnfn convert_short16(half16);
5810 short16 __ovld __cnfn convert_short16_rte(half16);
5811 short16 __ovld __cnfn convert_short16_rtp(half16);
5812 short16 __ovld __cnfn convert_short16_rtn(half16);
5813 short16 __ovld __cnfn convert_short16_rtz(half16);
5814 short16 __ovld __cnfn convert_short16_sat(half16);
5815 short16 __ovld __cnfn convert_short16_sat_rte(half16);
5816 short16 __ovld __cnfn convert_short16_sat_rtp(half16);
5817 short16 __ovld __cnfn convert_short16_sat_rtn(half16);
5818 short16 __ovld __cnfn convert_short16_sat_rtz(half16);
5819 int __ovld __cnfn convert_int(half);
5820 int __ovld __cnfn convert_int_rte(half);
5821 int __ovld __cnfn convert_int_rtp(half);
5822 int __ovld __cnfn convert_int_rtn(half);
5823 int __ovld __cnfn convert_int_rtz(half);
5824 int __ovld __cnfn convert_int_sat(half);
5829 int2 __ovld __cnfn convert_int2(half2);
5830 int2 __ovld __cnfn convert_int2_rte(half2);
5831 int2 __ovld __cnfn convert_int2_rtp(half2);
5832 int2 __ovld __cnfn convert_int2_rtn(half2);
5833 int2 __ovld __cnfn convert_int2_rtz(half2);
5834 int2 __ovld __cnfn convert_int2_sat(half2);
5835 int2 __ovld __cnfn convert_int2_sat_rte(half2);
5836 int2 __ovld __cnfn convert_int2_sat_rtp(half2);
5837 int2 __ovld __cnfn convert_int2_sat_rtn(half2);
5838 int2 __ovld __cnfn convert_int2_sat_rtz(half2);
5839 int3 __ovld __cnfn convert_int3(half3);
5840 int3 __ovld __cnfn convert_int3_rte(half3);
5841 int3 __ovld __cnfn convert_int3_rtp(half3);
5842 int3 __ovld __cnfn convert_int3_rtn(half3);
5843 int3 __ovld __cnfn convert_int3_rtz(half3);
5844 int3 __ovld __cnfn convert_int3_sat(half3);
5845 int3 __ovld __cnfn convert_int3_sat_rte(half3);
5846 int3 __ovld __cnfn convert_int3_sat_rtp(half3);
5847 int3 __ovld __cnfn convert_int3_sat_rtn(half3);
5848 int3 __ovld __cnfn convert_int3_sat_rtz(half3);
5849 int4 __ovld __cnfn convert_int4(half4);
5850 int4 __ovld __cnfn convert_int4_rte(half4);
5851 int4 __ovld __cnfn convert_int4_rtp(half4);
5852 int4 __ovld __cnfn convert_int4_rtn(half4);
5853 int4 __ovld __cnfn convert_int4_rtz(half4);
5854 int4 __ovld __cnfn convert_int4_sat(half4);
5855 int4 __ovld __cnfn convert_int4_sat_rte(half4);
5856 int4 __ovld __cnfn convert_int4_sat_rtp(half4);
5857 int4 __ovld __cnfn convert_int4_sat_rtn(half4);
5858 int4 __ovld __cnfn convert_int4_sat_rtz(half4);
5879 long __ovld __cnfn convert_long(half);
5880 long __ovld __cnfn convert_long_rte(half);
5881 long __ovld __cnfn convert_long_rtp(half);
5882 long __ovld __cnfn convert_long_rtn(half);
5883 long __ovld __cnfn convert_long_rtz(half);
5884 long __ovld __cnfn convert_long_sat(half);
5889 long2 __ovld __cnfn convert_long2(half2);
5890 long2 __ovld __cnfn convert_long2_rte(half2);
5891 long2 __ovld __cnfn convert_long2_rtp(half2);
5892 long2 __ovld __cnfn convert_long2_rtn(half2);
5893 long2 __ovld __cnfn convert_long2_rtz(half2);
5894 long2 __ovld __cnfn convert_long2_sat(half2);
5895 long2 __ovld __cnfn convert_long2_sat_rte(half2);
5896 long2 __ovld __cnfn convert_long2_sat_rtp(half2);
5897 long2 __ovld __cnfn convert_long2_sat_rtn(half2);
5898 long2 __ovld __cnfn convert_long2_sat_rtz(half2);
5899 long3 __ovld __cnfn convert_long3(half3);
5900 long3 __ovld __cnfn convert_long3_rte(half3);
5901 long3 __ovld __cnfn convert_long3_rtp(half3);
5902 long3 __ovld __cnfn convert_long3_rtn(half3);
5903 long3 __ovld __cnfn convert_long3_rtz(half3);
5904 long3 __ovld __cnfn convert_long3_sat(half3);
5905 long3 __ovld __cnfn convert_long3_sat_rte(half3);
5906 long3 __ovld __cnfn convert_long3_sat_rtp(half3);
5907 long3 __ovld __cnfn convert_long3_sat_rtn(half3);
5908 long3 __ovld __cnfn convert_long3_sat_rtz(half3);
5909 long4 __ovld __cnfn convert_long4(half4);
5910 long4 __ovld __cnfn convert_long4_rte(half4);
5911 long4 __ovld __cnfn convert_long4_rtp(half4);
5912 long4 __ovld __cnfn convert_long4_rtn(half4);
5913 long4 __ovld __cnfn convert_long4_rtz(half4);
5914 long4 __ovld __cnfn convert_long4_sat(half4);
5915 long4 __ovld __cnfn convert_long4_sat_rte(half4);
5916 long4 __ovld __cnfn convert_long4_sat_rtp(half4);
5917 long4 __ovld __cnfn convert_long4_sat_rtn(half4);
5918 long4 __ovld __cnfn convert_long4_sat_rtz(half4);
5919 long8 __ovld __cnfn convert_long8(half8);
5920 long8 __ovld __cnfn convert_long8_rte(half8);
5921 long8 __ovld __cnfn convert_long8_rtp(half8);
5922 long8 __ovld __cnfn convert_long8_rtn(half8);
5923 long8 __ovld __cnfn convert_long8_rtz(half8);
5924 long8 __ovld __cnfn convert_long8_sat(half8);
5925 long8 __ovld __cnfn convert_long8_sat_rte(half8);
5926 long8 __ovld __cnfn convert_long8_sat_rtp(half8);
5927 long8 __ovld __cnfn convert_long8_sat_rtn(half8);
5928 long8 __ovld __cnfn convert_long8_sat_rtz(half8);
5929 long16 __ovld __cnfn convert_long16(half16);
5930 long16 __ovld __cnfn convert_long16_rte(half16);
5931 long16 __ovld __cnfn convert_long16_rtp(half16);
5932 long16 __ovld __cnfn convert_long16_rtn(half16);
5933 long16 __ovld __cnfn convert_long16_rtz(half16);
5934 long16 __ovld __cnfn convert_long16_sat(half16);
5935 long16 __ovld __cnfn convert_long16_sat_rte(half16);
5936 long16 __ovld __cnfn convert_long16_sat_rtp(half16);
5937 long16 __ovld __cnfn convert_long16_sat_rtn(half16);
5938 long16 __ovld __cnfn convert_long16_sat_rtz(half16);
5939 float __ovld __cnfn convert_float(half);
5940 float __ovld __cnfn convert_float_rte(half);
5941 float __ovld __cnfn convert_float_rtp(half);
5942 float __ovld __cnfn convert_float_rtn(half);
5943 float __ovld __cnfn convert_float_rtz(half);
5944 float2 __ovld __cnfn convert_float2(half2);
5945 float2 __ovld __cnfn convert_float2_rte(half2);
5946 float2 __ovld __cnfn convert_float2_rtp(half2);
5947 float2 __ovld __cnfn convert_float2_rtn(half2);
5948 float2 __ovld __cnfn convert_float2_rtz(half2);
5949 float3 __ovld __cnfn convert_float3(half3);
5950 float3 __ovld __cnfn convert_float3_rte(half3);
5951 float3 __ovld __cnfn convert_float3_rtp(half3);
5952 float3 __ovld __cnfn convert_float3_rtn(half3);
5953 float3 __ovld __cnfn convert_float3_rtz(half3);
5954 float4 __ovld __cnfn convert_float4(half4);
5955 float4 __ovld __cnfn convert_float4_rte(half4);
5956 float4 __ovld __cnfn convert_float4_rtp(half4);
5957 float4 __ovld __cnfn convert_float4_rtn(half4);
5958 float4 __ovld __cnfn convert_float4_rtz(half4);
5959 float8 __ovld __cnfn convert_float8(half8);
5960 float8 __ovld __cnfn convert_float8_rte(half8);
5961 float8 __ovld __cnfn convert_float8_rtp(half8);
5962 float8 __ovld __cnfn convert_float8_rtn(half8);
5963 float8 __ovld __cnfn convert_float8_rtz(half8);
5964 float16 __ovld __cnfn convert_float16(half16);
5965 float16 __ovld __cnfn convert_float16_rte(half16);
5966 float16 __ovld __cnfn convert_float16_rtp(half16);
5967 float16 __ovld __cnfn convert_float16_rtn(half16);
5968 float16 __ovld __cnfn convert_float16_rtz(half16);
5969 
5970 // Convert non-double types to half types.
5971 half __ovld __cnfn convert_half(uchar);
5972 half __ovld __cnfn convert_half(ushort);
5973 half __ovld __cnfn convert_half(uint);
5974 half __ovld __cnfn convert_half(ulong);
5975 half __ovld __cnfn convert_half(char);
5976 half __ovld __cnfn convert_half(short);
5977 half __ovld __cnfn convert_half(int);
5978 half __ovld __cnfn convert_half(long);
5979 half __ovld __cnfn convert_half(float);
5980 half __ovld __cnfn convert_half(half);
5981 half __ovld __cnfn convert_half_rte(uchar);
5982 half __ovld __cnfn convert_half_rte(ushort);
5983 half __ovld __cnfn convert_half_rte(uint);
5984 half __ovld __cnfn convert_half_rte(ulong);
5985 half __ovld __cnfn convert_half_rte(char);
5986 half __ovld __cnfn convert_half_rte(short);
5987 half __ovld __cnfn convert_half_rte(int);
5988 half __ovld __cnfn convert_half_rte(long);
5989 half __ovld __cnfn convert_half_rte(float);
5990 half __ovld __cnfn convert_half_rte(half);
5991 half __ovld __cnfn convert_half_rtp(uchar);
5992 half __ovld __cnfn convert_half_rtp(ushort);
5993 half __ovld __cnfn convert_half_rtp(uint);
5994 half __ovld __cnfn convert_half_rtp(ulong);
5995 half __ovld __cnfn convert_half_rtp(char);
5996 half __ovld __cnfn convert_half_rtp(short);
5997 half __ovld __cnfn convert_half_rtp(int);
5998 half __ovld __cnfn convert_half_rtp(long);
5999 half __ovld __cnfn convert_half_rtp(float);
6000 half __ovld __cnfn convert_half_rtp(half);
6001 half __ovld __cnfn convert_half_rtn(uchar);
6002 half __ovld __cnfn convert_half_rtn(ushort);
6003 half __ovld __cnfn convert_half_rtn(uint);
6004 half __ovld __cnfn convert_half_rtn(ulong);
6005 half __ovld __cnfn convert_half_rtn(char);
6006 half __ovld __cnfn convert_half_rtn(short);
6007 half __ovld __cnfn convert_half_rtn(int);
6008 half __ovld __cnfn convert_half_rtn(long);
6009 half __ovld __cnfn convert_half_rtn(float);
6010 half __ovld __cnfn convert_half_rtn(half);
6011 half __ovld __cnfn convert_half_rtz(uchar);
6012 half __ovld __cnfn convert_half_rtz(ushort);
6013 half __ovld __cnfn convert_half_rtz(uint);
6014 half __ovld __cnfn convert_half_rtz(ulong);
6015 half __ovld __cnfn convert_half_rtz(char);
6016 half __ovld __cnfn convert_half_rtz(short);
6017 half __ovld __cnfn convert_half_rtz(int);
6018 half __ovld __cnfn convert_half_rtz(long);
6019 half __ovld __cnfn convert_half_rtz(float);
6020 half __ovld __cnfn convert_half_rtz(half);
6021 half2 __ovld __cnfn convert_half2(char2);
6022 half2 __ovld __cnfn convert_half2(uchar2);
6023 half2 __ovld __cnfn convert_half2(short2);
6024 half2 __ovld __cnfn convert_half2(ushort2);
6025 half2 __ovld __cnfn convert_half2(int2);
6026 half2 __ovld __cnfn convert_half2(uint2);
6027 half2 __ovld __cnfn convert_half2(long2);
6028 half2 __ovld __cnfn convert_half2(ulong2);
6029 half2 __ovld __cnfn convert_half2(float2);
6030 half2 __ovld __cnfn convert_half2(half2);
6031 half2 __ovld __cnfn convert_half2_rte(char2);
6032 half2 __ovld __cnfn convert_half2_rte(uchar2);
6033 half2 __ovld __cnfn convert_half2_rte(short2);
6034 half2 __ovld __cnfn convert_half2_rte(ushort2);
6035 half2 __ovld __cnfn convert_half2_rte(int2);
6036 half2 __ovld __cnfn convert_half2_rte(uint2);
6037 half2 __ovld __cnfn convert_half2_rte(long2);
6038 half2 __ovld __cnfn convert_half2_rte(ulong2);
6039 half2 __ovld __cnfn convert_half2_rte(float2);
6040 half2 __ovld __cnfn convert_half2_rte(half2);
6041 half2 __ovld __cnfn convert_half2_rtp(char2);
6042 half2 __ovld __cnfn convert_half2_rtp(uchar2);
6043 half2 __ovld __cnfn convert_half2_rtp(short2);
6044 half2 __ovld __cnfn convert_half2_rtp(ushort2);
6045 half2 __ovld __cnfn convert_half2_rtp(int2);
6046 half2 __ovld __cnfn convert_half2_rtp(uint2);
6047 half2 __ovld __cnfn convert_half2_rtp(long2);
6048 half2 __ovld __cnfn convert_half2_rtp(ulong2);
6049 half2 __ovld __cnfn convert_half2_rtp(float2);
6050 half2 __ovld __cnfn convert_half2_rtp(half2);
6051 half2 __ovld __cnfn convert_half2_rtn(char2);
6052 half2 __ovld __cnfn convert_half2_rtn(uchar2);
6053 half2 __ovld __cnfn convert_half2_rtn(short2);
6054 half2 __ovld __cnfn convert_half2_rtn(ushort2);
6055 half2 __ovld __cnfn convert_half2_rtn(int2);
6056 half2 __ovld __cnfn convert_half2_rtn(uint2);
6057 half2 __ovld __cnfn convert_half2_rtn(long2);
6058 half2 __ovld __cnfn convert_half2_rtn(ulong2);
6059 half2 __ovld __cnfn convert_half2_rtn(float2);
6060 half2 __ovld __cnfn convert_half2_rtn(half2);
6061 half2 __ovld __cnfn convert_half2_rtz(char2);
6062 half2 __ovld __cnfn convert_half2_rtz(uchar2);
6063 half2 __ovld __cnfn convert_half2_rtz(short2);
6064 half2 __ovld __cnfn convert_half2_rtz(ushort2);
6065 half2 __ovld __cnfn convert_half2_rtz(int2);
6066 half2 __ovld __cnfn convert_half2_rtz(uint2);
6067 half2 __ovld __cnfn convert_half2_rtz(long2);
6068 half2 __ovld __cnfn convert_half2_rtz(ulong2);
6069 half2 __ovld __cnfn convert_half2_rtz(float2);
6070 half2 __ovld __cnfn convert_half2_rtz(half2);
6071 half3 __ovld __cnfn convert_half3(char3);
6072 half3 __ovld __cnfn convert_half3(uchar3);
6073 half3 __ovld __cnfn convert_half3(short3);
6074 half3 __ovld __cnfn convert_half3(ushort3);
6075 half3 __ovld __cnfn convert_half3(int3);
6076 half3 __ovld __cnfn convert_half3(uint3);
6077 half3 __ovld __cnfn convert_half3(long3);
6078 half3 __ovld __cnfn convert_half3(ulong3);
6079 half3 __ovld __cnfn convert_half3(float3);
6080 half3 __ovld __cnfn convert_half3(half3);
6081 half3 __ovld __cnfn convert_half3_rte(char3);
6082 half3 __ovld __cnfn convert_half3_rte(uchar3);
6083 half3 __ovld __cnfn convert_half3_rte(short3);
6084 half3 __ovld __cnfn convert_half3_rte(ushort3);
6085 half3 __ovld __cnfn convert_half3_rte(int3);
6086 half3 __ovld __cnfn convert_half3_rte(uint3);
6087 half3 __ovld __cnfn convert_half3_rte(long3);
6088 half3 __ovld __cnfn convert_half3_rte(ulong3);
6089 half3 __ovld __cnfn convert_half3_rte(float3);
6090 half3 __ovld __cnfn convert_half3_rte(half3);
6091 half3 __ovld __cnfn convert_half3_rtp(char3);
6092 half3 __ovld __cnfn convert_half3_rtp(uchar3);
6093 half3 __ovld __cnfn convert_half3_rtp(short3);
6094 half3 __ovld __cnfn convert_half3_rtp(ushort3);
6095 half3 __ovld __cnfn convert_half3_rtp(int3);
6096 half3 __ovld __cnfn convert_half3_rtp(uint3);
6097 half3 __ovld __cnfn convert_half3_rtp(long3);
6098 half3 __ovld __cnfn convert_half3_rtp(ulong3);
6099 half3 __ovld __cnfn convert_half3_rtp(float3);
6100 half3 __ovld __cnfn convert_half3_rtp(half3);
6101 half3 __ovld __cnfn convert_half3_rtn(char3);
6102 half3 __ovld __cnfn convert_half3_rtn(uchar3);
6103 half3 __ovld __cnfn convert_half3_rtn(short3);
6104 half3 __ovld __cnfn convert_half3_rtn(ushort3);
6105 half3 __ovld __cnfn convert_half3_rtn(int3);
6106 half3 __ovld __cnfn convert_half3_rtn(uint3);
6107 half3 __ovld __cnfn convert_half3_rtn(long3);
6108 half3 __ovld __cnfn convert_half3_rtn(ulong3);
6109 half3 __ovld __cnfn convert_half3_rtn(float3);
6110 half3 __ovld __cnfn convert_half3_rtn(half3);
6111 half3 __ovld __cnfn convert_half3_rtz(char3);
6112 half3 __ovld __cnfn convert_half3_rtz(uchar3);
6113 half3 __ovld __cnfn convert_half3_rtz(short3);
6114 half3 __ovld __cnfn convert_half3_rtz(ushort3);
6115 half3 __ovld __cnfn convert_half3_rtz(int3);
6116 half3 __ovld __cnfn convert_half3_rtz(uint3);
6117 half3 __ovld __cnfn convert_half3_rtz(long3);
6118 half3 __ovld __cnfn convert_half3_rtz(ulong3);
6119 half3 __ovld __cnfn convert_half3_rtz(float3);
6120 half3 __ovld __cnfn convert_half3_rtz(half3);
6121 half4 __ovld __cnfn convert_half4(char4);
6122 half4 __ovld __cnfn convert_half4(uchar4);
6123 half4 __ovld __cnfn convert_half4(short4);
6124 half4 __ovld __cnfn convert_half4(ushort4);
6125 half4 __ovld __cnfn convert_half4(int4);
6126 half4 __ovld __cnfn convert_half4(uint4);
6127 half4 __ovld __cnfn convert_half4(long4);
6128 half4 __ovld __cnfn convert_half4(ulong4);
6129 half4 __ovld __cnfn convert_half4(float4);
6130 half4 __ovld __cnfn convert_half4(half4);
6131 half4 __ovld __cnfn convert_half4_rte(char4);
6132 half4 __ovld __cnfn convert_half4_rte(uchar4);
6133 half4 __ovld __cnfn convert_half4_rte(short4);
6134 half4 __ovld __cnfn convert_half4_rte(ushort4);
6135 half4 __ovld __cnfn convert_half4_rte(int4);
6136 half4 __ovld __cnfn convert_half4_rte(uint4);
6137 half4 __ovld __cnfn convert_half4_rte(long4);
6138 half4 __ovld __cnfn convert_half4_rte(ulong4);
6139 half4 __ovld __cnfn convert_half4_rte(float4);
6140 half4 __ovld __cnfn convert_half4_rte(half4);
6141 half4 __ovld __cnfn convert_half4_rtp(char4);
6142 half4 __ovld __cnfn convert_half4_rtp(uchar4);
6143 half4 __ovld __cnfn convert_half4_rtp(short4);
6144 half4 __ovld __cnfn convert_half4_rtp(ushort4);
6145 half4 __ovld __cnfn convert_half4_rtp(int4);
6146 half4 __ovld __cnfn convert_half4_rtp(uint4);
6147 half4 __ovld __cnfn convert_half4_rtp(long4);
6148 half4 __ovld __cnfn convert_half4_rtp(ulong4);
6149 half4 __ovld __cnfn convert_half4_rtp(float4);
6150 half4 __ovld __cnfn convert_half4_rtp(half4);
6151 half4 __ovld __cnfn convert_half4_rtn(char4);
6152 half4 __ovld __cnfn convert_half4_rtn(uchar4);
6153 half4 __ovld __cnfn convert_half4_rtn(short4);
6154 half4 __ovld __cnfn convert_half4_rtn(ushort4);
6155 half4 __ovld __cnfn convert_half4_rtn(int4);
6156 half4 __ovld __cnfn convert_half4_rtn(uint4);
6157 half4 __ovld __cnfn convert_half4_rtn(long4);
6158 half4 __ovld __cnfn convert_half4_rtn(ulong4);
6159 half4 __ovld __cnfn convert_half4_rtn(float4);
6160 half4 __ovld __cnfn convert_half4_rtn(half4);
6161 half4 __ovld __cnfn convert_half4_rtz(char4);
6162 half4 __ovld __cnfn convert_half4_rtz(uchar4);
6163 half4 __ovld __cnfn convert_half4_rtz(short4);
6164 half4 __ovld __cnfn convert_half4_rtz(ushort4);
6165 half4 __ovld __cnfn convert_half4_rtz(int4);
6166 half4 __ovld __cnfn convert_half4_rtz(uint4);
6167 half4 __ovld __cnfn convert_half4_rtz(long4);
6168 half4 __ovld __cnfn convert_half4_rtz(ulong4);
6169 half4 __ovld __cnfn convert_half4_rtz(float4);
6170 half4 __ovld __cnfn convert_half4_rtz(half4);
6171 half8 __ovld __cnfn convert_half8(char8);
6172 half8 __ovld __cnfn convert_half8(uchar8);
6173 half8 __ovld __cnfn convert_half8(short8);
6174 half8 __ovld __cnfn convert_half8(ushort8);
6175 half8 __ovld __cnfn convert_half8(int8);
6176 half8 __ovld __cnfn convert_half8(uint8);
6177 half8 __ovld __cnfn convert_half8(long8);
6178 half8 __ovld __cnfn convert_half8(ulong8);
6179 half8 __ovld __cnfn convert_half8(float8);
6180 half8 __ovld __cnfn convert_half8(half8);
6181 half8 __ovld __cnfn convert_half8_rte(char8);
6182 half8 __ovld __cnfn convert_half8_rte(uchar8);
6183 half8 __ovld __cnfn convert_half8_rte(short8);
6184 half8 __ovld __cnfn convert_half8_rte(ushort8);
6185 half8 __ovld __cnfn convert_half8_rte(int8);
6186 half8 __ovld __cnfn convert_half8_rte(uint8);
6187 half8 __ovld __cnfn convert_half8_rte(long8);
6188 half8 __ovld __cnfn convert_half8_rte(ulong8);
6189 half8 __ovld __cnfn convert_half8_rte(float8);
6190 half8 __ovld __cnfn convert_half8_rte(half8);
6191 half8 __ovld __cnfn convert_half8_rtp(char8);
6192 half8 __ovld __cnfn convert_half8_rtp(uchar8);
6193 half8 __ovld __cnfn convert_half8_rtp(short8);
6194 half8 __ovld __cnfn convert_half8_rtp(ushort8);
6195 half8 __ovld __cnfn convert_half8_rtp(int8);
6196 half8 __ovld __cnfn convert_half8_rtp(uint8);
6197 half8 __ovld __cnfn convert_half8_rtp(long8);
6198 half8 __ovld __cnfn convert_half8_rtp(ulong8);
6199 half8 __ovld __cnfn convert_half8_rtp(float8);
6200 half8 __ovld __cnfn convert_half8_rtp(half8);
6201 half8 __ovld __cnfn convert_half8_rtn(char8);
6202 half8 __ovld __cnfn convert_half8_rtn(uchar8);
6203 half8 __ovld __cnfn convert_half8_rtn(short8);
6204 half8 __ovld __cnfn convert_half8_rtn(ushort8);
6205 half8 __ovld __cnfn convert_half8_rtn(int8);
6206 half8 __ovld __cnfn convert_half8_rtn(uint8);
6207 half8 __ovld __cnfn convert_half8_rtn(long8);
6208 half8 __ovld __cnfn convert_half8_rtn(ulong8);
6209 half8 __ovld __cnfn convert_half8_rtn(float8);
6210 half8 __ovld __cnfn convert_half8_rtn(half8);
6211 half8 __ovld __cnfn convert_half8_rtz(char8);
6212 half8 __ovld __cnfn convert_half8_rtz(uchar8);
6213 half8 __ovld __cnfn convert_half8_rtz(short8);
6214 half8 __ovld __cnfn convert_half8_rtz(ushort8);
6215 half8 __ovld __cnfn convert_half8_rtz(int8);
6216 half8 __ovld __cnfn convert_half8_rtz(uint8);
6217 half8 __ovld __cnfn convert_half8_rtz(long8);
6218 half8 __ovld __cnfn convert_half8_rtz(ulong8);
6219 half8 __ovld __cnfn convert_half8_rtz(float8);
6220 half8 __ovld __cnfn convert_half8_rtz(half8);
6221 half16 __ovld __cnfn convert_half16(char16);
6222 half16 __ovld __cnfn convert_half16(uchar16);
6223 half16 __ovld __cnfn convert_half16(short16);
6224 half16 __ovld __cnfn convert_half16(ushort16);
6225 half16 __ovld __cnfn convert_half16(int16);
6226 half16 __ovld __cnfn convert_half16(uint16);
6227 half16 __ovld __cnfn convert_half16(long16);
6228 half16 __ovld __cnfn convert_half16(ulong16);
6229 half16 __ovld __cnfn convert_half16(float16);
6230 half16 __ovld __cnfn convert_half16(half16);
6231 half16 __ovld __cnfn convert_half16_rte(char16);
6232 half16 __ovld __cnfn convert_half16_rte(uchar16);
6233 half16 __ovld __cnfn convert_half16_rte(short16);
6234 half16 __ovld __cnfn convert_half16_rte(ushort16);
6235 half16 __ovld __cnfn convert_half16_rte(int16);
6236 half16 __ovld __cnfn convert_half16_rte(uint16);
6237 half16 __ovld __cnfn convert_half16_rte(long16);
6238 half16 __ovld __cnfn convert_half16_rte(ulong16);
6239 half16 __ovld __cnfn convert_half16_rte(float16);
6240 half16 __ovld __cnfn convert_half16_rte(half16);
6241 half16 __ovld __cnfn convert_half16_rtp(char16);
6242 half16 __ovld __cnfn convert_half16_rtp(uchar16);
6243 half16 __ovld __cnfn convert_half16_rtp(short16);
6244 half16 __ovld __cnfn convert_half16_rtp(ushort16);
6245 half16 __ovld __cnfn convert_half16_rtp(int16);
6246 half16 __ovld __cnfn convert_half16_rtp(uint16);
6247 half16 __ovld __cnfn convert_half16_rtp(long16);
6248 half16 __ovld __cnfn convert_half16_rtp(ulong16);
6249 half16 __ovld __cnfn convert_half16_rtp(float16);
6250 half16 __ovld __cnfn convert_half16_rtp(half16);
6251 half16 __ovld __cnfn convert_half16_rtn(char16);
6252 half16 __ovld __cnfn convert_half16_rtn(uchar16);
6253 half16 __ovld __cnfn convert_half16_rtn(short16);
6254 half16 __ovld __cnfn convert_half16_rtn(ushort16);
6255 half16 __ovld __cnfn convert_half16_rtn(int16);
6256 half16 __ovld __cnfn convert_half16_rtn(uint16);
6257 half16 __ovld __cnfn convert_half16_rtn(long16);
6258 half16 __ovld __cnfn convert_half16_rtn(ulong16);
6259 half16 __ovld __cnfn convert_half16_rtn(float16);
6260 half16 __ovld __cnfn convert_half16_rtn(half16);
6261 half16 __ovld __cnfn convert_half16_rtz(char16);
6262 half16 __ovld __cnfn convert_half16_rtz(uchar16);
6263 half16 __ovld __cnfn convert_half16_rtz(short16);
6264 half16 __ovld __cnfn convert_half16_rtz(ushort16);
6265 half16 __ovld __cnfn convert_half16_rtz(int16);
6266 half16 __ovld __cnfn convert_half16_rtz(uint16);
6267 half16 __ovld __cnfn convert_half16_rtz(long16);
6268 half16 __ovld __cnfn convert_half16_rtz(ulong16);
6269 half16 __ovld __cnfn convert_half16_rtz(float16);
6270 half16 __ovld __cnfn convert_half16_rtz(half16);
6271 
6272 // Convert half types to double types.
6273 #ifdef cl_khr_fp64
6274 double __ovld __cnfn convert_double(half);
6275 double __ovld __cnfn convert_double_rte(half);
6276 double __ovld __cnfn convert_double_rtp(half);
6277 double __ovld __cnfn convert_double_rtn(half);
6278 double __ovld __cnfn convert_double_rtz(half);
6279 double2 __ovld __cnfn convert_double2(half2);
6280 double2 __ovld __cnfn convert_double2_rte(half2);
6281 double2 __ovld __cnfn convert_double2_rtp(half2);
6282 double2 __ovld __cnfn convert_double2_rtn(half2);
6283 double2 __ovld __cnfn convert_double2_rtz(half2);
6284 double3 __ovld __cnfn convert_double3(half3);
6285 double3 __ovld __cnfn convert_double3_rte(half3);
6286 double3 __ovld __cnfn convert_double3_rtp(half3);
6287 double3 __ovld __cnfn convert_double3_rtn(half3);
6288 double3 __ovld __cnfn convert_double3_rtz(half3);
6289 double4 __ovld __cnfn convert_double4(half4);
6290 double4 __ovld __cnfn convert_double4_rte(half4);
6291 double4 __ovld __cnfn convert_double4_rtp(half4);
6292 double4 __ovld __cnfn convert_double4_rtn(half4);
6293 double4 __ovld __cnfn convert_double4_rtz(half4);
6294 double8 __ovld __cnfn convert_double8(half8);
6295 double8 __ovld __cnfn convert_double8_rte(half8);
6296 double8 __ovld __cnfn convert_double8_rtp(half8);
6297 double8 __ovld __cnfn convert_double8_rtn(half8);
6298 double8 __ovld __cnfn convert_double8_rtz(half8);
6299 double16 __ovld __cnfn convert_double16(half16);
6300 double16 __ovld __cnfn convert_double16_rte(half16);
6301 double16 __ovld __cnfn convert_double16_rtp(half16);
6302 double16 __ovld __cnfn convert_double16_rtn(half16);
6303 double16 __ovld __cnfn convert_double16_rtz(half16);
6304 
6305 // Convert double types to half types.
6306 half __ovld __cnfn convert_half(double);
6307 half __ovld __cnfn convert_half_rte(double);
6308 half __ovld __cnfn convert_half_rtp(double);
6309 half __ovld __cnfn convert_half_rtn(double);
6310 half __ovld __cnfn convert_half_rtz(double);
6311 half2 __ovld __cnfn convert_half2(double2);
6312 half2 __ovld __cnfn convert_half2_rte(double2);
6313 half2 __ovld __cnfn convert_half2_rtp(double2);
6314 half2 __ovld __cnfn convert_half2_rtn(double2);
6315 half2 __ovld __cnfn convert_half2_rtz(double2);
6316 half3 __ovld __cnfn convert_half3(double3);
6317 half3 __ovld __cnfn convert_half3_rte(double3);
6318 half3 __ovld __cnfn convert_half3_rtp(double3);
6319 half3 __ovld __cnfn convert_half3_rtn(double3);
6320 half3 __ovld __cnfn convert_half3_rtz(double3);
6321 half4 __ovld __cnfn convert_half4(double4);
6322 half4 __ovld __cnfn convert_half4_rte(double4);
6323 half4 __ovld __cnfn convert_half4_rtp(double4);
6324 half4 __ovld __cnfn convert_half4_rtn(double4);
6325 half4 __ovld __cnfn convert_half4_rtz(double4);
6326 half8 __ovld __cnfn convert_half8(double8);
6327 half8 __ovld __cnfn convert_half8_rte(double8);
6328 half8 __ovld __cnfn convert_half8_rtp(double8);
6329 half8 __ovld __cnfn convert_half8_rtn(double8);
6330 half8 __ovld __cnfn convert_half8_rtz(double8);
6331 half16 __ovld __cnfn convert_half16(double16);
6332 half16 __ovld __cnfn convert_half16_rte(double16);
6333 half16 __ovld __cnfn convert_half16_rtp(double16);
6334 half16 __ovld __cnfn convert_half16_rtn(double16);
6335 half16 __ovld __cnfn convert_half16_rtz(double16);
6336 #endif //cl_khr_fp64
6337 
6338 #endif // cl_khr_fp16
6339 
6344 #define as_char(x) __builtin_astype((x), char)
6345 #define as_char2(x) __builtin_astype((x), char2)
6346 #define as_char3(x) __builtin_astype((x), char3)
6347 #define as_char4(x) __builtin_astype((x), char4)
6348 #define as_char8(x) __builtin_astype((x), char8)
6349 #define as_char16(x) __builtin_astype((x), char16)
6350 
6351 #define as_uchar(x) __builtin_astype((x), uchar)
6352 #define as_uchar2(x) __builtin_astype((x), uchar2)
6353 #define as_uchar3(x) __builtin_astype((x), uchar3)
6354 #define as_uchar4(x) __builtin_astype((x), uchar4)
6355 #define as_uchar8(x) __builtin_astype((x), uchar8)
6356 #define as_uchar16(x) __builtin_astype((x), uchar16)
6357 
6358 #define as_short(x) __builtin_astype((x), short)
6359 #define as_short2(x) __builtin_astype((x), short2)
6360 #define as_short3(x) __builtin_astype((x), short3)
6361 #define as_short4(x) __builtin_astype((x), short4)
6362 #define as_short8(x) __builtin_astype((x), short8)
6363 #define as_short16(x) __builtin_astype((x), short16)
6364 
6365 #define as_ushort(x) __builtin_astype((x), ushort)
6366 #define as_ushort2(x) __builtin_astype((x), ushort2)
6367 #define as_ushort3(x) __builtin_astype((x), ushort3)
6368 #define as_ushort4(x) __builtin_astype((x), ushort4)
6369 #define as_ushort8(x) __builtin_astype((x), ushort8)
6370 #define as_ushort16(x) __builtin_astype((x), ushort16)
6371 
6372 #define as_int(x) __builtin_astype((x), int)
6373 #define as_int2(x) __builtin_astype((x), int2)
6374 #define as_int3(x) __builtin_astype((x), int3)
6375 #define as_int4(x) __builtin_astype((x), int4)
6376 #define as_int8(x) __builtin_astype((x), int8)
6377 #define as_int16(x) __builtin_astype((x), int16)
6378 
6379 #define as_uint(x) __builtin_astype((x), uint)
6380 #define as_uint2(x) __builtin_astype((x), uint2)
6381 #define as_uint3(x) __builtin_astype((x), uint3)
6382 #define as_uint4(x) __builtin_astype((x), uint4)
6383 #define as_uint8(x) __builtin_astype((x), uint8)
6384 #define as_uint16(x) __builtin_astype((x), uint16)
6385 
6386 #define as_long(x) __builtin_astype((x), long)
6387 #define as_long2(x) __builtin_astype((x), long2)
6388 #define as_long3(x) __builtin_astype((x), long3)
6389 #define as_long4(x) __builtin_astype((x), long4)
6390 #define as_long8(x) __builtin_astype((x), long8)
6391 #define as_long16(x) __builtin_astype((x), long16)
6392 
6393 #define as_ulong(x) __builtin_astype((x), ulong)
6394 #define as_ulong2(x) __builtin_astype((x), ulong2)
6395 #define as_ulong3(x) __builtin_astype((x), ulong3)
6396 #define as_ulong4(x) __builtin_astype((x), ulong4)
6397 #define as_ulong8(x) __builtin_astype((x), ulong8)
6398 #define as_ulong16(x) __builtin_astype((x), ulong16)
6399 
6400 #define as_float(x) __builtin_astype((x), float)
6401 #define as_float2(x) __builtin_astype((x), float2)
6402 #define as_float3(x) __builtin_astype((x), float3)
6403 #define as_float4(x) __builtin_astype((x), float4)
6404 #define as_float8(x) __builtin_astype((x), float8)
6405 #define as_float16(x) __builtin_astype((x), float16)
6406 
6407 #ifdef cl_khr_fp64
6408 #define as_double(x) __builtin_astype((x), double)
6409 #define as_double2(x) __builtin_astype((x), double2)
6410 #define as_double3(x) __builtin_astype((x), double3)
6411 #define as_double4(x) __builtin_astype((x), double4)
6412 #define as_double8(x) __builtin_astype((x), double8)
6413 #define as_double16(x) __builtin_astype((x), double16)
6414 #endif //cl_khr_fp64
6415 
6416 #ifdef cl_khr_fp16
6417 #define as_half(x) __builtin_astype((x), half)
6418 #define as_half2(x) __builtin_astype((x), half2)
6419 #define as_half3(x) __builtin_astype((x), half3)
6420 #define as_half4(x) __builtin_astype((x), half4)
6421 #define as_half8(x) __builtin_astype((x), half8)
6422 #define as_half16(x) __builtin_astype((x), half16)
6423 #endif //cl_khr_fp16
6424 
6425 // OpenCL v1.1 s6.9, v1.2/2.0 s6.10 - Function qualifiers
6426 
6427 #define __kernel_exec(X, typen) __kernel \
6428  __attribute__((work_group_size_hint(X, 1, 1))) \
6429  __attribute__((vec_type_hint(typen)))
6430 
6431 #define kernel_exec(X, typen) __kernel \
6432  __attribute__((work_group_size_hint(X, 1, 1))) \
6433  __attribute__((vec_type_hint(typen)))
6434 
6435 // OpenCL v1.1 s6.11.1, v1.2 s6.12.1, v2.0 s6.13.1 - Work-item Functions
6436 
6444 
6455 
6466 
6480 
6489 size_t __ovld __cnfn get_local_id(uint dimindx);
6490 
6500 
6508 size_t __ovld __cnfn get_group_id(uint dimindx);
6509 
6519 
6520 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
6524 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
6525 
6526 // OpenCL v1.1 s6.11.2, v1.2 s6.12.2, v2.0 s6.13.2 - Math functions
6527 
6531 float __ovld __cnfn acos(float);
6532 float2 __ovld __cnfn acos(float2);
6533 float3 __ovld __cnfn acos(float3);
6534 float4 __ovld __cnfn acos(float4);
6535 float8 __ovld __cnfn acos(float8);
6536 float16 __ovld __cnfn acos(float16);
6537 #ifdef cl_khr_fp64
6538 double __ovld __cnfn acos(double);
6539 double2 __ovld __cnfn acos(double2);
6540 double3 __ovld __cnfn acos(double3);
6541 double4 __ovld __cnfn acos(double4);
6542 double8 __ovld __cnfn acos(double8);
6543 double16 __ovld __cnfn acos(double16);
6544 #endif //cl_khr_fp64
6545 #ifdef cl_khr_fp16
6546 half __ovld __cnfn acos(half);
6547 half2 __ovld __cnfn acos(half2);
6548 half3 __ovld __cnfn acos(half3);
6549 half4 __ovld __cnfn acos(half4);
6550 half8 __ovld __cnfn acos(half8);
6551 half16 __ovld __cnfn acos(half16);
6552 #endif //cl_khr_fp16
6553 
6557 float __ovld __cnfn acosh(float);
6558 float2 __ovld __cnfn acosh(float2);
6559 float3 __ovld __cnfn acosh(float3);
6560 float4 __ovld __cnfn acosh(float4);
6561 float8 __ovld __cnfn acosh(float8);
6562 float16 __ovld __cnfn acosh(float16);
6563 #ifdef cl_khr_fp64
6564 double __ovld __cnfn acosh(double);
6565 double2 __ovld __cnfn acosh(double2);
6566 double3 __ovld __cnfn acosh(double3);
6567 double4 __ovld __cnfn acosh(double4);
6568 double8 __ovld __cnfn acosh(double8);
6569 double16 __ovld __cnfn acosh(double16);
6570 #endif //cl_khr_fp64
6571 #ifdef cl_khr_fp16
6572 half __ovld __cnfn acosh(half);
6573 half2 __ovld __cnfn acosh(half2);
6574 half3 __ovld __cnfn acosh(half3);
6575 half4 __ovld __cnfn acosh(half4);
6576 half8 __ovld __cnfn acosh(half8);
6577 half16 __ovld __cnfn acosh(half16);
6578 #endif //cl_khr_fp16
6579 
6583 float __ovld __cnfn acospi(float x);
6584 float2 __ovld __cnfn acospi(float2 x);
6585 float3 __ovld __cnfn acospi(float3 x);
6586 float4 __ovld __cnfn acospi(float4 x);
6587 float8 __ovld __cnfn acospi(float8 x);
6588 float16 __ovld __cnfn acospi(float16 x);
6589 #ifdef cl_khr_fp64
6590 double __ovld __cnfn acospi(double x);
6591 double2 __ovld __cnfn acospi(double2 x);
6592 double3 __ovld __cnfn acospi(double3 x);
6593 double4 __ovld __cnfn acospi(double4 x);
6594 double8 __ovld __cnfn acospi(double8 x);
6595 double16 __ovld __cnfn acospi(double16 x);
6596 #endif //cl_khr_fp64
6597 #ifdef cl_khr_fp16
6598 half __ovld __cnfn acospi(half x);
6599 half2 __ovld __cnfn acospi(half2 x);
6600 half3 __ovld __cnfn acospi(half3 x);
6601 half4 __ovld __cnfn acospi(half4 x);
6602 half8 __ovld __cnfn acospi(half8 x);
6603 half16 __ovld __cnfn acospi(half16 x);
6604 #endif //cl_khr_fp16
6605 
6609 float __ovld __cnfn asin(float);
6610 float2 __ovld __cnfn asin(float2);
6611 float3 __ovld __cnfn asin(float3);
6612 float4 __ovld __cnfn asin(float4);
6613 float8 __ovld __cnfn asin(float8);
6614 float16 __ovld __cnfn asin(float16);
6615 #ifdef cl_khr_fp64
6616 double __ovld __cnfn asin(double);
6617 double2 __ovld __cnfn asin(double2);
6618 double3 __ovld __cnfn asin(double3);
6619 double4 __ovld __cnfn asin(double4);
6620 double8 __ovld __cnfn asin(double8);
6621 double16 __ovld __cnfn asin(double16);
6622 #endif //cl_khr_fp64
6623 #ifdef cl_khr_fp16
6624 half __ovld __cnfn asin(half);
6625 half2 __ovld __cnfn asin(half2);
6626 half3 __ovld __cnfn asin(half3);
6627 half4 __ovld __cnfn asin(half4);
6628 half8 __ovld __cnfn asin(half8);
6629 half16 __ovld __cnfn asin(half16);
6630 #endif //cl_khr_fp16
6631 
6635 float __ovld __cnfn asinh(float);
6636 float2 __ovld __cnfn asinh(float2);
6637 float3 __ovld __cnfn asinh(float3);
6638 float4 __ovld __cnfn asinh(float4);
6639 float8 __ovld __cnfn asinh(float8);
6640 float16 __ovld __cnfn asinh(float16);
6641 #ifdef cl_khr_fp64
6642 double __ovld __cnfn asinh(double);
6643 double2 __ovld __cnfn asinh(double2);
6644 double3 __ovld __cnfn asinh(double3);
6645 double4 __ovld __cnfn asinh(double4);
6646 double8 __ovld __cnfn asinh(double8);
6647 double16 __ovld __cnfn asinh(double16);
6648 #endif //cl_khr_fp64
6649 #ifdef cl_khr_fp16
6650 half __ovld __cnfn asinh(half);
6651 half2 __ovld __cnfn asinh(half2);
6652 half3 __ovld __cnfn asinh(half3);
6653 half4 __ovld __cnfn asinh(half4);
6654 half8 __ovld __cnfn asinh(half8);
6655 half16 __ovld __cnfn asinh(half16);
6656 #endif //cl_khr_fp16
6657 
6661 float __ovld __cnfn asinpi(float x);
6662 float2 __ovld __cnfn asinpi(float2 x);
6663 float3 __ovld __cnfn asinpi(float3 x);
6664 float4 __ovld __cnfn asinpi(float4 x);
6665 float8 __ovld __cnfn asinpi(float8 x);
6666 float16 __ovld __cnfn asinpi(float16 x);
6667 #ifdef cl_khr_fp64
6668 double __ovld __cnfn asinpi(double x);
6669 double2 __ovld __cnfn asinpi(double2 x);
6670 double3 __ovld __cnfn asinpi(double3 x);
6671 double4 __ovld __cnfn asinpi(double4 x);
6672 double8 __ovld __cnfn asinpi(double8 x);
6673 double16 __ovld __cnfn asinpi(double16 x);
6674 #endif //cl_khr_fp64
6675 #ifdef cl_khr_fp16
6676 half __ovld __cnfn asinpi(half x);
6677 half2 __ovld __cnfn asinpi(half2 x);
6678 half3 __ovld __cnfn asinpi(half3 x);
6679 half4 __ovld __cnfn asinpi(half4 x);
6680 half8 __ovld __cnfn asinpi(half8 x);
6681 half16 __ovld __cnfn asinpi(half16 x);
6682 #endif //cl_khr_fp16
6683 
6687 float __ovld __cnfn atan(float y_over_x);
6688 float2 __ovld __cnfn atan(float2 y_over_x);
6689 float3 __ovld __cnfn atan(float3 y_over_x);
6690 float4 __ovld __cnfn atan(float4 y_over_x);
6691 float8 __ovld __cnfn atan(float8 y_over_x);
6692 float16 __ovld __cnfn atan(float16 y_over_x);
6693 #ifdef cl_khr_fp64
6694 double __ovld __cnfn atan(double y_over_x);
6695 double2 __ovld __cnfn atan(double2 y_over_x);
6696 double3 __ovld __cnfn atan(double3 y_over_x);
6697 double4 __ovld __cnfn atan(double4 y_over_x);
6698 double8 __ovld __cnfn atan(double8 y_over_x);
6699 double16 __ovld __cnfn atan(double16 y_over_x);
6700 #endif //cl_khr_fp64
6701 #ifdef cl_khr_fp16
6702 half __ovld __cnfn atan(half y_over_x);
6703 half2 __ovld __cnfn atan(half2 y_over_x);
6704 half3 __ovld __cnfn atan(half3 y_over_x);
6705 half4 __ovld __cnfn atan(half4 y_over_x);
6706 half8 __ovld __cnfn atan(half8 y_over_x);
6707 half16 __ovld __cnfn atan(half16 y_over_x);
6708 #endif //cl_khr_fp16
6709 
6713 float __ovld __cnfn atan2(float y, float x);
6714 float2 __ovld __cnfn atan2(float2 y, float2 x);
6715 float3 __ovld __cnfn atan2(float3 y, float3 x);
6716 float4 __ovld __cnfn atan2(float4 y, float4 x);
6717 float8 __ovld __cnfn atan2(float8 y, float8 x);
6718 float16 __ovld __cnfn atan2(float16 y, float16 x);
6719 #ifdef cl_khr_fp64
6720 double __ovld __cnfn atan2(double y, double x);
6721 double2 __ovld __cnfn atan2(double2 y, double2 x);
6722 double3 __ovld __cnfn atan2(double3 y, double3 x);
6723 double4 __ovld __cnfn atan2(double4 y, double4 x);
6724 double8 __ovld __cnfn atan2(double8 y, double8 x);
6725 double16 __ovld __cnfn atan2(double16 y, double16 x);
6726 #endif //cl_khr_fp64
6727 #ifdef cl_khr_fp16
6728 half __ovld __cnfn atan2(half y, half x);
6729 half2 __ovld __cnfn atan2(half2 y, half2 x);
6730 half3 __ovld __cnfn atan2(half3 y, half3 x);
6731 half4 __ovld __cnfn atan2(half4 y, half4 x);
6732 half8 __ovld __cnfn atan2(half8 y, half8 x);
6733 half16 __ovld __cnfn atan2(half16 y, half16 x);
6734 #endif //cl_khr_fp16
6735 
6739 float __ovld __cnfn atanh(float);
6740 float2 __ovld __cnfn atanh(float2);
6741 float3 __ovld __cnfn atanh(float3);
6742 float4 __ovld __cnfn atanh(float4);
6743 float8 __ovld __cnfn atanh(float8);
6744 float16 __ovld __cnfn atanh(float16);
6745 #ifdef cl_khr_fp64
6746 double __ovld __cnfn atanh(double);
6747 double2 __ovld __cnfn atanh(double2);
6748 double3 __ovld __cnfn atanh(double3);
6749 double4 __ovld __cnfn atanh(double4);
6750 double8 __ovld __cnfn atanh(double8);
6751 double16 __ovld __cnfn atanh(double16);
6752 #endif //cl_khr_fp64
6753 #ifdef cl_khr_fp16
6754 half __ovld __cnfn atanh(half);
6755 half2 __ovld __cnfn atanh(half2);
6756 half3 __ovld __cnfn atanh(half3);
6757 half4 __ovld __cnfn atanh(half4);
6758 half8 __ovld __cnfn atanh(half8);
6759 half16 __ovld __cnfn atanh(half16);
6760 #endif //cl_khr_fp16
6761 
6765 float __ovld __cnfn atanpi(float x);
6766 float2 __ovld __cnfn atanpi(float2 x);
6767 float3 __ovld __cnfn atanpi(float3 x);
6768 float4 __ovld __cnfn atanpi(float4 x);
6769 float8 __ovld __cnfn atanpi(float8 x);
6770 float16 __ovld __cnfn atanpi(float16 x);
6771 #ifdef cl_khr_fp64
6772 double __ovld __cnfn atanpi(double x);
6773 double2 __ovld __cnfn atanpi(double2 x);
6774 double3 __ovld __cnfn atanpi(double3 x);
6775 double4 __ovld __cnfn atanpi(double4 x);
6776 double8 __ovld __cnfn atanpi(double8 x);
6777 double16 __ovld __cnfn atanpi(double16 x);
6778 #endif //cl_khr_fp64
6779 #ifdef cl_khr_fp16
6780 half __ovld __cnfn atanpi(half x);
6781 half2 __ovld __cnfn atanpi(half2 x);
6782 half3 __ovld __cnfn atanpi(half3 x);
6783 half4 __ovld __cnfn atanpi(half4 x);
6784 half8 __ovld __cnfn atanpi(half8 x);
6785 half16 __ovld __cnfn atanpi(half16 x);
6786 #endif //cl_khr_fp16
6787 
6791 float __ovld __cnfn atan2pi(float y, float x);
6792 float2 __ovld __cnfn atan2pi(float2 y, float2 x);
6793 float3 __ovld __cnfn atan2pi(float3 y, float3 x);
6794 float4 __ovld __cnfn atan2pi(float4 y, float4 x);
6795 float8 __ovld __cnfn atan2pi(float8 y, float8 x);
6796 float16 __ovld __cnfn atan2pi(float16 y, float16 x);
6797 #ifdef cl_khr_fp64
6798 double __ovld __cnfn atan2pi(double y, double x);
6799 double2 __ovld __cnfn atan2pi(double2 y, double2 x);
6800 double3 __ovld __cnfn atan2pi(double3 y, double3 x);
6801 double4 __ovld __cnfn atan2pi(double4 y, double4 x);
6802 double8 __ovld __cnfn atan2pi(double8 y, double8 x);
6803 double16 __ovld __cnfn atan2pi(double16 y, double16 x);
6804 #endif //cl_khr_fp64
6805 #ifdef cl_khr_fp16
6806 half __ovld __cnfn atan2pi(half y, half x);
6807 half2 __ovld __cnfn atan2pi(half2 y, half2 x);
6808 half3 __ovld __cnfn atan2pi(half3 y, half3 x);
6809 half4 __ovld __cnfn atan2pi(half4 y, half4 x);
6810 half8 __ovld __cnfn atan2pi(half8 y, half8 x);
6811 half16 __ovld __cnfn atan2pi(half16 y, half16 x);
6812 #endif //cl_khr_fp16
6813 
6817 float __ovld __cnfn cbrt(float);
6818 float2 __ovld __cnfn cbrt(float2);
6819 float3 __ovld __cnfn cbrt(float3);
6820 float4 __ovld __cnfn cbrt(float4);
6821 float8 __ovld __cnfn cbrt(float8);
6822 float16 __ovld __cnfn cbrt(float16);
6823 #ifdef cl_khr_fp64
6824 double __ovld __cnfn cbrt(double);
6825 double2 __ovld __cnfn cbrt(double2);
6826 double3 __ovld __cnfn cbrt(double3);
6827 double4 __ovld __cnfn cbrt(double4);
6828 double8 __ovld __cnfn cbrt(double8);
6829 double16 __ovld __cnfn cbrt(double16);
6830 #endif //cl_khr_fp64
6831 #ifdef cl_khr_fp16
6832 half __ovld __cnfn cbrt(half);
6833 half2 __ovld __cnfn cbrt(half2);
6834 half3 __ovld __cnfn cbrt(half3);
6835 half4 __ovld __cnfn cbrt(half4);
6836 half8 __ovld __cnfn cbrt(half8);
6837 half16 __ovld __cnfn cbrt(half16);
6838 #endif //cl_khr_fp16
6839 
6844 float __ovld __cnfn ceil(float);
6845 float2 __ovld __cnfn ceil(float2);
6846 float3 __ovld __cnfn ceil(float3);
6847 float4 __ovld __cnfn ceil(float4);
6848 float8 __ovld __cnfn ceil(float8);
6849 float16 __ovld __cnfn ceil(float16);
6850 #ifdef cl_khr_fp64
6851 double __ovld __cnfn ceil(double);
6852 double2 __ovld __cnfn ceil(double2);
6853 double3 __ovld __cnfn ceil(double3);
6854 double4 __ovld __cnfn ceil(double4);
6855 double8 __ovld __cnfn ceil(double8);
6856 double16 __ovld __cnfn ceil(double16);
6857 #endif //cl_khr_fp64
6858 #ifdef cl_khr_fp16
6859 half __ovld __cnfn ceil(half);
6860 half2 __ovld __cnfn ceil(half2);
6861 half3 __ovld __cnfn ceil(half3);
6862 half4 __ovld __cnfn ceil(half4);
6863 half8 __ovld __cnfn ceil(half8);
6864 half16 __ovld __cnfn ceil(half16);
6865 #endif //cl_khr_fp16
6866 
6870 float __ovld __cnfn copysign(float x, float y);
6871 float2 __ovld __cnfn copysign(float2 x, float2 y);
6872 float3 __ovld __cnfn copysign(float3 x, float3 y);
6873 float4 __ovld __cnfn copysign(float4 x, float4 y);
6874 float8 __ovld __cnfn copysign(float8 x, float8 y);
6875 float16 __ovld __cnfn copysign(float16 x, float16 y);
6876 #ifdef cl_khr_fp64
6877 double __ovld __cnfn copysign(double x, double y);
6878 double2 __ovld __cnfn copysign(double2 x, double2 y);
6879 double3 __ovld __cnfn copysign(double3 x, double3 y);
6880 double4 __ovld __cnfn copysign(double4 x, double4 y);
6881 double8 __ovld __cnfn copysign(double8 x, double8 y);
6882 double16 __ovld __cnfn copysign(double16 x, double16 y);
6883 #endif //cl_khr_fp64
6884 #ifdef cl_khr_fp16
6885 half __ovld __cnfn copysign(half x, half y);
6886 half2 __ovld __cnfn copysign(half2 x, half2 y);
6887 half3 __ovld __cnfn copysign(half3 x, half3 y);
6888 half4 __ovld __cnfn copysign(half4 x, half4 y);
6889 half8 __ovld __cnfn copysign(half8 x, half8 y);
6890 half16 __ovld __cnfn copysign(half16 x, half16 y);
6891 #endif //cl_khr_fp16
6892 
6896 float __ovld __cnfn cos(float);
6897 float2 __ovld __cnfn cos(float2);
6898 float3 __ovld __cnfn cos(float3);
6899 float4 __ovld __cnfn cos(float4);
6900 float8 __ovld __cnfn cos(float8);
6901 float16 __ovld __cnfn cos(float16);
6902 #ifdef cl_khr_fp64
6903 double __ovld __cnfn cos(double);
6904 double2 __ovld __cnfn cos(double2);
6905 double3 __ovld __cnfn cos(double3);
6906 double4 __ovld __cnfn cos(double4);
6907 double8 __ovld __cnfn cos(double8);
6908 double16 __ovld __cnfn cos(double16);
6909 #endif //cl_khr_fp64
6910 #ifdef cl_khr_fp16
6911 half __ovld __cnfn cos(half);
6912 half2 __ovld __cnfn cos(half2);
6913 half3 __ovld __cnfn cos(half3);
6914 half4 __ovld __cnfn cos(half4);
6915 half8 __ovld __cnfn cos(half8);
6916 half16 __ovld __cnfn cos(half16);
6917 #endif //cl_khr_fp16
6918 
6922 float __ovld __cnfn cosh(float);
6923 float2 __ovld __cnfn cosh(float2);
6924 float3 __ovld __cnfn cosh(float3);
6925 float4 __ovld __cnfn cosh(float4);
6926 float8 __ovld __cnfn cosh(float8);
6927 float16 __ovld __cnfn cosh(float16);
6928 #ifdef cl_khr_fp64
6929 double __ovld __cnfn cosh(double);
6930 double2 __ovld __cnfn cosh(double2);
6931 double3 __ovld __cnfn cosh(double3);
6932 double4 __ovld __cnfn cosh(double4);
6933 double8 __ovld __cnfn cosh(double8);
6934 double16 __ovld __cnfn cosh(double16);
6935 #endif //cl_khr_fp64
6936 #ifdef cl_khr_fp16
6937 half __ovld __cnfn cosh(half);
6938 half2 __ovld __cnfn cosh(half2);
6939 half3 __ovld __cnfn cosh(half3);
6940 half4 __ovld __cnfn cosh(half4);
6941 half8 __ovld __cnfn cosh(half8);
6942 half16 __ovld __cnfn cosh(half16);
6943 #endif //cl_khr_fp16
6944 
6948 float __ovld __cnfn cospi(float x);
6949 float2 __ovld __cnfn cospi(float2 x);
6950 float3 __ovld __cnfn cospi(float3 x);
6951 float4 __ovld __cnfn cospi(float4 x);
6952 float8 __ovld __cnfn cospi(float8 x);
6953 float16 __ovld __cnfn cospi(float16 x);
6954 #ifdef cl_khr_fp64
6955 double __ovld __cnfn cospi(double x);
6956 double2 __ovld __cnfn cospi(double2 x);
6957 double3 __ovld __cnfn cospi(double3 x);
6958 double4 __ovld __cnfn cospi(double4 x);
6959 double8 __ovld __cnfn cospi(double8 x);
6960 double16 __ovld __cnfn cospi(double16 x);
6961 #endif //cl_khr_fp64
6962 #ifdef cl_khr_fp16
6963 half __ovld __cnfn cospi(half x);
6964 half2 __ovld __cnfn cospi(half2 x);
6965 half3 __ovld __cnfn cospi(half3 x);
6966 half4 __ovld __cnfn cospi(half4 x);
6967 half8 __ovld __cnfn cospi(half8 x);
6968 half16 __ovld __cnfn cospi(half16 x);
6969 #endif //cl_khr_fp16
6970 
6974 float __ovld __cnfn erfc(float);
6975 float2 __ovld __cnfn erfc(float2);
6976 float3 __ovld __cnfn erfc(float3);
6977 float4 __ovld __cnfn erfc(float4);
6978 float8 __ovld __cnfn erfc(float8);
6979 float16 __ovld __cnfn erfc(float16);
6980 #ifdef cl_khr_fp64
6981 double __ovld __cnfn erfc(double);
6982 double2 __ovld __cnfn erfc(double2);
6983 double3 __ovld __cnfn erfc(double3);
6984 double4 __ovld __cnfn erfc(double4);
6985 double8 __ovld __cnfn erfc(double8);
6986 double16 __ovld __cnfn erfc(double16);
6987 #endif //cl_khr_fp64
6988 #ifdef cl_khr_fp16
6989 half __ovld __cnfn erfc(half);
6990 half2 __ovld __cnfn erfc(half2);
6991 half3 __ovld __cnfn erfc(half3);
6992 half4 __ovld __cnfn erfc(half4);
6993 half8 __ovld __cnfn erfc(half8);
6994 half16 __ovld __cnfn erfc(half16);
6995 #endif //cl_khr_fp16
6996 
7001 float __ovld __cnfn erf(float);
7002 float2 __ovld __cnfn erf(float2);
7003 float3 __ovld __cnfn erf(float3);
7004 float4 __ovld __cnfn erf(float4);
7005 float8 __ovld __cnfn erf(float8);
7006 float16 __ovld __cnfn erf(float16);
7007 #ifdef cl_khr_fp64
7008 double __ovld __cnfn erf(double);
7009 double2 __ovld __cnfn erf(double2);
7010 double3 __ovld __cnfn erf(double3);
7011 double4 __ovld __cnfn erf(double4);
7012 double8 __ovld __cnfn erf(double8);
7013 double16 __ovld __cnfn erf(double16);
7014 #endif //cl_khr_fp64
7015 #ifdef cl_khr_fp16
7016 half __ovld __cnfn erf(half);
7017 half2 __ovld __cnfn erf(half2);
7018 half3 __ovld __cnfn erf(half3);
7019 half4 __ovld __cnfn erf(half4);
7020 half8 __ovld __cnfn erf(half8);
7021 half16 __ovld __cnfn erf(half16);
7022 #endif //cl_khr_fp16
7023 
7027 float __ovld __cnfn exp(float x);
7028 float2 __ovld __cnfn exp(float2 x);
7029 float3 __ovld __cnfn exp(float3 x);
7030 float4 __ovld __cnfn exp(float4 x);
7031 float8 __ovld __cnfn exp(float8 x);
7032 float16 __ovld __cnfn exp(float16 x);
7033 #ifdef cl_khr_fp64
7034 double __ovld __cnfn exp(double x);
7035 double2 __ovld __cnfn exp(double2 x);
7036 double3 __ovld __cnfn exp(double3 x);
7037 double4 __ovld __cnfn exp(double4 x);
7038 double8 __ovld __cnfn exp(double8 x);
7039 double16 __ovld __cnfn exp(double16 x);
7040 #endif //cl_khr_fp64
7041 #ifdef cl_khr_fp16
7042 half __ovld __cnfn exp(half x);
7043 half2 __ovld __cnfn exp(half2 x);
7044 half3 __ovld __cnfn exp(half3 x);
7045 half4 __ovld __cnfn exp(half4 x);
7046 half8 __ovld __cnfn exp(half8 x);
7047 half16 __ovld __cnfn exp(half16 x);
7048 #endif //cl_khr_fp16
7049 
7053 float __ovld __cnfn exp2(float);
7054 float2 __ovld __cnfn exp2(float2);
7055 float3 __ovld __cnfn exp2(float3);
7056 float4 __ovld __cnfn exp2(float4);
7057 float8 __ovld __cnfn exp2(float8);
7058 float16 __ovld __cnfn exp2(float16);
7059 #ifdef cl_khr_fp64
7060 double __ovld __cnfn exp2(double);
7061 double2 __ovld __cnfn exp2(double2);
7062 double3 __ovld __cnfn exp2(double3);
7063 double4 __ovld __cnfn exp2(double4);
7064 double8 __ovld __cnfn exp2(double8);
7065 double16 __ovld __cnfn exp2(double16);
7066 #endif //cl_khr_fp64
7067 #ifdef cl_khr_fp16
7068 half __ovld __cnfn exp2(half);
7069 half2 __ovld __cnfn exp2(half2);
7070 half3 __ovld __cnfn exp2(half3);
7071 half4 __ovld __cnfn exp2(half4);
7072 half8 __ovld __cnfn exp2(half8);
7073 half16 __ovld __cnfn exp2(half16);
7074 #endif //cl_khr_fp16
7075 
7079 float __ovld __cnfn exp10(float);
7080 float2 __ovld __cnfn exp10(float2);
7081 float3 __ovld __cnfn exp10(float3);
7082 float4 __ovld __cnfn exp10(float4);
7083 float8 __ovld __cnfn exp10(float8);
7084 float16 __ovld __cnfn exp10(float16);
7085 #ifdef cl_khr_fp64
7086 double __ovld __cnfn exp10(double);
7087 double2 __ovld __cnfn exp10(double2);
7088 double3 __ovld __cnfn exp10(double3);
7089 double4 __ovld __cnfn exp10(double4);
7090 double8 __ovld __cnfn exp10(double8);
7091 double16 __ovld __cnfn exp10(double16);
7092 #endif //cl_khr_fp64
7093 #ifdef cl_khr_fp16
7094 half __ovld __cnfn exp10(half);
7095 half2 __ovld __cnfn exp10(half2);
7096 half3 __ovld __cnfn exp10(half3);
7097 half4 __ovld __cnfn exp10(half4);
7098 half8 __ovld __cnfn exp10(half8);
7099 half16 __ovld __cnfn exp10(half16);
7100 #endif //cl_khr_fp16
7101 
7105 float __ovld __cnfn expm1(float x);
7106 float2 __ovld __cnfn expm1(float2 x);
7107 float3 __ovld __cnfn expm1(float3 x);
7108 float4 __ovld __cnfn expm1(float4 x);
7109 float8 __ovld __cnfn expm1(float8 x);
7110 float16 __ovld __cnfn expm1(float16 x);
7111 #ifdef cl_khr_fp64
7112 double __ovld __cnfn expm1(double x);
7113 double2 __ovld __cnfn expm1(double2 x);
7114 double3 __ovld __cnfn expm1(double3 x);
7115 double4 __ovld __cnfn expm1(double4 x);
7116 double8 __ovld __cnfn expm1(double8 x);
7117 double16 __ovld __cnfn expm1(double16 x);
7118 #endif //cl_khr_fp64
7119 #ifdef cl_khr_fp16
7120 half __ovld __cnfn expm1(half x);
7121 half2 __ovld __cnfn expm1(half2 x);
7122 half3 __ovld __cnfn expm1(half3 x);
7123 half4 __ovld __cnfn expm1(half4 x);
7124 half8 __ovld __cnfn expm1(half8 x);
7125 half16 __ovld __cnfn expm1(half16 x);
7126 #endif //cl_khr_fp16
7127 
7131 float __ovld __cnfn fabs(float);
7132 float2 __ovld __cnfn fabs(float2);
7133 float3 __ovld __cnfn fabs(float3);
7134 float4 __ovld __cnfn fabs(float4);
7135 float8 __ovld __cnfn fabs(float8);
7136 float16 __ovld __cnfn fabs(float16);
7137 #ifdef cl_khr_fp64
7138 double __ovld __cnfn fabs(double);
7139 double2 __ovld __cnfn fabs(double2);
7140 double3 __ovld __cnfn fabs(double3);
7141 double4 __ovld __cnfn fabs(double4);
7142 double8 __ovld __cnfn fabs(double8);
7143 double16 __ovld __cnfn fabs(double16);
7144 #endif //cl_khr_fp64
7145 #ifdef cl_khr_fp16
7146 half __ovld __cnfn fabs(half);
7147 half2 __ovld __cnfn fabs(half2);
7148 half3 __ovld __cnfn fabs(half3);
7149 half4 __ovld __cnfn fabs(half4);
7150 half8 __ovld __cnfn fabs(half8);
7151 half16 __ovld __cnfn fabs(half16);
7152 #endif //cl_khr_fp16
7153 
7157 float __ovld __cnfn fdim(float x, float y);
7158 float2 __ovld __cnfn fdim(float2 x, float2 y);
7159 float3 __ovld __cnfn fdim(float3 x, float3 y);
7160 float4 __ovld __cnfn fdim(float4 x, float4 y);
7161 float8 __ovld __cnfn fdim(float8 x, float8 y);
7162 float16 __ovld __cnfn fdim(float16 x, float16 y);
7163 #ifdef cl_khr_fp64
7164 double __ovld __cnfn fdim(double x, double y);
7165 double2 __ovld __cnfn fdim(double2 x, double2 y);
7166 double3 __ovld __cnfn fdim(double3 x, double3 y);
7167 double4 __ovld __cnfn fdim(double4 x, double4 y);
7168 double8 __ovld __cnfn fdim(double8 x, double8 y);
7169 double16 __ovld __cnfn fdim(double16 x, double16 y);
7170 #endif //cl_khr_fp64
7171 #ifdef cl_khr_fp16
7172 half __ovld __cnfn fdim(half x, half y);
7173 half2 __ovld __cnfn fdim(half2 x, half2 y);
7174 half3 __ovld __cnfn fdim(half3 x, half3 y);
7175 half4 __ovld __cnfn fdim(half4 x, half4 y);
7176 half8 __ovld __cnfn fdim(half8 x, half8 y);
7177 half16 __ovld __cnfn fdim(half16 x, half16 y);
7178 #endif //cl_khr_fp16
7179 
7184 float __ovld __cnfn floor(float);
7185 float2 __ovld __cnfn floor(float2);
7186 float3 __ovld __cnfn floor(float3);
7187 float4 __ovld __cnfn floor(float4);
7188 float8 __ovld __cnfn floor(float8);
7189 float16 __ovld __cnfn floor(float16);
7190 #ifdef cl_khr_fp64
7191 double __ovld __cnfn floor(double);
7192 double2 __ovld __cnfn floor(double2);
7193 double3 __ovld __cnfn floor(double3);
7194 double4 __ovld __cnfn floor(double4);
7195 double8 __ovld __cnfn floor(double8);
7196 double16 __ovld __cnfn floor(double16);
7197 #endif //cl_khr_fp64
7198 #ifdef cl_khr_fp16
7199 half __ovld __cnfn floor(half);
7200 half2 __ovld __cnfn floor(half2);
7201 half3 __ovld __cnfn floor(half3);
7202 half4 __ovld __cnfn floor(half4);
7203 half8 __ovld __cnfn floor(half8);
7204 half16 __ovld __cnfn floor(half16);
7205 #endif //cl_khr_fp16
7206 
7214 float __ovld __cnfn fma(float a, float b, float c);
7215 float2 __ovld __cnfn fma(float2 a, float2 b, float2 c);
7216 float3 __ovld __cnfn fma(float3 a, float3 b, float3 c);
7217 float4 __ovld __cnfn fma(float4 a, float4 b, float4 c);
7218 float8 __ovld __cnfn fma(float8 a, float8 b, float8 c);
7219 float16 __ovld __cnfn fma(float16 a, float16 b, float16 c);
7220 #ifdef cl_khr_fp64
7221 double __ovld __cnfn fma(double a, double b, double c);
7222 double2 __ovld __cnfn fma(double2 a, double2 b, double2 c);
7223 double3 __ovld __cnfn fma(double3 a, double3 b, double3 c);
7224 double4 __ovld __cnfn fma(double4 a, double4 b, double4 c);
7225 double8 __ovld __cnfn fma(double8 a, double8 b, double8 c);
7226 double16 __ovld __cnfn fma(double16 a, double16 b, double16 c);
7227 #endif //cl_khr_fp64
7228 #ifdef cl_khr_fp16
7229 half __ovld __cnfn fma(half a, half b, half c);
7230 half2 __ovld __cnfn fma(half2 a, half2 b, half2 c);
7231 half3 __ovld __cnfn fma(half3 a, half3 b, half3 c);
7232 half4 __ovld __cnfn fma(half4 a, half4 b, half4 c);
7233 half8 __ovld __cnfn fma(half8 a, half8 b, half8 c);
7234 half16 __ovld __cnfn fma(half16 a, half16 b, half16 c);
7235 #endif //cl_khr_fp16
7236 
7243 float __ovld __cnfn fmax(float x, float y);
7244 float2 __ovld __cnfn fmax(float2 x, float2 y);
7245 float3 __ovld __cnfn fmax(float3 x, float3 y);
7246 float4 __ovld __cnfn fmax(float4 x, float4 y);
7247 float8 __ovld __cnfn fmax(float8 x, float8 y);
7248 float16 __ovld __cnfn fmax(float16 x, float16 y);
7249 float2 __ovld __cnfn fmax(float2 x, float y);
7250 float3 __ovld __cnfn fmax(float3 x, float y);
7251 float4 __ovld __cnfn fmax(float4 x, float y);
7252 float8 __ovld __cnfn fmax(float8 x, float y);
7253 float16 __ovld __cnfn fmax(float16 x, float y);
7254 #ifdef cl_khr_fp64
7255 double __ovld __cnfn fmax(double x, double y);
7256 double2 __ovld __cnfn fmax(double2 x, double2 y);
7257 double3 __ovld __cnfn fmax(double3 x, double3 y);
7258 double4 __ovld __cnfn fmax(double4 x, double4 y);
7259 double8 __ovld __cnfn fmax(double8 x, double8 y);
7260 double16 __ovld __cnfn fmax(double16 x, double16 y);
7261 double2 __ovld __cnfn fmax(double2 x, double y);
7262 double3 __ovld __cnfn fmax(double3 x, double y);
7263 double4 __ovld __cnfn fmax(double4 x, double y);
7264 double8 __ovld __cnfn fmax(double8 x, double y);
7265 double16 __ovld __cnfn fmax(double16 x, double y);
7266 #endif //cl_khr_fp64
7267 #ifdef cl_khr_fp16
7268 half __ovld __cnfn fmax(half x, half y);
7269 half2 __ovld __cnfn fmax(half2 x, half2 y);
7270 half3 __ovld __cnfn fmax(half3 x, half3 y);
7271 half4 __ovld __cnfn fmax(half4 x, half4 y);
7272 half8 __ovld __cnfn fmax(half8 x, half8 y);
7273 half16 __ovld __cnfn fmax(half16 x, half16 y);
7274 half2 __ovld __cnfn fmax(half2 x, half y);
7275 half3 __ovld __cnfn fmax(half3 x, half y);
7276 half4 __ovld __cnfn fmax(half4 x, half y);
7277 half8 __ovld __cnfn fmax(half8 x, half y);
7278 half16 __ovld __cnfn fmax(half16 x, half y);
7279 #endif //cl_khr_fp16
7280 
7287 float __ovld __cnfn fmin(float x, float y);
7288 float2 __ovld __cnfn fmin(float2 x, float2 y);
7289 float3 __ovld __cnfn fmin(float3 x, float3 y);
7290 float4 __ovld __cnfn fmin(float4 x, float4 y);
7291 float8 __ovld __cnfn fmin(float8 x, float8 y);
7292 float16 __ovld __cnfn fmin(float16 x, float16 y);
7293 float2 __ovld __cnfn fmin(float2 x, float y);
7294 float3 __ovld __cnfn fmin(float3 x, float y);
7295 float4 __ovld __cnfn fmin(float4 x, float y);
7296 float8 __ovld __cnfn fmin(float8 x, float y);
7297 float16 __ovld __cnfn fmin(float16 x, float y);
7298 #ifdef cl_khr_fp64
7299 double __ovld __cnfn fmin(double x, double y);
7300 double2 __ovld __cnfn fmin(double2 x, double2 y);
7301 double3 __ovld __cnfn fmin(double3 x, double3 y);
7302 double4 __ovld __cnfn fmin(double4 x, double4 y);
7303 double8 __ovld __cnfn fmin(double8 x, double8 y);
7304 double16 __ovld __cnfn fmin(double16 x, double16 y);
7305 double2 __ovld __cnfn fmin(double2 x, double y);
7306 double3 __ovld __cnfn fmin(double3 x, double y);
7307 double4 __ovld __cnfn fmin(double4 x, double y);
7308 double8 __ovld __cnfn fmin(double8 x, double y);
7309 double16 __ovld __cnfn fmin(double16 x, double y);
7310 #endif //cl_khr_fp64
7311 #ifdef cl_khr_fp16
7312 half __ovld __cnfn fmin(half x, half y);
7313 half2 __ovld __cnfn fmin(half2 x, half2 y);
7314 half3 __ovld __cnfn fmin(half3 x, half3 y);
7315 half4 __ovld __cnfn fmin(half4 x, half4 y);
7316 half8 __ovld __cnfn fmin(half8 x, half8 y);
7317 half16 __ovld __cnfn fmin(half16 x, half16 y);
7318 half2 __ovld __cnfn fmin(half2 x, half y);
7319 half3 __ovld __cnfn fmin(half3 x, half y);
7320 half4 __ovld __cnfn fmin(half4 x, half y);
7321 half8 __ovld __cnfn fmin(half8 x, half y);
7322 half16 __ovld __cnfn fmin(half16 x, half y);
7323 #endif //cl_khr_fp16
7324 
7328 float __ovld __cnfn fmod(float x, float y);
7329 float2 __ovld __cnfn fmod(float2 x, float2 y);
7330 float3 __ovld __cnfn fmod(float3 x, float3 y);
7331 float4 __ovld __cnfn fmod(float4 x, float4 y);
7332 float8 __ovld __cnfn fmod(float8 x, float8 y);
7333 float16 __ovld __cnfn fmod(float16 x, float16 y);
7334 #ifdef cl_khr_fp64
7335 double __ovld __cnfn fmod(double x, double y);
7336 double2 __ovld __cnfn fmod(double2 x, double2 y);
7337 double3 __ovld __cnfn fmod(double3 x, double3 y);
7338 double4 __ovld __cnfn fmod(double4 x, double4 y);
7339 double8 __ovld __cnfn fmod(double8 x, double8 y);
7340 double16 __ovld __cnfn fmod(double16 x, double16 y);
7341 #endif //cl_khr_fp64
7342 #ifdef cl_khr_fp16
7343 half __ovld __cnfn fmod(half x, half y);
7344 half2 __ovld __cnfn fmod(half2 x, half2 y);
7345 half3 __ovld __cnfn fmod(half3 x, half3 y);
7346 half4 __ovld __cnfn fmod(half4 x, half4 y);
7347 half8 __ovld __cnfn fmod(half8 x, half8 y);
7348 half16 __ovld __cnfn fmod(half16 x, half16 y);
7349 #endif //cl_khr_fp16
7350 
7355 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
7356 float __ovld fract(float x, float *iptr);
7357 float2 __ovld fract(float2 x, float2 *iptr);
7358 float3 __ovld fract(float3 x, float3 *iptr);
7359 float4 __ovld fract(float4 x, float4 *iptr);
7360 float8 __ovld fract(float8 x, float8 *iptr);
7361 float16 __ovld fract(float16 x, float16 *iptr);
7362 #ifdef cl_khr_fp64
7363 double __ovld fract(double x, double *iptr);
7364 double2 __ovld fract(double2 x, double2 *iptr);
7365 double3 __ovld fract(double3 x, double3 *iptr);
7366 double4 __ovld fract(double4 x, double4 *iptr);
7367 double8 __ovld fract(double8 x, double8 *iptr);
7368 double16 __ovld fract(double16 x, double16 *iptr);
7369 #endif //cl_khr_fp64
7370 #ifdef cl_khr_fp16
7371 half __ovld fract(half x, half *iptr);
7372 half2 __ovld fract(half2 x, half2 *iptr);
7373 half3 __ovld fract(half3 x, half3 *iptr);
7374 half4 __ovld fract(half4 x, half4 *iptr);
7375 half8 __ovld fract(half8 x, half8 *iptr);
7376 half16 __ovld fract(half16 x, half16 *iptr);
7377 #endif //cl_khr_fp16
7378 #else
7379 float __ovld fract(float x, __global float *iptr);
7380 float2 __ovld fract(float2 x, __global float2 *iptr);
7381 float3 __ovld fract(float3 x, __global float3 *iptr);
7382 float4 __ovld fract(float4 x, __global float4 *iptr);
7383 float8 __ovld fract(float8 x, __global float8 *iptr);
7384 float16 __ovld fract(float16 x, __global float16 *iptr);
7385 float __ovld fract(float x, __local float *iptr);
7386 float2 __ovld fract(float2 x, __local float2 *iptr);
7387 float3 __ovld fract(float3 x, __local float3 *iptr);
7388 float4 __ovld fract(float4 x, __local float4 *iptr);
7389 float8 __ovld fract(float8 x, __local float8 *iptr);
7390 float16 __ovld fract(float16 x, __local float16 *iptr);
7391 float __ovld fract(float x, __private float *iptr);
7392 float2 __ovld fract(float2 x, __private float2 *iptr);
7393 float3 __ovld fract(float3 x, __private float3 *iptr);
7394 float4 __ovld fract(float4 x, __private float4 *iptr);
7395 float8 __ovld fract(float8 x, __private float8 *iptr);
7396 float16 __ovld fract(float16 x, __private float16 *iptr);
7397 #ifdef cl_khr_fp64
7398 double __ovld fract(double x, __global double *iptr);
7399 double2 __ovld fract(double2 x, __global double2 *iptr);
7400 double3 __ovld fract(double3 x, __global double3 *iptr);
7401 double4 __ovld fract(double4 x, __global double4 *iptr);
7402 double8 __ovld fract(double8 x, __global double8 *iptr);
7403 double16 __ovld fract(double16 x, __global double16 *iptr);
7404 double __ovld fract(double x, __local double *iptr);
7405 double2 __ovld fract(double2 x, __local double2 *iptr);
7406 double3 __ovld fract(double3 x, __local double3 *iptr);
7407 double4 __ovld fract(double4 x, __local double4 *iptr);
7408 double8 __ovld fract(double8 x, __local double8 *iptr);
7409 double16 __ovld fract(double16 x, __local double16 *iptr);
7410 double __ovld fract(double x, __private double *iptr);
7411 double2 __ovld fract(double2 x, __private double2 *iptr);
7412 double3 __ovld fract(double3 x, __private double3 *iptr);
7413 double4 __ovld fract(double4 x, __private double4 *iptr);
7414 double8 __ovld fract(double8 x, __private double8 *iptr);
7415 double16 __ovld fract(double16 x, __private double16 *iptr);
7416 #endif //cl_khr_fp64
7417 #ifdef cl_khr_fp16
7418 half __ovld fract(half x, __global half *iptr);
7419 half2 __ovld fract(half2 x, __global half2 *iptr);
7420 half3 __ovld fract(half3 x, __global half3 *iptr);
7421 half4 __ovld fract(half4 x, __global half4 *iptr);
7422 half8 __ovld fract(half8 x, __global half8 *iptr);
7423 half16 __ovld fract(half16 x, __global half16 *iptr);
7424 half __ovld fract(half x, __local half *iptr);
7425 half2 __ovld fract(half2 x, __local half2 *iptr);
7426 half3 __ovld fract(half3 x, __local half3 *iptr);
7427 half4 __ovld fract(half4 x, __local half4 *iptr);
7428 half8 __ovld fract(half8 x, __local half8 *iptr);
7429 half16 __ovld fract(half16 x, __local half16 *iptr);
7430 half __ovld fract(half x, __private half *iptr);
7431 half2 __ovld fract(half2 x, __private half2 *iptr);
7432 half3 __ovld fract(half3 x, __private half3 *iptr);
7433 half4 __ovld fract(half4 x, __private half4 *iptr);
7434 half8 __ovld fract(half8 x, __private half8 *iptr);
7435 half16 __ovld fract(half16 x, __private half16 *iptr);
7436 #endif //cl_khr_fp16
7437 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
7438 
7445 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
7446 float __ovld frexp(float x, int *exp);
7447 float2 __ovld frexp(float2 x, int2 *exp);
7448 float3 __ovld frexp(float3 x, int3 *exp);
7449 float4 __ovld frexp(float4 x, int4 *exp);
7450 float8 __ovld frexp(float8 x, int8 *exp);
7451 float16 __ovld frexp(float16 x, int16 *exp);
7452 #ifdef cl_khr_fp64
7453 double __ovld frexp(double x, int *exp);
7454 double2 __ovld frexp(double2 x, int2 *exp);
7455 double3 __ovld frexp(double3 x, int3 *exp);
7456 double4 __ovld frexp(double4 x, int4 *exp);
7457 double8 __ovld frexp(double8 x, int8 *exp);
7458 double16 __ovld frexp(double16 x, int16 *exp);
7459 #endif //cl_khr_fp64
7460 #ifdef cl_khr_fp16
7461 half __ovld frexp(half x, int *exp);
7462 half2 __ovld frexp(half2 x, int2 *exp);
7463 half3 __ovld frexp(half3 x, int3 *exp);
7464 half4 __ovld frexp(half4 x, int4 *exp);
7465 half8 __ovld frexp(half8 x, int8 *exp);
7466 half16 __ovld frexp(half16 x, int16 *exp);
7467 #endif //cl_khr_fp16
7468 #else
7469 float __ovld frexp(float x, __global int *exp);
7470 float2 __ovld frexp(float2 x, __global int2 *exp);
7471 float3 __ovld frexp(float3 x, __global int3 *exp);
7472 float4 __ovld frexp(float4 x, __global int4 *exp);
7473 float8 __ovld frexp(float8 x, __global int8 *exp);
7474 float16 __ovld frexp(float16 x, __global int16 *exp);
7475 float __ovld frexp(float x, __local int *exp);
7476 float2 __ovld frexp(float2 x, __local int2 *exp);
7477 float3 __ovld frexp(float3 x, __local int3 *exp);
7478 float4 __ovld frexp(float4 x, __local int4 *exp);
7479 float8 __ovld frexp(float8 x, __local int8 *exp);
7480 float16 __ovld frexp(float16 x, __local int16 *exp);
7481 float __ovld frexp(float x, __private int *exp);
7482 float2 __ovld frexp(float2 x, __private int2 *exp);
7483 float3 __ovld frexp(float3 x, __private int3 *exp);
7484 float4 __ovld frexp(float4 x, __private int4 *exp);
7485 float8 __ovld frexp(float8 x, __private int8 *exp);
7486 float16 __ovld frexp(float16 x, __private int16 *exp);
7487 #ifdef cl_khr_fp64
7488 double __ovld frexp(double x, __global int *exp);
7489 double2 __ovld frexp(double2 x, __global int2 *exp);
7490 double3 __ovld frexp(double3 x, __global int3 *exp);
7491 double4 __ovld frexp(double4 x, __global int4 *exp);
7492 double8 __ovld frexp(double8 x, __global int8 *exp);
7493 double16 __ovld frexp(double16 x, __global int16 *exp);
7494 double __ovld frexp(double x, __local int *exp);
7495 double2 __ovld frexp(double2 x, __local int2 *exp);
7496 double3 __ovld frexp(double3 x, __local int3 *exp);
7497 double4 __ovld frexp(double4 x, __local int4 *exp);
7498 double8 __ovld frexp(double8 x, __local int8 *exp);
7499 double16 __ovld frexp(double16 x, __local int16 *exp);
7500 double __ovld frexp(double x, __private int *exp);
7501 double2 __ovld frexp(double2 x, __private int2 *exp);
7502 double3 __ovld frexp(double3 x, __private int3 *exp);
7503 double4 __ovld frexp(double4 x, __private int4 *exp);
7504 double8 __ovld frexp(double8 x, __private int8 *exp);
7505 double16 __ovld frexp(double16 x, __private int16 *exp);
7506 #endif //cl_khr_fp64
7507 #ifdef cl_khr_fp16
7508 half __ovld frexp(half x, __global int *exp);
7509 half2 __ovld frexp(half2 x, __global int2 *exp);
7510 half3 __ovld frexp(half3 x, __global int3 *exp);
7511 half4 __ovld frexp(half4 x, __global int4 *exp);
7512 half8 __ovld frexp(half8 x, __global int8 *exp);
7513 half16 __ovld frexp(half16 x, __global int16 *exp);
7514 half __ovld frexp(half x, __local int *exp);
7515 half2 __ovld frexp(half2 x, __local int2 *exp);
7516 half3 __ovld frexp(half3 x, __local int3 *exp);
7517 half4 __ovld frexp(half4 x, __local int4 *exp);
7518 half8 __ovld frexp(half8 x, __local int8 *exp);
7519 half16 __ovld frexp(half16 x, __local int16 *exp);
7520 half __ovld frexp(half x, __private int *exp);
7521 half2 __ovld frexp(half2 x, __private int2 *exp);
7522 half3 __ovld frexp(half3 x, __private int3 *exp);
7523 half4 __ovld frexp(half4 x, __private int4 *exp);
7524 half8 __ovld frexp(half8 x, __private int8 *exp);
7525 half16 __ovld frexp(half16 x, __private int16 *exp);
7526 #endif //cl_khr_fp16
7527 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
7528 
7533 float __ovld __cnfn hypot(float x, float y);
7534 float2 __ovld __cnfn hypot(float2 x, float2 y);
7535 float3 __ovld __cnfn hypot(float3 x, float3 y);
7536 float4 __ovld __cnfn hypot(float4 x, float4 y);
7537 float8 __ovld __cnfn hypot(float8 x, float8 y);
7538 float16 __ovld __cnfn hypot(float16 x, float16 y);
7539 #ifdef cl_khr_fp64
7540 double __ovld __cnfn hypot(double x, double y);
7541 double2 __ovld __cnfn hypot(double2 x, double2 y);
7542 double3 __ovld __cnfn hypot(double3 x, double3 y);
7543 double4 __ovld __cnfn hypot(double4 x, double4 y);
7544 double8 __ovld __cnfn hypot(double8 x, double8 y);
7545 double16 __ovld __cnfn hypot(double16 x, double16 y);
7546 #endif //cl_khr_fp64
7547 #ifdef cl_khr_fp16
7548 half __ovld __cnfn hypot(half x, half y);
7549 half2 __ovld __cnfn hypot(half2 x, half2 y);
7550 half3 __ovld __cnfn hypot(half3 x, half3 y);
7551 half4 __ovld __cnfn hypot(half4 x, half4 y);
7552 half8 __ovld __cnfn hypot(half8 x, half8 y);
7553 half16 __ovld __cnfn hypot(half16 x, half16 y);
7554 #endif //cl_khr_fp16
7555 
7559 int __ovld __cnfn ilogb(float x);
7560 int2 __ovld __cnfn ilogb(float2 x);
7561 int3 __ovld __cnfn ilogb(float3 x);
7562 int4 __ovld __cnfn ilogb(float4 x);
7565 #ifdef cl_khr_fp64
7566 int __ovld __cnfn ilogb(double x);
7567 int2 __ovld __cnfn ilogb(double2 x);
7568 int3 __ovld __cnfn ilogb(double3 x);
7569 int4 __ovld __cnfn ilogb(double4 x);
7570 int8 __ovld __cnfn ilogb(double8 x);
7571 int16 __ovld __cnfn ilogb(double16 x);
7572 #endif //cl_khr_fp64
7573 #ifdef cl_khr_fp16
7574 int __ovld __cnfn ilogb(half x);
7575 int2 __ovld __cnfn ilogb(half2 x);
7576 int3 __ovld __cnfn ilogb(half3 x);
7577 int4 __ovld __cnfn ilogb(half4 x);
7578 int8 __ovld __cnfn ilogb(half8 x);
7579 int16 __ovld __cnfn ilogb(half16 x);
7580 #endif //cl_khr_fp16
7581 
7585 float __ovld __cnfn ldexp(float x, int n);
7586 float2 __ovld __cnfn ldexp(float2 x, int2 n);
7587 float3 __ovld __cnfn ldexp(float3 x, int3 n);
7588 float4 __ovld __cnfn ldexp(float4 x, int4 n);
7589 float8 __ovld __cnfn ldexp(float8 x, int8 n);
7590 float16 __ovld __cnfn ldexp(float16 x, int16 n);
7591 float2 __ovld __cnfn ldexp(float2 x, int n);
7592 float3 __ovld __cnfn ldexp(float3 x, int n);
7593 float4 __ovld __cnfn ldexp(float4 x, int n);
7594 float8 __ovld __cnfn ldexp(float8 x, int n);
7595 float16 __ovld __cnfn ldexp(float16 x, int n);
7596 #ifdef cl_khr_fp64
7597 double __ovld __cnfn ldexp(double x, int n);
7598 double2 __ovld __cnfn ldexp(double2 x, int2 n);
7599 double3 __ovld __cnfn ldexp(double3 x, int3 n);
7600 double4 __ovld __cnfn ldexp(double4 x, int4 n);
7601 double8 __ovld __cnfn ldexp(double8 x, int8 n);
7602 double16 __ovld __cnfn ldexp(double16 x, int16 n);
7603 double2 __ovld __cnfn ldexp(double2 x, int n);
7604 double3 __ovld __cnfn ldexp(double3 x, int n);
7605 double4 __ovld __cnfn ldexp(double4 x, int n);
7606 double8 __ovld __cnfn ldexp(double8 x, int n);
7607 double16 __ovld __cnfn ldexp(double16 x, int n);
7608 #endif //cl_khr_fp64
7609 #ifdef cl_khr_fp16
7610 half __ovld __cnfn ldexp(half x, int n);
7611 half2 __ovld __cnfn ldexp(half2 x, int2 n);
7612 half3 __ovld __cnfn ldexp(half3 x, int3 n);
7613 half4 __ovld __cnfn ldexp(half4 x, int4 n);
7614 half8 __ovld __cnfn ldexp(half8 x, int8 n);
7615 half16 __ovld __cnfn ldexp(half16 x, int16 n);
7616 half2 __ovld __cnfn ldexp(half2 x, int n);
7617 half3 __ovld __cnfn ldexp(half3 x, int n);
7618 half4 __ovld __cnfn ldexp(half4 x, int n);
7619 half8 __ovld __cnfn ldexp(half8 x, int n);
7620 half16 __ovld __cnfn ldexp(half16 x, int n);
7621 #endif //cl_khr_fp16
7622 
7629 float __ovld __cnfn lgamma(float x);
7630 float2 __ovld __cnfn lgamma(float2 x);
7631 float3 __ovld __cnfn lgamma(float3 x);
7632 float4 __ovld __cnfn lgamma(float4 x);
7633 float8 __ovld __cnfn lgamma(float8 x);
7634 float16 __ovld __cnfn lgamma(float16 x);
7635 #ifdef cl_khr_fp64
7636 double __ovld __cnfn lgamma(double x);
7637 double2 __ovld __cnfn lgamma(double2 x);
7638 double3 __ovld __cnfn lgamma(double3 x);
7639 double4 __ovld __cnfn lgamma(double4 x);
7640 double8 __ovld __cnfn lgamma(double8 x);
7641 double16 __ovld __cnfn lgamma(double16 x);
7642 #endif //cl_khr_fp64
7643 #ifdef cl_khr_fp16
7644 half __ovld __cnfn lgamma(half x);
7645 half2 __ovld __cnfn lgamma(half2 x);
7646 half3 __ovld __cnfn lgamma(half3 x);
7647 half4 __ovld __cnfn lgamma(half4 x);
7648 half8 __ovld __cnfn lgamma(half8 x);
7649 half16 __ovld __cnfn lgamma(half16 x);
7650 #endif //cl_khr_fp16
7651 
7652 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
7653 float __ovld lgamma_r(float x, int *signp);
7654 float2 __ovld lgamma_r(float2 x, int2 *signp);
7655 float3 __ovld lgamma_r(float3 x, int3 *signp);
7656 float4 __ovld lgamma_r(float4 x, int4 *signp);
7657 float8 __ovld lgamma_r(float8 x, int8 *signp);
7658 float16 __ovld lgamma_r(float16 x, int16 *signp);
7659 #ifdef cl_khr_fp64
7660 double __ovld lgamma_r(double x, int *signp);
7661 double2 __ovld lgamma_r(double2 x, int2 *signp);
7662 double3 __ovld lgamma_r(double3 x, int3 *signp);
7663 double4 __ovld lgamma_r(double4 x, int4 *signp);
7664 double8 __ovld lgamma_r(double8 x, int8 *signp);
7665 double16 __ovld lgamma_r(double16 x, int16 *signp);
7666 #endif //cl_khr_fp64
7667 #ifdef cl_khr_fp16
7668 half __ovld lgamma_r(half x, int *signp);
7669 half2 __ovld lgamma_r(half2 x, int2 *signp);
7670 half3 __ovld lgamma_r(half3 x, int3 *signp);
7671 half4 __ovld lgamma_r(half4 x, int4 *signp);
7672 half8 __ovld lgamma_r(half8 x, int8 *signp);
7673 half16 __ovld lgamma_r(half16 x, int16 *signp);
7674 #endif //cl_khr_fp16
7675 #else
7676 float __ovld lgamma_r(float x, __global int *signp);
7677 float2 __ovld lgamma_r(float2 x, __global int2 *signp);
7678 float3 __ovld lgamma_r(float3 x, __global int3 *signp);
7679 float4 __ovld lgamma_r(float4 x, __global int4 *signp);
7680 float8 __ovld lgamma_r(float8 x, __global int8 *signp);
7681 float16 __ovld lgamma_r(float16 x, __global int16 *signp);
7682 float __ovld lgamma_r(float x, __local int *signp);
7683 float2 __ovld lgamma_r(float2 x, __local int2 *signp);
7684 float3 __ovld lgamma_r(float3 x, __local int3 *signp);
7685 float4 __ovld lgamma_r(float4 x, __local int4 *signp);
7686 float8 __ovld lgamma_r(float8 x, __local int8 *signp);
7687 float16 __ovld lgamma_r(float16 x, __local int16 *signp);
7688 float __ovld lgamma_r(float x, __private int *signp);
7689 float2 __ovld lgamma_r(float2 x, __private int2 *signp);
7690 float3 __ovld lgamma_r(float3 x, __private int3 *signp);
7691 float4 __ovld lgamma_r(float4 x, __private int4 *signp);
7692 float8 __ovld lgamma_r(float8 x, __private int8 *signp);
7693 float16 __ovld lgamma_r(float16 x, __private int16 *signp);
7694 #ifdef cl_khr_fp64
7695 double __ovld lgamma_r(double x, __global int *signp);
7696 double2 __ovld lgamma_r(double2 x, __global int2 *signp);
7697 double3 __ovld lgamma_r(double3 x, __global int3 *signp);
7698 double4 __ovld lgamma_r(double4 x, __global int4 *signp);
7699 double8 __ovld lgamma_r(double8 x, __global int8 *signp);
7700 double16 __ovld lgamma_r(double16 x, __global int16 *signp);
7701 double __ovld lgamma_r(double x, __local int *signp);
7702 double2 __ovld lgamma_r(double2 x, __local int2 *signp);
7703 double3 __ovld lgamma_r(double3 x, __local int3 *signp);
7704 double4 __ovld lgamma_r(double4 x, __local int4 *signp);
7705 double8 __ovld lgamma_r(double8 x, __local int8 *signp);
7706 double16 __ovld lgamma_r(double16 x, __local int16 *signp);
7707 double __ovld lgamma_r(double x, __private int *signp);
7708 double2 __ovld lgamma_r(double2 x, __private int2 *signp);
7709 double3 __ovld lgamma_r(double3 x, __private int3 *signp);
7710 double4 __ovld lgamma_r(double4 x, __private int4 *signp);
7711 double8 __ovld lgamma_r(double8 x, __private int8 *signp);
7712 double16 __ovld lgamma_r(double16 x, __private int16 *signp);
7713 #endif //cl_khr_fp64
7714 #ifdef cl_khr_fp16
7715 half __ovld lgamma_r(half x, __global int *signp);
7716 half2 __ovld lgamma_r(half2 x, __global int2 *signp);
7717 half3 __ovld lgamma_r(half3 x, __global int3 *signp);
7718 half4 __ovld lgamma_r(half4 x, __global int4 *signp);
7719 half8 __ovld lgamma_r(half8 x, __global int8 *signp);
7720 half16 __ovld lgamma_r(half16 x, __global int16 *signp);
7721 half __ovld lgamma_r(half x, __local int *signp);
7722 half2 __ovld lgamma_r(half2 x, __local int2 *signp);
7723 half3 __ovld lgamma_r(half3 x, __local int3 *signp);
7724 half4 __ovld lgamma_r(half4 x, __local int4 *signp);
7725 half8 __ovld lgamma_r(half8 x, __local int8 *signp);
7726 half16 __ovld lgamma_r(half16 x, __local int16 *signp);
7727 half __ovld lgamma_r(half x, __private int *signp);
7728 half2 __ovld lgamma_r(half2 x, __private int2 *signp);
7729 half3 __ovld lgamma_r(half3 x, __private int3 *signp);
7730 half4 __ovld lgamma_r(half4 x, __private int4 *signp);
7731 half8 __ovld lgamma_r(half8 x, __private int8 *signp);
7732 half16 __ovld lgamma_r(half16 x, __private int16 *signp);
7733 #endif //cl_khr_fp16
7734 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
7735 
7739 float __ovld __cnfn log(float);
7740 float2 __ovld __cnfn log(float2);
7741 float3 __ovld __cnfn log(float3);
7742 float4 __ovld __cnfn log(float4);
7743 float8 __ovld __cnfn log(float8);
7744 float16 __ovld __cnfn log(float16);
7745 #ifdef cl_khr_fp64
7746 double __ovld __cnfn log(double);
7747 double2 __ovld __cnfn log(double2);
7748 double3 __ovld __cnfn log(double3);
7749 double4 __ovld __cnfn log(double4);
7750 double8 __ovld __cnfn log(double8);
7751 double16 __ovld __cnfn log(double16);
7752 #endif //cl_khr_fp64
7753 #ifdef cl_khr_fp16
7754 half __ovld __cnfn log(half);
7755 half2 __ovld __cnfn log(half2);
7756 half3 __ovld __cnfn log(half3);
7757 half4 __ovld __cnfn log(half4);
7758 half8 __ovld __cnfn log(half8);
7759 half16 __ovld __cnfn log(half16);
7760 #endif //cl_khr_fp16
7761 
7765 float __ovld __cnfn log2(float);
7766 float2 __ovld __cnfn log2(float2);
7767 float3 __ovld __cnfn log2(float3);
7768 float4 __ovld __cnfn log2(float4);
7769 float8 __ovld __cnfn log2(float8);
7770 float16 __ovld __cnfn log2(float16);
7771 #ifdef cl_khr_fp64
7772 double __ovld __cnfn log2(double);
7773 double2 __ovld __cnfn log2(double2);
7774 double3 __ovld __cnfn log2(double3);
7775 double4 __ovld __cnfn log2(double4);
7776 double8 __ovld __cnfn log2(double8);
7777 double16 __ovld __cnfn log2(double16);
7778 #endif //cl_khr_fp64
7779 #ifdef cl_khr_fp16
7780 half __ovld __cnfn log2(half);
7781 half2 __ovld __cnfn log2(half2);
7782 half3 __ovld __cnfn log2(half3);
7783 half4 __ovld __cnfn log2(half4);
7784 half8 __ovld __cnfn log2(half8);
7785 half16 __ovld __cnfn log2(half16);
7786 #endif //cl_khr_fp16
7787 
7791 float __ovld __cnfn log10(float);
7792 float2 __ovld __cnfn log10(float2);
7793 float3 __ovld __cnfn log10(float3);
7794 float4 __ovld __cnfn log10(float4);
7795 float8 __ovld __cnfn log10(float8);
7796 float16 __ovld __cnfn log10(float16);
7797 #ifdef cl_khr_fp64
7798 double __ovld __cnfn log10(double);
7799 double2 __ovld __cnfn log10(double2);
7800 double3 __ovld __cnfn log10(double3);
7801 double4 __ovld __cnfn log10(double4);
7802 double8 __ovld __cnfn log10(double8);
7803 double16 __ovld __cnfn log10(double16);
7804 #endif //cl_khr_fp64
7805 #ifdef cl_khr_fp16
7806 half __ovld __cnfn log10(half);
7807 half2 __ovld __cnfn log10(half2);
7808 half3 __ovld __cnfn log10(half3);
7809 half4 __ovld __cnfn log10(half4);
7810 half8 __ovld __cnfn log10(half8);
7811 half16 __ovld __cnfn log10(half16);
7812 #endif //cl_khr_fp16
7813 
7817 float __ovld __cnfn log1p(float x);
7818 float2 __ovld __cnfn log1p(float2 x);
7819 float3 __ovld __cnfn log1p(float3 x);
7820 float4 __ovld __cnfn log1p(float4 x);
7821 float8 __ovld __cnfn log1p(float8 x);
7822 float16 __ovld __cnfn log1p(float16 x);
7823 #ifdef cl_khr_fp64
7824 double __ovld __cnfn log1p(double x);
7825 double2 __ovld __cnfn log1p(double2 x);
7826 double3 __ovld __cnfn log1p(double3 x);
7827 double4 __ovld __cnfn log1p(double4 x);
7828 double8 __ovld __cnfn log1p(double8 x);
7829 double16 __ovld __cnfn log1p(double16 x);
7830 #endif //cl_khr_fp64
7831 #ifdef cl_khr_fp16
7832 half __ovld __cnfn log1p(half x);
7833 half2 __ovld __cnfn log1p(half2 x);
7834 half3 __ovld __cnfn log1p(half3 x);
7835 half4 __ovld __cnfn log1p(half4 x);
7836 half8 __ovld __cnfn log1p(half8 x);
7837 half16 __ovld __cnfn log1p(half16 x);
7838 #endif //cl_khr_fp16
7839 
7844 float __ovld __cnfn logb(float x);
7845 float2 __ovld __cnfn logb(float2 x);
7846 float3 __ovld __cnfn logb(float3 x);
7847 float4 __ovld __cnfn logb(float4 x);
7848 float8 __ovld __cnfn logb(float8 x);
7849 float16 __ovld __cnfn logb(float16 x);
7850 #ifdef cl_khr_fp64
7851 double __ovld __cnfn logb(double x);
7852 double2 __ovld __cnfn logb(double2 x);
7853 double3 __ovld __cnfn logb(double3 x);
7854 double4 __ovld __cnfn logb(double4 x);
7855 double8 __ovld __cnfn logb(double8 x);
7856 double16 __ovld __cnfn logb(double16 x);
7857 #endif //cl_khr_fp64
7858 #ifdef cl_khr_fp16
7859 half __ovld __cnfn logb(half x);
7860 half2 __ovld __cnfn logb(half2 x);
7861 half3 __ovld __cnfn logb(half3 x);
7862 half4 __ovld __cnfn logb(half4 x);
7863 half8 __ovld __cnfn logb(half8 x);
7864 half16 __ovld __cnfn logb(half16 x);
7865 #endif //cl_khr_fp16
7866 
7874 float __ovld __cnfn mad(float a, float b, float c);
7875 float2 __ovld __cnfn mad(float2 a, float2 b, float2 c);
7876 float3 __ovld __cnfn mad(float3 a, float3 b, float3 c);
7877 float4 __ovld __cnfn mad(float4 a, float4 b, float4 c);
7878 float8 __ovld __cnfn mad(float8 a, float8 b, float8 c);
7879 float16 __ovld __cnfn mad(float16 a, float16 b, float16 c);
7880 #ifdef cl_khr_fp64
7881 double __ovld __cnfn mad(double a, double b, double c);
7882 double2 __ovld __cnfn mad(double2 a, double2 b, double2 c);
7883 double3 __ovld __cnfn mad(double3 a, double3 b, double3 c);
7884 double4 __ovld __cnfn mad(double4 a, double4 b, double4 c);
7885 double8 __ovld __cnfn mad(double8 a, double8 b, double8 c);
7886 double16 __ovld __cnfn mad(double16 a, double16 b, double16 c);
7887 #endif //cl_khr_fp64
7888 #ifdef cl_khr_fp16
7889 half __ovld __cnfn mad(half a, half b, half c);
7890 half2 __ovld __cnfn mad(half2 a, half2 b, half2 c);
7891 half3 __ovld __cnfn mad(half3 a, half3 b, half3 c);
7892 half4 __ovld __cnfn mad(half4 a, half4 b, half4 c);
7893 half8 __ovld __cnfn mad(half8 a, half8 b, half8 c);
7894 half16 __ovld __cnfn mad(half16 a, half16 b, half16 c);
7895 #endif //cl_khr_fp16
7896 
7901 float __ovld __cnfn maxmag(float x, float y);
7902 float2 __ovld __cnfn maxmag(float2 x, float2 y);
7903 float3 __ovld __cnfn maxmag(float3 x, float3 y);
7904 float4 __ovld __cnfn maxmag(float4 x, float4 y);
7905 float8 __ovld __cnfn maxmag(float8 x, float8 y);
7906 float16 __ovld __cnfn maxmag(float16 x, float16 y);
7907 #ifdef cl_khr_fp64
7908 double __ovld __cnfn maxmag(double x, double y);
7909 double2 __ovld __cnfn maxmag(double2 x, double2 y);
7910 double3 __ovld __cnfn maxmag(double3 x, double3 y);
7911 double4 __ovld __cnfn maxmag(double4 x, double4 y);
7912 double8 __ovld __cnfn maxmag(double8 x, double8 y);
7913 double16 __ovld __cnfn maxmag(double16 x, double16 y);
7914 #endif //cl_khr_fp64
7915 #ifdef cl_khr_fp16
7916 half __ovld __cnfn maxmag(half x, half y);
7917 half2 __ovld __cnfn maxmag(half2 x, half2 y);
7918 half3 __ovld __cnfn maxmag(half3 x, half3 y);
7919 half4 __ovld __cnfn maxmag(half4 x, half4 y);
7920 half8 __ovld __cnfn maxmag(half8 x, half8 y);
7921 half16 __ovld __cnfn maxmag(half16 x, half16 y);
7922 #endif //cl_khr_fp16
7923 
7928 float __ovld __cnfn minmag(float x, float y);
7929 float2 __ovld __cnfn minmag(float2 x, float2 y);
7930 float3 __ovld __cnfn minmag(float3 x, float3 y);
7931 float4 __ovld __cnfn minmag(float4 x, float4 y);
7932 float8 __ovld __cnfn minmag(float8 x, float8 y);
7933 float16 __ovld __cnfn minmag(float16 x, float16 y);
7934 #ifdef cl_khr_fp64
7935 double __ovld __cnfn minmag(double x, double y);
7936 double2 __ovld __cnfn minmag(double2 x, double2 y);
7937 double3 __ovld __cnfn minmag(double3 x, double3 y);
7938 double4 __ovld __cnfn minmag(double4 x, double4 y);
7939 double8 __ovld __cnfn minmag(double8 x, double8 y);
7940 double16 __ovld __cnfn minmag(double16 x, double16 y);
7941 #endif //cl_khr_fp64
7942 #ifdef cl_khr_fp16
7943 half __ovld __cnfn minmag(half x, half y);
7944 half2 __ovld __cnfn minmag(half2 x, half2 y);
7945 half3 __ovld __cnfn minmag(half3 x, half3 y);
7946 half4 __ovld __cnfn minmag(half4 x, half4 y);
7947 half8 __ovld __cnfn minmag(half8 x, half8 y);
7948 half16 __ovld __cnfn minmag(half16 x, half16 y);
7949 #endif //cl_khr_fp16
7950 
7958 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
7959 float __ovld modf(float x, float *iptr);
7960 float2 __ovld modf(float2 x, float2 *iptr);
7961 float3 __ovld modf(float3 x, float3 *iptr);
7962 float4 __ovld modf(float4 x, float4 *iptr);
7963 float8 __ovld modf(float8 x, float8 *iptr);
7964 float16 __ovld modf(float16 x, float16 *iptr);
7965 #ifdef cl_khr_fp64
7966 double __ovld modf(double x, double *iptr);
7967 double2 __ovld modf(double2 x, double2 *iptr);
7968 double3 __ovld modf(double3 x, double3 *iptr);
7969 double4 __ovld modf(double4 x, double4 *iptr);
7970 double8 __ovld modf(double8 x, double8 *iptr);
7971 double16 __ovld modf(double16 x, double16 *iptr);
7972 #endif //cl_khr_fp64
7973 #ifdef cl_khr_fp16
7974 half __ovld modf(half x, half *iptr);
7975 half2 __ovld modf(half2 x, half2 *iptr);
7976 half3 __ovld modf(half3 x, half3 *iptr);
7977 half4 __ovld modf(half4 x, half4 *iptr);
7978 half8 __ovld modf(half8 x, half8 *iptr);
7979 half16 __ovld modf(half16 x, half16 *iptr);
7980 #endif //cl_khr_fp16
7981 #else
7982 float __ovld modf(float x, __global float *iptr);
7983 float2 __ovld modf(float2 x, __global float2 *iptr);
7984 float3 __ovld modf(float3 x, __global float3 *iptr);
7985 float4 __ovld modf(float4 x, __global float4 *iptr);
7986 float8 __ovld modf(float8 x, __global float8 *iptr);
7987 float16 __ovld modf(float16 x, __global float16 *iptr);
7988 float __ovld modf(float x, __local float *iptr);
7989 float2 __ovld modf(float2 x, __local float2 *iptr);
7990 float3 __ovld modf(float3 x, __local float3 *iptr);
7991 float4 __ovld modf(float4 x, __local float4 *iptr);
7992 float8 __ovld modf(float8 x, __local float8 *iptr);
7993 float16 __ovld modf(float16 x, __local float16 *iptr);
7994 float __ovld modf(float x, __private float *iptr);
7995 float2 __ovld modf(float2 x, __private float2 *iptr);
7996 float3 __ovld modf(float3 x, __private float3 *iptr);
7997 float4 __ovld modf(float4 x, __private float4 *iptr);
7998 float8 __ovld modf(float8 x, __private float8 *iptr);
7999 float16 __ovld modf(float16 x, __private float16 *iptr);
8000 #ifdef cl_khr_fp64
8001 double __ovld modf(double x, __global double *iptr);
8002 double2 __ovld modf(double2 x, __global double2 *iptr);
8003 double3 __ovld modf(double3 x, __global double3 *iptr);
8004 double4 __ovld modf(double4 x, __global double4 *iptr);
8005 double8 __ovld modf(double8 x, __global double8 *iptr);
8006 double16 __ovld modf(double16 x, __global double16 *iptr);
8007 double __ovld modf(double x, __local double *iptr);
8008 double2 __ovld modf(double2 x, __local double2 *iptr);
8009 double3 __ovld modf(double3 x, __local double3 *iptr);
8010 double4 __ovld modf(double4 x, __local double4 *iptr);
8011 double8 __ovld modf(double8 x, __local double8 *iptr);
8012 double16 __ovld modf(double16 x, __local double16 *iptr);
8013 double __ovld modf(double x, __private double *iptr);
8014 double2 __ovld modf(double2 x, __private double2 *iptr);
8015 double3 __ovld modf(double3 x, __private double3 *iptr);
8016 double4 __ovld modf(double4 x, __private double4 *iptr);
8017 double8 __ovld modf(double8 x, __private double8 *iptr);
8018 double16 __ovld modf(double16 x, __private double16 *iptr);
8019 #endif //cl_khr_fp64
8020 #ifdef cl_khr_fp16
8021 half __ovld modf(half x, __global half *iptr);
8022 half2 __ovld modf(half2 x, __global half2 *iptr);
8023 half3 __ovld modf(half3 x, __global half3 *iptr);
8024 half4 __ovld modf(half4 x, __global half4 *iptr);
8025 half8 __ovld modf(half8 x, __global half8 *iptr);
8026 half16 __ovld modf(half16 x, __global half16 *iptr);
8027 half __ovld modf(half x, __local half *iptr);
8028 half2 __ovld modf(half2 x, __local half2 *iptr);
8029 half3 __ovld modf(half3 x, __local half3 *iptr);
8030 half4 __ovld modf(half4 x, __local half4 *iptr);
8031 half8 __ovld modf(half8 x, __local half8 *iptr);
8032 half16 __ovld modf(half16 x, __local half16 *iptr);
8033 half __ovld modf(half x, __private half *iptr);
8034 half2 __ovld modf(half2 x, __private half2 *iptr);
8035 half3 __ovld modf(half3 x, __private half3 *iptr);
8036 half4 __ovld modf(half4 x, __private half4 *iptr);
8037 half8 __ovld modf(half8 x, __private half8 *iptr);
8038 half16 __ovld modf(half16 x, __private half16 *iptr);
8039 #endif //cl_khr_fp16
8040 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
8041 
8046 float __ovld __cnfn nan(uint nancode);
8047 float2 __ovld __cnfn nan(uint2 nancode);
8048 float3 __ovld __cnfn nan(uint3 nancode);
8049 float4 __ovld __cnfn nan(uint4 nancode);
8050 float8 __ovld __cnfn nan(uint8 nancode);
8051 float16 __ovld __cnfn nan(uint16 nancode);
8052 #ifdef cl_khr_fp64
8053 double __ovld __cnfn nan(ulong nancode);
8054 double2 __ovld __cnfn nan(ulong2 nancode);
8055 double3 __ovld __cnfn nan(ulong3 nancode);
8056 double4 __ovld __cnfn nan(ulong4 nancode);
8057 double8 __ovld __cnfn nan(ulong8 nancode);
8058 double16 __ovld __cnfn nan(ulong16 nancode);
8059 #endif //cl_khr_fp64
8060 #ifdef cl_khr_fp16
8061 half __ovld __cnfn nan(ushort nancode);
8062 half2 __ovld __cnfn nan(ushort2 nancode);
8063 half3 __ovld __cnfn nan(ushort3 nancode);
8064 half4 __ovld __cnfn nan(ushort4 nancode);
8065 half8 __ovld __cnfn nan(ushort8 nancode);
8066 half16 __ovld __cnfn nan(ushort16 nancode);
8067 #endif //cl_khr_fp16
8068 
8076 float __ovld __cnfn nextafter(float x, float y);
8077 float2 __ovld __cnfn nextafter(float2 x, float2 y);
8078 float3 __ovld __cnfn nextafter(float3 x, float3 y);
8079 float4 __ovld __cnfn nextafter(float4 x, float4 y);
8080 float8 __ovld __cnfn nextafter(float8 x, float8 y);
8081 float16 __ovld __cnfn nextafter(float16 x, float16 y);
8082 #ifdef cl_khr_fp64
8083 double __ovld __cnfn nextafter(double x, double y);
8084 double2 __ovld __cnfn nextafter(double2 x, double2 y);
8085 double3 __ovld __cnfn nextafter(double3 x, double3 y);
8086 double4 __ovld __cnfn nextafter(double4 x, double4 y);
8087 double8 __ovld __cnfn nextafter(double8 x, double8 y);
8088 double16 __ovld __cnfn nextafter(double16 x, double16 y);
8089 #endif //cl_khr_fp64
8090 #ifdef cl_khr_fp16
8091 half __ovld __cnfn nextafter(half x, half y);
8092 half2 __ovld __cnfn nextafter(half2 x, half2 y);
8093 half3 __ovld __cnfn nextafter(half3 x, half3 y);
8094 half4 __ovld __cnfn nextafter(half4 x, half4 y);
8095 half8 __ovld __cnfn nextafter(half8 x, half8 y);
8096 half16 __ovld __cnfn nextafter(half16 x, half16 y);
8097 #endif //cl_khr_fp16
8098 
8102 float __ovld __cnfn pow(float x, float y);
8103 float2 __ovld __cnfn pow(float2 x, float2 y);
8104 float3 __ovld __cnfn pow(float3 x, float3 y);
8105 float4 __ovld __cnfn pow(float4 x, float4 y);
8106 float8 __ovld __cnfn pow(float8 x, float8 y);
8107 float16 __ovld __cnfn pow(float16 x, float16 y);
8108 #ifdef cl_khr_fp64
8109 double __ovld __cnfn pow(double x, double y);
8110 double2 __ovld __cnfn pow(double2 x, double2 y);
8111 double3 __ovld __cnfn pow(double3 x, double3 y);
8112 double4 __ovld __cnfn pow(double4 x, double4 y);
8113 double8 __ovld __cnfn pow(double8 x, double8 y);
8114 double16 __ovld __cnfn pow(double16 x, double16 y);
8115 #endif //cl_khr_fp64
8116 #ifdef cl_khr_fp16
8117 half __ovld __cnfn pow(half x, half y);
8118 half2 __ovld __cnfn pow(half2 x, half2 y);
8119 half3 __ovld __cnfn pow(half3 x, half3 y);
8120 half4 __ovld __cnfn pow(half4 x, half4 y);
8121 half8 __ovld __cnfn pow(half8 x, half8 y);
8122 half16 __ovld __cnfn pow(half16 x, half16 y);
8123 #endif //cl_khr_fp16
8124 
8128 float __ovld __cnfn pown(float x, int y);
8129 float2 __ovld __cnfn pown(float2 x, int2 y);
8130 float3 __ovld __cnfn pown(float3 x, int3 y);
8131 float4 __ovld __cnfn pown(float4 x, int4 y);
8132 float8 __ovld __cnfn pown(float8 x, int8 y);
8133 float16 __ovld __cnfn pown(float16 x, int16 y);
8134 #ifdef cl_khr_fp64
8135 double __ovld __cnfn pown(double x, int y);
8136 double2 __ovld __cnfn pown(double2 x, int2 y);
8137 double3 __ovld __cnfn pown(double3 x, int3 y);
8138 double4 __ovld __cnfn pown(double4 x, int4 y);
8139 double8 __ovld __cnfn pown(double8 x, int8 y);
8140 double16 __ovld __cnfn pown(double16 x, int16 y);
8141 #endif //cl_khr_fp64
8142 #ifdef cl_khr_fp16
8143 half __ovld __cnfn pown(half x, int y);
8144 half2 __ovld __cnfn pown(half2 x, int2 y);
8145 half3 __ovld __cnfn pown(half3 x, int3 y);
8146 half4 __ovld __cnfn pown(half4 x, int4 y);
8147 half8 __ovld __cnfn pown(half8 x, int8 y);
8148 half16 __ovld __cnfn pown(half16 x, int16 y);
8149 #endif //cl_khr_fp16
8150 
8154 float __ovld __cnfn powr(float x, float y);
8155 float2 __ovld __cnfn powr(float2 x, float2 y);
8156 float3 __ovld __cnfn powr(float3 x, float3 y);
8157 float4 __ovld __cnfn powr(float4 x, float4 y);
8158 float8 __ovld __cnfn powr(float8 x, float8 y);
8159 float16 __ovld __cnfn powr(float16 x, float16 y);
8160 #ifdef cl_khr_fp64
8161 double __ovld __cnfn powr(double x, double y);
8162 double2 __ovld __cnfn powr(double2 x, double2 y);
8163 double3 __ovld __cnfn powr(double3 x, double3 y);
8164 double4 __ovld __cnfn powr(double4 x, double4 y);
8165 double8 __ovld __cnfn powr(double8 x, double8 y);
8166 double16 __ovld __cnfn powr(double16 x, double16 y);
8167 #endif //cl_khr_fp64
8168 #ifdef cl_khr_fp16
8169 half __ovld __cnfn powr(half x, half y);
8170 half2 __ovld __cnfn powr(half2 x, half2 y);
8171 half3 __ovld __cnfn powr(half3 x, half3 y);
8172 half4 __ovld __cnfn powr(half4 x, half4 y);
8173 half8 __ovld __cnfn powr(half8 x, half8 y);
8174 half16 __ovld __cnfn powr(half16 x, half16 y);
8175 #endif //cl_khr_fp16
8176 
8183 float __ovld __cnfn remainder(float x, float y);
8184 float2 __ovld __cnfn remainder(float2 x, float2 y);
8185 float3 __ovld __cnfn remainder(float3 x, float3 y);
8186 float4 __ovld __cnfn remainder(float4 x, float4 y);
8187 float8 __ovld __cnfn remainder(float8 x, float8 y);
8188 float16 __ovld __cnfn remainder(float16 x, float16 y);
8189 #ifdef cl_khr_fp64
8190 double __ovld __cnfn remainder(double x, double y);
8191 double2 __ovld __cnfn remainder(double2 x, double2 y);
8192 double3 __ovld __cnfn remainder(double3 x, double3 y);
8193 double4 __ovld __cnfn remainder(double4 x, double4 y);
8194 double8 __ovld __cnfn remainder(double8 x, double8 y);
8195 double16 __ovld __cnfn remainder(double16 x, double16 y);
8196 #endif //cl_khr_fp64
8197 #ifdef cl_khr_fp16
8198 half __ovld __cnfn remainder(half x, half y);
8199 half2 __ovld __cnfn remainder(half2 x, half2 y);
8200 half3 __ovld __cnfn remainder(half3 x, half3 y);
8201 half4 __ovld __cnfn remainder(half4 x, half4 y);
8202 half8 __ovld __cnfn remainder(half8 x, half8 y);
8203 half16 __ovld __cnfn remainder(half16 x, half16 y);
8204 #endif //cl_khr_fp16
8205 
8218 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
8219 float __ovld remquo(float x, float y, int *quo);
8220 float2 __ovld remquo(float2 x, float2 y, int2 *quo);
8221 float3 __ovld remquo(float3 x, float3 y, int3 *quo);
8222 float4 __ovld remquo(float4 x, float4 y, int4 *quo);
8223 float8 __ovld remquo(float8 x, float8 y, int8 *quo);
8224 float16 __ovld remquo(float16 x, float16 y, int16 *quo);
8225 #ifdef cl_khr_fp64
8226 double __ovld remquo(double x, double y, int *quo);
8227 double2 __ovld remquo(double2 x, double2 y, int2 *quo);
8228 double3 __ovld remquo(double3 x, double3 y, int3 *quo);
8229 double4 __ovld remquo(double4 x, double4 y, int4 *quo);
8230 double8 __ovld remquo(double8 x, double8 y, int8 *quo);
8231 double16 __ovld remquo(double16 x, double16 y, int16 *quo);
8232 #endif //cl_khr_fp64
8233 #ifdef cl_khr_fp16
8234 half __ovld remquo(half x, half y, int *quo);
8235 half2 __ovld remquo(half2 x, half2 y, int2 *quo);
8236 half3 __ovld remquo(half3 x, half3 y, int3 *quo);
8237 half4 __ovld remquo(half4 x, half4 y, int4 *quo);
8238 half8 __ovld remquo(half8 x, half8 y, int8 *quo);
8239 half16 __ovld remquo(half16 x, half16 y, int16 *quo);
8240 
8241 #endif //cl_khr_fp16
8242 #else
8243 float __ovld remquo(float x, float y, __global int *quo);
8244 float2 __ovld remquo(float2 x, float2 y, __global int2 *quo);
8245 float3 __ovld remquo(float3 x, float3 y, __global int3 *quo);
8246 float4 __ovld remquo(float4 x, float4 y, __global int4 *quo);
8247 float8 __ovld remquo(float8 x, float8 y, __global int8 *quo);
8248 float16 __ovld remquo(float16 x, float16 y, __global int16 *quo);
8249 float __ovld remquo(float x, float y, __local int *quo);
8250 float2 __ovld remquo(float2 x, float2 y, __local int2 *quo);
8251 float3 __ovld remquo(float3 x, float3 y, __local int3 *quo);
8252 float4 __ovld remquo(float4 x, float4 y, __local int4 *quo);
8253 float8 __ovld remquo(float8 x, float8 y, __local int8 *quo);
8254 float16 __ovld remquo(float16 x, float16 y, __local int16 *quo);
8255 float __ovld remquo(float x, float y, __private int *quo);
8256 float2 __ovld remquo(float2 x, float2 y, __private int2 *quo);
8257 float3 __ovld remquo(float3 x, float3 y, __private int3 *quo);
8258 float4 __ovld remquo(float4 x, float4 y, __private int4 *quo);
8259 float8 __ovld remquo(float8 x, float8 y, __private int8 *quo);
8260 float16 __ovld remquo(float16 x, float16 y, __private int16 *quo);
8261 #ifdef cl_khr_fp64
8262 double __ovld remquo(double x, double y, __global int *quo);
8263 double2 __ovld remquo(double2 x, double2 y, __global int2 *quo);
8264 double3 __ovld remquo(double3 x, double3 y, __global int3 *quo);
8265 double4 __ovld remquo(double4 x, double4 y, __global int4 *quo);
8266 double8 __ovld remquo(double8 x, double8 y, __global int8 *quo);
8267 double16 __ovld remquo(double16 x, double16 y, __global int16 *quo);
8268 double __ovld remquo(double x, double y, __local int *quo);
8269 double2 __ovld remquo(double2 x, double2 y, __local int2 *quo);
8270 double3 __ovld remquo(double3 x, double3 y, __local int3 *quo);
8271 double4 __ovld remquo(double4 x, double4 y, __local int4 *quo);
8272 double8 __ovld remquo(double8 x, double8 y, __local int8 *quo);
8273 double16 __ovld remquo(double16 x, double16 y, __local int16 *quo);
8274 double __ovld remquo(double x, double y, __private int *quo);
8275 double2 __ovld remquo(double2 x, double2 y, __private int2 *quo);
8276 double3 __ovld remquo(double3 x, double3 y, __private int3 *quo);
8277 double4 __ovld remquo(double4 x, double4 y, __private int4 *quo);
8278 double8 __ovld remquo(double8 x, double8 y, __private int8 *quo);
8279 double16 __ovld remquo(double16 x, double16 y, __private int16 *quo);
8280 #endif //cl_khr_fp64
8281 #ifdef cl_khr_fp16
8282 half __ovld remquo(half x, half y, __global int *quo);
8283 half2 __ovld remquo(half2 x, half2 y, __global int2 *quo);
8284 half3 __ovld remquo(half3 x, half3 y, __global int3 *quo);
8285 half4 __ovld remquo(half4 x, half4 y, __global int4 *quo);
8286 half8 __ovld remquo(half8 x, half8 y, __global int8 *quo);
8287 half16 __ovld remquo(half16 x, half16 y, __global int16 *quo);
8288 half __ovld remquo(half x, half y, __local int *quo);
8289 half2 __ovld remquo(half2 x, half2 y, __local int2 *quo);
8290 half3 __ovld remquo(half3 x, half3 y, __local int3 *quo);
8291 half4 __ovld remquo(half4 x, half4 y, __local int4 *quo);
8292 half8 __ovld remquo(half8 x, half8 y, __local int8 *quo);
8293 half16 __ovld remquo(half16 x, half16 y, __local int16 *quo);
8294 half __ovld remquo(half x, half y, __private int *quo);
8295 half2 __ovld remquo(half2 x, half2 y, __private int2 *quo);
8296 half3 __ovld remquo(half3 x, half3 y, __private int3 *quo);
8297 half4 __ovld remquo(half4 x, half4 y, __private int4 *quo);
8298 half8 __ovld remquo(half8 x, half8 y, __private int8 *quo);
8299 half16 __ovld remquo(half16 x, half16 y, __private int16 *quo);
8300 #endif //cl_khr_fp16
8301 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
8308 float __ovld __cnfn rint(float);
8309 float2 __ovld __cnfn rint(float2);
8310 float3 __ovld __cnfn rint(float3);
8311 float4 __ovld __cnfn rint(float4);
8312 float8 __ovld __cnfn rint(float8);
8313 float16 __ovld __cnfn rint(float16);
8314 #ifdef cl_khr_fp64
8315 double __ovld __cnfn rint(double);
8316 double2 __ovld __cnfn rint(double2);
8317 double3 __ovld __cnfn rint(double3);
8318 double4 __ovld __cnfn rint(double4);
8319 double8 __ovld __cnfn rint(double8);
8320 double16 __ovld __cnfn rint(double16);
8321 #endif //cl_khr_fp64
8322 #ifdef cl_khr_fp16
8323 half __ovld __cnfn rint(half);
8324 half2 __ovld __cnfn rint(half2);
8325 half3 __ovld __cnfn rint(half3);
8326 half4 __ovld __cnfn rint(half4);
8327 half8 __ovld __cnfn rint(half8);
8328 half16 __ovld __cnfn rint(half16);
8329 #endif //cl_khr_fp16
8330 
8334 float __ovld __cnfn rootn(float x, int y);
8335 float2 __ovld __cnfn rootn(float2 x, int2 y);
8336 float3 __ovld __cnfn rootn(float3 x, int3 y);
8337 float4 __ovld __cnfn rootn(float4 x, int4 y);
8338 float8 __ovld __cnfn rootn(float8 x, int8 y);
8339 float16 __ovld __cnfn rootn(float16 x, int16 y);
8340 #ifdef cl_khr_fp64
8341 double __ovld __cnfn rootn(double x, int y);
8342 double2 __ovld __cnfn rootn(double2 x, int2 y);
8343 double3 __ovld __cnfn rootn(double3 x, int3 y);
8344 double4 __ovld __cnfn rootn(double4 x, int4 y);
8345 double8 __ovld __cnfn rootn(double8 x, int8 y);
8346 double16 __ovld __cnfn rootn(double16 x, int16 y);
8347 #endif //cl_khr_fp64
8348 #ifdef cl_khr_fp16
8349 half __ovld __cnfn rootn(half x, int y);
8350 half2 __ovld __cnfn rootn(half2 x, int2 y);
8351 half3 __ovld __cnfn rootn(half3 x, int3 y);
8352 half4 __ovld __cnfn rootn(half4 x, int4 y);
8353 half8 __ovld __cnfn rootn(half8 x, int8 y);
8354 half16 __ovld __cnfn rootn(half16 x, int16 y);
8355 #endif //cl_khr_fp16
8356 
8362 float __ovld __cnfn round(float x);
8363 float2 __ovld __cnfn round(float2 x);
8364 float3 __ovld __cnfn round(float3 x);
8365 float4 __ovld __cnfn round(float4 x);
8366 float8 __ovld __cnfn round(float8 x);
8367 float16 __ovld __cnfn round(float16 x);
8368 #ifdef cl_khr_fp64
8369 double __ovld __cnfn round(double x);
8370 double2 __ovld __cnfn round(double2 x);
8371 double3 __ovld __cnfn round(double3 x);
8372 double4 __ovld __cnfn round(double4 x);
8373 double8 __ovld __cnfn round(double8 x);
8374 double16 __ovld __cnfn round(double16 x);
8375 #endif //cl_khr_fp64
8376 #ifdef cl_khr_fp16
8377 half __ovld __cnfn round(half x);
8378 half2 __ovld __cnfn round(half2 x);
8379 half3 __ovld __cnfn round(half3 x);
8380 half4 __ovld __cnfn round(half4 x);
8381 half8 __ovld __cnfn round(half8 x);
8382 half16 __ovld __cnfn round(half16 x);
8383 #endif //cl_khr_fp16
8384 
8388 float __ovld __cnfn rsqrt(float);
8389 float2 __ovld __cnfn rsqrt(float2);
8390 float3 __ovld __cnfn rsqrt(float3);
8391 float4 __ovld __cnfn rsqrt(float4);
8392 float8 __ovld __cnfn rsqrt(float8);
8393 float16 __ovld __cnfn rsqrt(float16);
8394 #ifdef cl_khr_fp64
8395 double __ovld __cnfn rsqrt(double);
8396 double2 __ovld __cnfn rsqrt(double2);
8397 double3 __ovld __cnfn rsqrt(double3);
8398 double4 __ovld __cnfn rsqrt(double4);
8399 double8 __ovld __cnfn rsqrt(double8);
8400 double16 __ovld __cnfn rsqrt(double16);
8401 #endif //cl_khr_fp64
8402 #ifdef cl_khr_fp16
8403 half __ovld __cnfn rsqrt(half);
8404 half2 __ovld __cnfn rsqrt(half2);
8405 half3 __ovld __cnfn rsqrt(half3);
8406 half4 __ovld __cnfn rsqrt(half4);
8407 half8 __ovld __cnfn rsqrt(half8);
8408 half16 __ovld __cnfn rsqrt(half16);
8409 #endif //cl_khr_fp16
8410 
8414 float __ovld __cnfn sin(float);
8415 float2 __ovld __cnfn sin(float2);
8416 float3 __ovld __cnfn sin(float3);
8417 float4 __ovld __cnfn sin(float4);
8418 float8 __ovld __cnfn sin(float8);
8419 float16 __ovld __cnfn sin(float16);
8420 #ifdef cl_khr_fp64
8421 double __ovld __cnfn sin(double);
8422 double2 __ovld __cnfn sin(double2);
8423 double3 __ovld __cnfn sin(double3);
8424 double4 __ovld __cnfn sin(double4);
8425 double8 __ovld __cnfn sin(double8);
8426 double16 __ovld __cnfn sin(double16);
8427 #endif //cl_khr_fp64
8428 #ifdef cl_khr_fp16
8429 half __ovld __cnfn sin(half);
8430 half2 __ovld __cnfn sin(half2);
8431 half3 __ovld __cnfn sin(half3);
8432 half4 __ovld __cnfn sin(half4);
8433 half8 __ovld __cnfn sin(half8);
8434 half16 __ovld __cnfn sin(half16);
8435 #endif //cl_khr_fp16
8436 
8442 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
8443 float __ovld sincos(float x, float *cosval);
8444 float2 __ovld sincos(float2 x, float2 *cosval);
8445 float3 __ovld sincos(float3 x, float3 *cosval);
8446 float4 __ovld sincos(float4 x, float4 *cosval);
8447 float8 __ovld sincos(float8 x, float8 *cosval);
8448 float16 __ovld sincos(float16 x, float16 *cosval);
8449 #ifdef cl_khr_fp64
8450 double __ovld sincos(double x, double *cosval);
8451 double2 __ovld sincos(double2 x, double2 *cosval);
8452 double3 __ovld sincos(double3 x, double3 *cosval);
8453 double4 __ovld sincos(double4 x, double4 *cosval);
8454 double8 __ovld sincos(double8 x, double8 *cosval);
8455 double16 __ovld sincos(double16 x, double16 *cosval);
8456 #endif //cl_khr_fp64
8457 #ifdef cl_khr_fp16
8458 half __ovld sincos(half x, half *cosval);
8459 half2 __ovld sincos(half2 x, half2 *cosval);
8460 half3 __ovld sincos(half3 x, half3 *cosval);
8461 half4 __ovld sincos(half4 x, half4 *cosval);
8462 half8 __ovld sincos(half8 x, half8 *cosval);
8463 half16 __ovld sincos(half16 x, half16 *cosval);
8464 #endif //cl_khr_fp16
8465 #else
8466 float __ovld sincos(float x, __global float *cosval);
8467 float2 __ovld sincos(float2 x, __global float2 *cosval);
8468 float3 __ovld sincos(float3 x, __global float3 *cosval);
8469 float4 __ovld sincos(float4 x, __global float4 *cosval);
8470 float8 __ovld sincos(float8 x, __global float8 *cosval);
8471 float16 __ovld sincos(float16 x, __global float16 *cosval);
8472 float __ovld sincos(float x, __local float *cosval);
8473 float2 __ovld sincos(float2 x, __local float2 *cosval);
8474 float3 __ovld sincos(float3 x, __local float3 *cosval);
8475 float4 __ovld sincos(float4 x, __local float4 *cosval);
8476 float8 __ovld sincos(float8 x, __local float8 *cosval);
8477 float16 __ovld sincos(float16 x, __local float16 *cosval);
8478 float __ovld sincos(float x, __private float *cosval);
8479 float2 __ovld sincos(float2 x, __private float2 *cosval);
8480 float3 __ovld sincos(float3 x, __private float3 *cosval);
8481 float4 __ovld sincos(float4 x, __private float4 *cosval);
8482 float8 __ovld sincos(float8 x, __private float8 *cosval);
8483 float16 __ovld sincos(float16 x, __private float16 *cosval);
8484 #ifdef cl_khr_fp64
8485 double __ovld sincos(double x, __global double *cosval);
8486 double2 __ovld sincos(double2 x, __global double2 *cosval);
8487 double3 __ovld sincos(double3 x, __global double3 *cosval);
8488 double4 __ovld sincos(double4 x, __global double4 *cosval);
8489 double8 __ovld sincos(double8 x, __global double8 *cosval);
8490 double16 __ovld sincos(double16 x, __global double16 *cosval);
8491 double __ovld sincos(double x, __local double *cosval);
8492 double2 __ovld sincos(double2 x, __local double2 *cosval);
8493 double3 __ovld sincos(double3 x, __local double3 *cosval);
8494 double4 __ovld sincos(double4 x, __local double4 *cosval);
8495 double8 __ovld sincos(double8 x, __local double8 *cosval);
8496 double16 __ovld sincos(double16 x, __local double16 *cosval);
8497 double __ovld sincos(double x, __private double *cosval);
8498 double2 __ovld sincos(double2 x, __private double2 *cosval);
8499 double3 __ovld sincos(double3 x, __private double3 *cosval);
8500 double4 __ovld sincos(double4 x, __private double4 *cosval);
8501 double8 __ovld sincos(double8 x, __private double8 *cosval);
8502 double16 __ovld sincos(double16 x, __private double16 *cosval);
8503 #endif //cl_khr_fp64
8504 #ifdef cl_khr_fp16
8505 half __ovld sincos(half x, __global half *cosval);
8506 half2 __ovld sincos(half2 x, __global half2 *cosval);
8507 half3 __ovld sincos(half3 x, __global half3 *cosval);
8508 half4 __ovld sincos(half4 x, __global half4 *cosval);
8509 half8 __ovld sincos(half8 x, __global half8 *cosval);
8510 half16 __ovld sincos(half16 x, __global half16 *cosval);
8511 half __ovld sincos(half x, __local half *cosval);
8512 half2 __ovld sincos(half2 x, __local half2 *cosval);
8513 half3 __ovld sincos(half3 x, __local half3 *cosval);
8514 half4 __ovld sincos(half4 x, __local half4 *cosval);
8515 half8 __ovld sincos(half8 x, __local half8 *cosval);
8516 half16 __ovld sincos(half16 x, __local half16 *cosval);
8517 half __ovld sincos(half x, __private half *cosval);
8518 half2 __ovld sincos(half2 x, __private half2 *cosval);
8519 half3 __ovld sincos(half3 x, __private half3 *cosval);
8520 half4 __ovld sincos(half4 x, __private half4 *cosval);
8521 half8 __ovld sincos(half8 x, __private half8 *cosval);
8522 half16 __ovld sincos(half16 x, __private half16 *cosval);
8523 #endif //cl_khr_fp16
8524 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
8525 
8529 float __ovld __cnfn sinh(float);
8530 float2 __ovld __cnfn sinh(float2);
8531 float3 __ovld __cnfn sinh(float3);
8532 float4 __ovld __cnfn sinh(float4);
8533 float8 __ovld __cnfn sinh(float8);
8534 float16 __ovld __cnfn sinh(float16);
8535 #ifdef cl_khr_fp64
8536 double __ovld __cnfn sinh(double);
8537 double2 __ovld __cnfn sinh(double2);
8538 double3 __ovld __cnfn sinh(double3);
8539 double4 __ovld __cnfn sinh(double4);
8540 double8 __ovld __cnfn sinh(double8);
8541 double16 __ovld __cnfn sinh(double16);
8542 #endif //cl_khr_fp64
8543 #ifdef cl_khr_fp16
8544 half __ovld __cnfn sinh(half);
8545 half2 __ovld __cnfn sinh(half2);
8546 half3 __ovld __cnfn sinh(half3);
8547 half4 __ovld __cnfn sinh(half4);
8548 half8 __ovld __cnfn sinh(half8);
8549 half16 __ovld __cnfn sinh(half16);
8550 #endif //cl_khr_fp16
8551 
8555 float __ovld __cnfn sinpi(float x);
8556 float2 __ovld __cnfn sinpi(float2 x);
8557 float3 __ovld __cnfn sinpi(float3 x);
8558 float4 __ovld __cnfn sinpi(float4 x);
8559 float8 __ovld __cnfn sinpi(float8 x);
8560 float16 __ovld __cnfn sinpi(float16 x);
8561 #ifdef cl_khr_fp64
8562 double __ovld __cnfn sinpi(double x);
8563 double2 __ovld __cnfn sinpi(double2 x);
8564 double3 __ovld __cnfn sinpi(double3 x);
8565 double4 __ovld __cnfn sinpi(double4 x);
8566 double8 __ovld __cnfn sinpi(double8 x);
8567 double16 __ovld __cnfn sinpi(double16 x);
8568 #endif //cl_khr_fp64
8569 #ifdef cl_khr_fp16
8570 half __ovld __cnfn sinpi(half x);
8571 half2 __ovld __cnfn sinpi(half2 x);
8572 half3 __ovld __cnfn sinpi(half3 x);
8573 half4 __ovld __cnfn sinpi(half4 x);
8574 half8 __ovld __cnfn sinpi(half8 x);
8575 half16 __ovld __cnfn sinpi(half16 x);
8576 #endif //cl_khr_fp16
8577 
8581 float __ovld __cnfn sqrt(float);
8582 float2 __ovld __cnfn sqrt(float2);
8583 float3 __ovld __cnfn sqrt(float3);
8584 float4 __ovld __cnfn sqrt(float4);
8585 float8 __ovld __cnfn sqrt(float8);
8586 float16 __ovld __cnfn sqrt(float16);
8587 #ifdef cl_khr_fp64
8588 double __ovld __cnfn sqrt(double);
8589 double2 __ovld __cnfn sqrt(double2);
8590 double3 __ovld __cnfn sqrt(double3);
8591 double4 __ovld __cnfn sqrt(double4);
8592 double8 __ovld __cnfn sqrt(double8);
8593 double16 __ovld __cnfn sqrt(double16);
8594 #endif //cl_khr_fp64
8595 #ifdef cl_khr_fp16
8596 half __ovld __cnfn sqrt(half);
8597 half2 __ovld __cnfn sqrt(half2);
8598 half3 __ovld __cnfn sqrt(half3);
8599 half4 __ovld __cnfn sqrt(half4);
8600 half8 __ovld __cnfn sqrt(half8);
8601 half16 __ovld __cnfn sqrt(half16);
8602 #endif //cl_khr_fp16
8603 
8607 float __ovld __cnfn tan(float);
8608 float2 __ovld __cnfn tan(float2);
8609 float3 __ovld __cnfn tan(float3);
8610 float4 __ovld __cnfn tan(float4);
8611 float8 __ovld __cnfn tan(float8);
8612 float16 __ovld __cnfn tan(float16);
8613 #ifdef cl_khr_fp64
8614 double __ovld __cnfn tan(double);
8615 double2 __ovld __cnfn tan(double2);
8616 double3 __ovld __cnfn tan(double3);
8617 double4 __ovld __cnfn tan(double4);
8618 double8 __ovld __cnfn tan(double8);
8619 double16 __ovld __cnfn tan(double16);
8620 #endif //cl_khr_fp64
8621 #ifdef cl_khr_fp16
8622 half __ovld __cnfn tan(half);
8623 half2 __ovld __cnfn tan(half2);
8624 half3 __ovld __cnfn tan(half3);
8625 half4 __ovld __cnfn tan(half4);
8626 half8 __ovld __cnfn tan(half8);
8627 half16 __ovld __cnfn tan(half16);
8628 #endif //cl_khr_fp16
8629 
8633 float __ovld __cnfn tanh(float);
8634 float2 __ovld __cnfn tanh(float2);
8635 float3 __ovld __cnfn tanh(float3);
8636 float4 __ovld __cnfn tanh(float4);
8637 float8 __ovld __cnfn tanh(float8);
8638 float16 __ovld __cnfn tanh(float16);
8639 #ifdef cl_khr_fp64
8640 double __ovld __cnfn tanh(double);
8641 double2 __ovld __cnfn tanh(double2);
8642 double3 __ovld __cnfn tanh(double3);
8643 double4 __ovld __cnfn tanh(double4);
8644 double8 __ovld __cnfn tanh(double8);
8645 double16 __ovld __cnfn tanh(double16);
8646 #endif //cl_khr_fp64
8647 #ifdef cl_khr_fp16
8648 half __ovld __cnfn tanh(half);
8649 half2 __ovld __cnfn tanh(half2);
8650 half3 __ovld __cnfn tanh(half3);
8651 half4 __ovld __cnfn tanh(half4);
8652 half8 __ovld __cnfn tanh(half8);
8653 half16 __ovld __cnfn tanh(half16);
8654 #endif //cl_khr_fp16
8655 
8659 float __ovld __cnfn tanpi(float x);
8660 float2 __ovld __cnfn tanpi(float2 x);
8661 float3 __ovld __cnfn tanpi(float3 x);
8662 float4 __ovld __cnfn tanpi(float4 x);
8663 float8 __ovld __cnfn tanpi(float8 x);
8664 float16 __ovld __cnfn tanpi(float16 x);
8665 #ifdef cl_khr_fp64
8666 double __ovld __cnfn tanpi(double x);
8667 double2 __ovld __cnfn tanpi(double2 x);
8668 double3 __ovld __cnfn tanpi(double3 x);
8669 double4 __ovld __cnfn tanpi(double4 x);
8670 double8 __ovld __cnfn tanpi(double8 x);
8671 double16 __ovld __cnfn tanpi(double16 x);
8672 #endif //cl_khr_fp64
8673 #ifdef cl_khr_fp16
8674 half __ovld __cnfn tanpi(half x);
8675 half2 __ovld __cnfn tanpi(half2 x);
8676 half3 __ovld __cnfn tanpi(half3 x);
8677 half4 __ovld __cnfn tanpi(half4 x);
8678 half8 __ovld __cnfn tanpi(half8 x);
8679 half16 __ovld __cnfn tanpi(half16 x);
8680 #endif //cl_khr_fp16
8681 
8685 float __ovld __cnfn tgamma(float);
8686 float2 __ovld __cnfn tgamma(float2);
8687 float3 __ovld __cnfn tgamma(float3);
8688 float4 __ovld __cnfn tgamma(float4);
8689 float8 __ovld __cnfn tgamma(float8);
8690 float16 __ovld __cnfn tgamma(float16);
8691 #ifdef cl_khr_fp64
8692 double __ovld __cnfn tgamma(double);
8693 double2 __ovld __cnfn tgamma(double2);
8694 double3 __ovld __cnfn tgamma(double3);
8695 double4 __ovld __cnfn tgamma(double4);
8696 double8 __ovld __cnfn tgamma(double8);
8697 double16 __ovld __cnfn tgamma(double16);
8698 #endif //cl_khr_fp64
8699 #ifdef cl_khr_fp16
8700 half __ovld __cnfn tgamma(half);
8701 half2 __ovld __cnfn tgamma(half2);
8702 half3 __ovld __cnfn tgamma(half3);
8703 half4 __ovld __cnfn tgamma(half4);
8704 half8 __ovld __cnfn tgamma(half8);
8705 half16 __ovld __cnfn tgamma(half16);
8706 #endif //cl_khr_fp16
8707 
8712 float __ovld __cnfn trunc(float);
8713 float2 __ovld __cnfn trunc(float2);
8714 float3 __ovld __cnfn trunc(float3);
8715 float4 __ovld __cnfn trunc(float4);
8716 float8 __ovld __cnfn trunc(float8);
8717 float16 __ovld __cnfn trunc(float16);
8718 #ifdef cl_khr_fp64
8719 double __ovld __cnfn trunc(double);
8720 double2 __ovld __cnfn trunc(double2);
8721 double3 __ovld __cnfn trunc(double3);
8722 double4 __ovld __cnfn trunc(double4);
8723 double8 __ovld __cnfn trunc(double8);
8724 double16 __ovld __cnfn trunc(double16);
8725 #endif //cl_khr_fp64
8726 #ifdef cl_khr_fp16
8727 half __ovld __cnfn trunc(half);
8728 half2 __ovld __cnfn trunc(half2);
8729 half3 __ovld __cnfn trunc(half3);
8730 half4 __ovld __cnfn trunc(half4);
8731 half8 __ovld __cnfn trunc(half8);
8732 half16 __ovld __cnfn trunc(half16);
8733 #endif //cl_khr_fp16
8734 
8738 float __ovld __cnfn half_cos(float x);
8739 float2 __ovld __cnfn half_cos(float2 x);
8740 float3 __ovld __cnfn half_cos(float3 x);
8741 float4 __ovld __cnfn half_cos(float4 x);
8742 float8 __ovld __cnfn half_cos(float8 x);
8743 float16 __ovld __cnfn half_cos(float16 x);
8744 
8748 float __ovld __cnfn half_divide(float x, float y);
8749 float2 __ovld __cnfn half_divide(float2 x, float2 y);
8750 float3 __ovld __cnfn half_divide(float3 x, float3 y);
8751 float4 __ovld __cnfn half_divide(float4 x, float4 y);
8752 float8 __ovld __cnfn half_divide(float8 x, float8 y);
8753 float16 __ovld __cnfn half_divide(float16 x, float16 y);
8754 
8758 float __ovld __cnfn half_exp(float x);
8759 float2 __ovld __cnfn half_exp(float2 x);
8760 float3 __ovld __cnfn half_exp(float3 x);
8761 float4 __ovld __cnfn half_exp(float4 x);
8762 float8 __ovld __cnfn half_exp(float8 x);
8763 float16 __ovld __cnfn half_exp(float16 x);
8764 
8768 float __ovld __cnfn half_exp2(float x);
8769 float2 __ovld __cnfn half_exp2(float2 x);
8770 float3 __ovld __cnfn half_exp2(float3 x);
8771 float4 __ovld __cnfn half_exp2(float4 x);
8772 float8 __ovld __cnfn half_exp2(float8 x);
8773 float16 __ovld __cnfn half_exp2(float16 x);
8774 
8778 float __ovld __cnfn half_exp10(float x);
8779 float2 __ovld __cnfn half_exp10(float2 x);
8780 float3 __ovld __cnfn half_exp10(float3 x);
8781 float4 __ovld __cnfn half_exp10(float4 x);
8782 float8 __ovld __cnfn half_exp10(float8 x);
8783 float16 __ovld __cnfn half_exp10(float16 x);
8784 
8788 float __ovld __cnfn half_log(float x);
8789 float2 __ovld __cnfn half_log(float2 x);
8790 float3 __ovld __cnfn half_log(float3 x);
8791 float4 __ovld __cnfn half_log(float4 x);
8792 float8 __ovld __cnfn half_log(float8 x);
8793 float16 __ovld __cnfn half_log(float16 x);
8794 
8798 float __ovld __cnfn half_log2(float x);
8799 float2 __ovld __cnfn half_log2(float2 x);
8800 float3 __ovld __cnfn half_log2(float3 x);
8801 float4 __ovld __cnfn half_log2(float4 x);
8802 float8 __ovld __cnfn half_log2(float8 x);
8803 float16 __ovld __cnfn half_log2(float16 x);
8804 
8808 float __ovld __cnfn half_log10(float x);
8809 float2 __ovld __cnfn half_log10(float2 x);
8810 float3 __ovld __cnfn half_log10(float3 x);
8811 float4 __ovld __cnfn half_log10(float4 x);
8812 float8 __ovld __cnfn half_log10(float8 x);
8813 float16 __ovld __cnfn half_log10(float16 x);
8814 
8818 float __ovld __cnfn half_powr(float x, float y);
8819 float2 __ovld __cnfn half_powr(float2 x, float2 y);
8820 float3 __ovld __cnfn half_powr(float3 x, float3 y);
8821 float4 __ovld __cnfn half_powr(float4 x, float4 y);
8822 float8 __ovld __cnfn half_powr(float8 x, float8 y);
8823 float16 __ovld __cnfn half_powr(float16 x, float16 y);
8824 
8828 float __ovld __cnfn half_recip(float x);
8829 float2 __ovld __cnfn half_recip(float2 x);
8830 float3 __ovld __cnfn half_recip(float3 x);
8831 float4 __ovld __cnfn half_recip(float4 x);
8832 float8 __ovld __cnfn half_recip(float8 x);
8833 float16 __ovld __cnfn half_recip(float16 x);
8834 
8838 float __ovld __cnfn half_rsqrt(float x);
8839 float2 __ovld __cnfn half_rsqrt(float2 x);
8840 float3 __ovld __cnfn half_rsqrt(float3 x);
8841 float4 __ovld __cnfn half_rsqrt(float4 x);
8842 float8 __ovld __cnfn half_rsqrt(float8 x);
8843 float16 __ovld __cnfn half_rsqrt(float16 x);
8844 
8848 float __ovld __cnfn half_sin(float x);
8849 float2 __ovld __cnfn half_sin(float2 x);
8850 float3 __ovld __cnfn half_sin(float3 x);
8851 float4 __ovld __cnfn half_sin(float4 x);
8852 float8 __ovld __cnfn half_sin(float8 x);
8853 float16 __ovld __cnfn half_sin(float16 x);
8854 
8858 float __ovld __cnfn half_sqrt(float x);
8859 float2 __ovld __cnfn half_sqrt(float2 x);
8860 float3 __ovld __cnfn half_sqrt(float3 x);
8861 float4 __ovld __cnfn half_sqrt(float4 x);
8862 float8 __ovld __cnfn half_sqrt(float8 x);
8863 float16 __ovld __cnfn half_sqrt(float16 x);
8864 
8868 float __ovld __cnfn half_tan(float x);
8869 float2 __ovld __cnfn half_tan(float2 x);
8870 float3 __ovld __cnfn half_tan(float3 x);
8871 float4 __ovld __cnfn half_tan(float4 x);
8872 float8 __ovld __cnfn half_tan(float8 x);
8873 float16 __ovld __cnfn half_tan(float16 x);
8874 
8879 float __ovld __cnfn native_cos(float x);
8880 float2 __ovld __cnfn native_cos(float2 x);
8881 float3 __ovld __cnfn native_cos(float3 x);
8882 float4 __ovld __cnfn native_cos(float4 x);
8883 float8 __ovld __cnfn native_cos(float8 x);
8884 float16 __ovld __cnfn native_cos(float16 x);
8885 
8890 float __ovld __cnfn native_divide(float x, float y);
8891 float2 __ovld __cnfn native_divide(float2 x, float2 y);
8892 float3 __ovld __cnfn native_divide(float3 x, float3 y);
8893 float4 __ovld __cnfn native_divide(float4 x, float4 y);
8894 float8 __ovld __cnfn native_divide(float8 x, float8 y);
8895 float16 __ovld __cnfn native_divide(float16 x, float16 y);
8896 
8902 float __ovld __cnfn native_exp(float x);
8903 float2 __ovld __cnfn native_exp(float2 x);
8904 float3 __ovld __cnfn native_exp(float3 x);
8905 float4 __ovld __cnfn native_exp(float4 x);
8906 float8 __ovld __cnfn native_exp(float8 x);
8907 float16 __ovld __cnfn native_exp(float16 x);
8908 
8915 float2 __ovld __cnfn native_exp2(float2 x);
8916 float3 __ovld __cnfn native_exp2(float3 x);
8917 float4 __ovld __cnfn native_exp2(float4 x);
8918 float8 __ovld __cnfn native_exp2(float8 x);
8919 float16 __ovld __cnfn native_exp2(float16 x);
8920 
8927 float2 __ovld __cnfn native_exp10(float2 x);
8928 float3 __ovld __cnfn native_exp10(float3 x);
8929 float4 __ovld __cnfn native_exp10(float4 x);
8930 float8 __ovld __cnfn native_exp10(float8 x);
8931 float16 __ovld __cnfn native_exp10(float16 x);
8932 
8938 float __ovld __cnfn native_log(float x);
8939 float2 __ovld __cnfn native_log(float2 x);
8940 float3 __ovld __cnfn native_log(float3 x);
8941 float4 __ovld __cnfn native_log(float4 x);
8942 float8 __ovld __cnfn native_log(float8 x);
8943 float16 __ovld __cnfn native_log(float16 x);
8944 
8950 float2 __ovld __cnfn native_log2(float2 x);
8951 float3 __ovld __cnfn native_log2(float3 x);
8952 float4 __ovld __cnfn native_log2(float4 x);
8953 float8 __ovld __cnfn native_log2(float8 x);
8954 float16 __ovld __cnfn native_log2(float16 x);
8955 
8961 float2 __ovld __cnfn native_log10(float2 x);
8962 float3 __ovld __cnfn native_log10(float3 x);
8963 float4 __ovld __cnfn native_log10(float4 x);
8964 float8 __ovld __cnfn native_log10(float8 x);
8965 float16 __ovld __cnfn native_log10(float16 x);
8966 
8972 float __ovld __cnfn native_powr(float x, float y);
8973 float2 __ovld __cnfn native_powr(float2 x, float2 y);
8974 float3 __ovld __cnfn native_powr(float3 x, float3 y);
8975 float4 __ovld __cnfn native_powr(float4 x, float4 y);
8976 float8 __ovld __cnfn native_powr(float8 x, float8 y);
8977 float16 __ovld __cnfn native_powr(float16 x, float16 y);
8978 
8984 float2 __ovld __cnfn native_recip(float2 x);
8985 float3 __ovld __cnfn native_recip(float3 x);
8986 float4 __ovld __cnfn native_recip(float4 x);
8987 float8 __ovld __cnfn native_recip(float8 x);
8988 float16 __ovld __cnfn native_recip(float16 x);
8989 
8995 float2 __ovld __cnfn native_rsqrt(float2 x);
8996 float3 __ovld __cnfn native_rsqrt(float3 x);
8997 float4 __ovld __cnfn native_rsqrt(float4 x);
8998 float8 __ovld __cnfn native_rsqrt(float8 x);
8999 float16 __ovld __cnfn native_rsqrt(float16 x);
9000 
9005 float __ovld __cnfn native_sin(float x);
9006 float2 __ovld __cnfn native_sin(float2 x);
9007 float3 __ovld __cnfn native_sin(float3 x);
9008 float4 __ovld __cnfn native_sin(float4 x);
9009 float8 __ovld __cnfn native_sin(float8 x);
9010 float16 __ovld __cnfn native_sin(float16 x);
9011 
9017 float2 __ovld __cnfn native_sqrt(float2 x);
9018 float3 __ovld __cnfn native_sqrt(float3 x);
9019 float4 __ovld __cnfn native_sqrt(float4 x);
9020 float8 __ovld __cnfn native_sqrt(float8 x);
9021 float16 __ovld __cnfn native_sqrt(float16 x);
9022 
9027 float __ovld __cnfn native_tan(float x);
9028 float2 __ovld __cnfn native_tan(float2 x);
9029 float3 __ovld __cnfn native_tan(float3 x);
9030 float4 __ovld __cnfn native_tan(float4 x);
9031 float8 __ovld __cnfn native_tan(float8 x);
9032 float16 __ovld __cnfn native_tan(float16 x);
9033 
9034 // OpenCL v1.1 s6.11.3, v1.2 s6.12.3, v2.0 s6.13.3 - Integer Functions
9035 
9041 uchar2 __ovld __cnfn abs(char2 x);
9042 uchar2 __ovld __cnfn abs(uchar2 x);
9043 uchar3 __ovld __cnfn abs(char3 x);
9044 uchar3 __ovld __cnfn abs(uchar3 x);
9045 uchar4 __ovld __cnfn abs(char4 x);
9046 uchar4 __ovld __cnfn abs(uchar4 x);
9047 uchar8 __ovld __cnfn abs(char8 x);
9048 uchar8 __ovld __cnfn abs(uchar8 x);
9049 uchar16 __ovld __cnfn abs(char16 x);
9050 uchar16 __ovld __cnfn abs(uchar16 x);
9053 ushort2 __ovld __cnfn abs(short2 x);
9054 ushort2 __ovld __cnfn abs(ushort2 x);
9055 ushort3 __ovld __cnfn abs(short3 x);
9056 ushort3 __ovld __cnfn abs(ushort3 x);
9057 ushort4 __ovld __cnfn abs(short4 x);
9058 ushort4 __ovld __cnfn abs(ushort4 x);
9059 ushort8 __ovld __cnfn abs(short8 x);
9060 ushort8 __ovld __cnfn abs(ushort8 x);
9061 ushort16 __ovld __cnfn abs(short16 x);
9062 ushort16 __ovld __cnfn abs(ushort16 x);
9063 uint __ovld __cnfn abs(int x);
9065 uint2 __ovld __cnfn abs(int2 x);
9066 uint2 __ovld __cnfn abs(uint2 x);
9067 uint3 __ovld __cnfn abs(int3 x);
9068 uint3 __ovld __cnfn abs(uint3 x);
9069 uint4 __ovld __cnfn abs(int4 x);
9070 uint4 __ovld __cnfn abs(uint4 x);
9075 ulong __ovld __cnfn abs(long x);
9077 ulong2 __ovld __cnfn abs(long2 x);
9078 ulong2 __ovld __cnfn abs(ulong2 x);
9079 ulong3 __ovld __cnfn abs(long3 x);
9080 ulong3 __ovld __cnfn abs(ulong3 x);
9081 ulong4 __ovld __cnfn abs(long4 x);
9082 ulong4 __ovld __cnfn abs(ulong4 x);
9083 ulong8 __ovld __cnfn abs(long8 x);
9084 ulong8 __ovld __cnfn abs(ulong8 x);
9085 ulong16 __ovld __cnfn abs(long16 x);
9086 ulong16 __ovld __cnfn abs(ulong16 x);
9087 
9091 uchar __ovld __cnfn abs_diff(char x, char y);
9093 uchar2 __ovld __cnfn abs_diff(char2 x, char2 y);
9094 uchar2 __ovld __cnfn abs_diff(uchar2 x, uchar2 y);
9095 uchar3 __ovld __cnfn abs_diff(char3 x, char3 y);
9096 uchar3 __ovld __cnfn abs_diff(uchar3 x, uchar3 y);
9097 uchar4 __ovld __cnfn abs_diff(char4 x, char4 y);
9098 uchar4 __ovld __cnfn abs_diff(uchar4 x, uchar4 y);
9099 uchar8 __ovld __cnfn abs_diff(char8 x, char8 y);
9100 uchar8 __ovld __cnfn abs_diff(uchar8 x, uchar8 y);
9101 uchar16 __ovld __cnfn abs_diff(char16 x, char16 y);
9102 uchar16 __ovld __cnfn abs_diff(uchar16 x, uchar16 y);
9103 ushort __ovld __cnfn abs_diff(short x, short y);
9105 ushort2 __ovld __cnfn abs_diff(short2 x, short2 y);
9106 ushort2 __ovld __cnfn abs_diff(ushort2 x, ushort2 y);
9107 ushort3 __ovld __cnfn abs_diff(short3 x, short3 y);
9108 ushort3 __ovld __cnfn abs_diff(ushort3 x, ushort3 y);
9109 ushort4 __ovld __cnfn abs_diff(short4 x, short4 y);
9110 ushort4 __ovld __cnfn abs_diff(ushort4 x, ushort4 y);
9111 ushort8 __ovld __cnfn abs_diff(short8 x, short8 y);
9112 ushort8 __ovld __cnfn abs_diff(ushort8 x, ushort8 y);
9113 ushort16 __ovld __cnfn abs_diff(short16 x, short16 y);
9114 ushort16 __ovld __cnfn abs_diff(ushort16 x, ushort16 y);
9117 uint2 __ovld __cnfn abs_diff(int2 x, int2 y);
9118 uint2 __ovld __cnfn abs_diff(uint2 x, uint2 y);
9119 uint3 __ovld __cnfn abs_diff(int3 x, int3 y);
9120 uint3 __ovld __cnfn abs_diff(uint3 x, uint3 y);
9121 uint4 __ovld __cnfn abs_diff(int4 x, int4 y);
9122 uint4 __ovld __cnfn abs_diff(uint4 x, uint4 y);
9127 ulong __ovld __cnfn abs_diff(long x, long y);
9129 ulong2 __ovld __cnfn abs_diff(long2 x, long2 y);
9130 ulong2 __ovld __cnfn abs_diff(ulong2 x, ulong2 y);
9131 ulong3 __ovld __cnfn abs_diff(long3 x, long3 y);
9132 ulong3 __ovld __cnfn abs_diff(ulong3 x, ulong3 y);
9133 ulong4 __ovld __cnfn abs_diff(long4 x, long4 y);
9134 ulong4 __ovld __cnfn abs_diff(ulong4 x, ulong4 y);
9135 ulong8 __ovld __cnfn abs_diff(long8 x, long8 y);
9136 ulong8 __ovld __cnfn abs_diff(ulong8 x, ulong8 y);
9137 ulong16 __ovld __cnfn abs_diff(long16 x, long16 y);
9138 ulong16 __ovld __cnfn abs_diff(ulong16 x, ulong16 y);
9139 
9143 char __ovld __cnfn add_sat(char x, char y);
9145 char2 __ovld __cnfn add_sat(char2 x, char2 y);
9146 uchar2 __ovld __cnfn add_sat(uchar2 x, uchar2 y);
9147 char3 __ovld __cnfn add_sat(char3 x, char3 y);
9148 uchar3 __ovld __cnfn add_sat(uchar3 x, uchar3 y);
9149 char4 __ovld __cnfn add_sat(char4 x, char4 y);
9150 uchar4 __ovld __cnfn add_sat(uchar4 x, uchar4 y);
9151 char8 __ovld __cnfn add_sat(char8 x, char8 y);
9152 uchar8 __ovld __cnfn add_sat(uchar8 x, uchar8 y);
9153 char16 __ovld __cnfn add_sat(char16 x, char16 y);
9154 uchar16 __ovld __cnfn add_sat(uchar16 x, uchar16 y);
9155 short __ovld __cnfn add_sat(short x, short y);
9157 short2 __ovld __cnfn add_sat(short2 x, short2 y);
9158 ushort2 __ovld __cnfn add_sat(ushort2 x, ushort2 y);
9159 short3 __ovld __cnfn add_sat(short3 x, short3 y);
9160 ushort3 __ovld __cnfn add_sat(ushort3 x, ushort3 y);
9161 short4 __ovld __cnfn add_sat(short4 x, short4 y);
9162 ushort4 __ovld __cnfn add_sat(ushort4 x, ushort4 y);
9163 short8 __ovld __cnfn add_sat(short8 x, short8 y);
9164 ushort8 __ovld __cnfn add_sat(ushort8 x, ushort8 y);
9165 short16 __ovld __cnfn add_sat(short16 x, short16 y);
9166 ushort16 __ovld __cnfn add_sat(ushort16 x, ushort16 y);
9167 int __ovld __cnfn add_sat(int x, int y);
9169 int2 __ovld __cnfn add_sat(int2 x, int2 y);
9170 uint2 __ovld __cnfn add_sat(uint2 x, uint2 y);
9171 int3 __ovld __cnfn add_sat(int3 x, int3 y);
9172 uint3 __ovld __cnfn add_sat(uint3 x, uint3 y);
9173 int4 __ovld __cnfn add_sat(int4 x, int4 y);
9174 uint4 __ovld __cnfn add_sat(uint4 x, uint4 y);
9179 long __ovld __cnfn add_sat(long x, long y);
9181 long2 __ovld __cnfn add_sat(long2 x, long2 y);
9182 ulong2 __ovld __cnfn add_sat(ulong2 x, ulong2 y);
9183 long3 __ovld __cnfn add_sat(long3 x, long3 y);
9184 ulong3 __ovld __cnfn add_sat(ulong3 x, ulong3 y);
9185 long4 __ovld __cnfn add_sat(long4 x, long4 y);
9186 ulong4 __ovld __cnfn add_sat(ulong4 x, ulong4 y);
9187 long8 __ovld __cnfn add_sat(long8 x, long8 y);
9188 ulong8 __ovld __cnfn add_sat(ulong8 x, ulong8 y);
9189 long16 __ovld __cnfn add_sat(long16 x, long16 y);
9190 ulong16 __ovld __cnfn add_sat(ulong16 x, ulong16 y);
9191 
9196 char __ovld __cnfn hadd(char x, char y);
9198 char2 __ovld __cnfn hadd(char2 x, char2 y);
9199 uchar2 __ovld __cnfn hadd(uchar2 x, uchar2 y);
9200 char3 __ovld __cnfn hadd(char3 x, char3 y);
9201 uchar3 __ovld __cnfn hadd(uchar3 x, uchar3 y);
9202 char4 __ovld __cnfn hadd(char4 x, char4 y);
9203 uchar4 __ovld __cnfn hadd(uchar4 x, uchar4 y);
9204 char8 __ovld __cnfn hadd(char8 x, char8 y);
9205 uchar8 __ovld __cnfn hadd(uchar8 x, uchar8 y);
9206 char16 __ovld __cnfn hadd(char16 x, char16 y);
9207 uchar16 __ovld __cnfn hadd(uchar16 x, uchar16 y);
9208 short __ovld __cnfn hadd(short x, short y);
9210 short2 __ovld __cnfn hadd(short2 x, short2 y);
9211 ushort2 __ovld __cnfn hadd(ushort2 x, ushort2 y);
9212 short3 __ovld __cnfn hadd(short3 x, short3 y);
9213 ushort3 __ovld __cnfn hadd(ushort3 x, ushort3 y);
9214 short4 __ovld __cnfn hadd(short4 x, short4 y);
9215 ushort4 __ovld __cnfn hadd(ushort4 x, ushort4 y);
9216 short8 __ovld __cnfn hadd(short8 x, short8 y);
9217 ushort8 __ovld __cnfn hadd(ushort8 x, ushort8 y);
9218 short16 __ovld __cnfn hadd(short16 x, short16 y);
9219 ushort16 __ovld __cnfn hadd(ushort16 x, ushort16 y);
9220 int __ovld __cnfn hadd(int x, int y);
9222 int2 __ovld __cnfn hadd(int2 x, int2 y);
9223 uint2 __ovld __cnfn hadd(uint2 x, uint2 y);
9224 int3 __ovld __cnfn hadd(int3 x, int3 y);
9225 uint3 __ovld __cnfn hadd(uint3 x, uint3 y);
9226 int4 __ovld __cnfn hadd(int4 x, int4 y);
9227 uint4 __ovld __cnfn hadd(uint4 x, uint4 y);
9232 long __ovld __cnfn hadd(long x, long y);
9234 long2 __ovld __cnfn hadd(long2 x, long2 y);
9235 ulong2 __ovld __cnfn hadd(ulong2 x, ulong2 y);
9236 long3 __ovld __cnfn hadd(long3 x, long3 y);
9237 ulong3 __ovld __cnfn hadd(ulong3 x, ulong3 y);
9238 long4 __ovld __cnfn hadd(long4 x, long4 y);
9239 ulong4 __ovld __cnfn hadd(ulong4 x, ulong4 y);
9240 long8 __ovld __cnfn hadd(long8 x, long8 y);
9241 ulong8 __ovld __cnfn hadd(ulong8 x, ulong8 y);
9242 long16 __ovld __cnfn hadd(long16 x, long16 y);
9243 ulong16 __ovld __cnfn hadd(ulong16 x, ulong16 y);
9244 
9249 char __ovld __cnfn rhadd(char x, char y);
9251 char2 __ovld __cnfn rhadd(char2 x, char2 y);
9252 uchar2 __ovld __cnfn rhadd(uchar2 x, uchar2 y);
9253 char3 __ovld __cnfn rhadd(char3 x, char3 y);
9254 uchar3 __ovld __cnfn rhadd(uchar3 x, uchar3 y);
9255 char4 __ovld __cnfn rhadd(char4 x, char4 y);
9256 uchar4 __ovld __cnfn rhadd(uchar4 x, uchar4 y);
9257 char8 __ovld __cnfn rhadd(char8 x, char8 y);
9258 uchar8 __ovld __cnfn rhadd(uchar8 x, uchar8 y);
9259 char16 __ovld __cnfn rhadd(char16 x, char16 y);
9260 uchar16 __ovld __cnfn rhadd(uchar16 x, uchar16 y);
9261 short __ovld __cnfn rhadd(short x, short y);
9263 short2 __ovld __cnfn rhadd(short2 x, short2 y);
9264 ushort2 __ovld __cnfn rhadd(ushort2 x, ushort2 y);
9265 short3 __ovld __cnfn rhadd(short3 x, short3 y);
9266 ushort3 __ovld __cnfn rhadd(ushort3 x, ushort3 y);
9267 short4 __ovld __cnfn rhadd(short4 x, short4 y);
9268 ushort4 __ovld __cnfn rhadd(ushort4 x, ushort4 y);
9269 short8 __ovld __cnfn rhadd(short8 x, short8 y);
9270 ushort8 __ovld __cnfn rhadd(ushort8 x, ushort8 y);
9271 short16 __ovld __cnfn rhadd(short16 x, short16 y);
9272 ushort16 __ovld __cnfn rhadd(ushort16 x, ushort16 y);
9273 int __ovld __cnfn rhadd(int x, int y);
9275 int2 __ovld __cnfn rhadd(int2 x, int2 y);
9276 uint2 __ovld __cnfn rhadd(uint2 x, uint2 y);
9277 int3 __ovld __cnfn rhadd(int3 x, int3 y);
9278 uint3 __ovld __cnfn rhadd(uint3 x, uint3 y);
9279 int4 __ovld __cnfn rhadd(int4 x, int4 y);
9280 uint4 __ovld __cnfn rhadd(uint4 x, uint4 y);
9285 long __ovld __cnfn rhadd(long x, long y);
9287 long2 __ovld __cnfn rhadd(long2 x, long2 y);
9288 ulong2 __ovld __cnfn rhadd(ulong2 x, ulong2 y);
9289 long3 __ovld __cnfn rhadd(long3 x, long3 y);
9290 ulong3 __ovld __cnfn rhadd(ulong3 x, ulong3 y);
9291 long4 __ovld __cnfn rhadd(long4 x, long4 y);
9292 ulong4 __ovld __cnfn rhadd(ulong4 x, ulong4 y);
9293 long8 __ovld __cnfn rhadd(long8 x, long8 y);
9294 ulong8 __ovld __cnfn rhadd(ulong8 x, ulong8 y);
9295 long16 __ovld __cnfn rhadd(long16 x, long16 y);
9296 ulong16 __ovld __cnfn rhadd(ulong16 x, ulong16 y);
9297 
9302 char __ovld __cnfn clamp(char x, char minval, char maxval);
9304 char2 __ovld __cnfn clamp(char2 x, char2 minval, char2 maxval);
9305 uchar2 __ovld __cnfn clamp(uchar2 x, uchar2 minval, uchar2 maxval);
9306 char3 __ovld __cnfn clamp(char3 x, char3 minval, char3 maxval);
9307 uchar3 __ovld __cnfn clamp(uchar3 x, uchar3 minval, uchar3 maxval);
9308 char4 __ovld __cnfn clamp(char4 x, char4 minval, char4 maxval);
9309 uchar4 __ovld __cnfn clamp(uchar4 x, uchar4 minval, uchar4 maxval);
9310 char8 __ovld __cnfn clamp(char8 x, char8 minval, char8 maxval);
9311 uchar8 __ovld __cnfn clamp(uchar8 x, uchar8 minval, uchar8 maxval);
9312 char16 __ovld __cnfn clamp(char16 x, char16 minval, char16 maxval);
9313 uchar16 __ovld __cnfn clamp(uchar16 x, uchar16 minval, uchar16 maxval);
9314 short __ovld __cnfn clamp(short x, short minval, short maxval);
9316 short2 __ovld __cnfn clamp(short2 x, short2 minval, short2 maxval);
9317 ushort2 __ovld __cnfn clamp(ushort2 x, ushort2 minval, ushort2 maxval);
9318 short3 __ovld __cnfn clamp(short3 x, short3 minval, short3 maxval);
9319 ushort3 __ovld __cnfn clamp(ushort3 x, ushort3 minval, ushort3 maxval);
9320 short4 __ovld __cnfn clamp(short4 x, short4 minval, short4 maxval);
9321 ushort4 __ovld __cnfn clamp(ushort4 x, ushort4 minval, ushort4 maxval);
9322 short8 __ovld __cnfn clamp(short8 x, short8 minval, short8 maxval);
9323 ushort8 __ovld __cnfn clamp(ushort8 x, ushort8 minval, ushort8 maxval);
9324 short16 __ovld __cnfn clamp(short16 x, short16 minval, short16 maxval);
9325 ushort16 __ovld __cnfn clamp(ushort16 x, ushort16 minval, ushort16 maxval);
9326 int __ovld __cnfn clamp(int x, int minval, int maxval);
9327 uint __ovld __cnfn clamp(uint x, uint minval, uint maxval);
9328 int2 __ovld __cnfn clamp(int2 x, int2 minval, int2 maxval);
9329 uint2 __ovld __cnfn clamp(uint2 x, uint2 minval, uint2 maxval);
9330 int3 __ovld __cnfn clamp(int3 x, int3 minval, int3 maxval);
9331 uint3 __ovld __cnfn clamp(uint3 x, uint3 minval, uint3 maxval);
9332 int4 __ovld __cnfn clamp(int4 x, int4 minval, int4 maxval);
9333 uint4 __ovld __cnfn clamp(uint4 x, uint4 minval, uint4 maxval);
9334 int8 __ovld __cnfn clamp(int8 x, int8 minval, int8 maxval);
9338 long __ovld __cnfn clamp(long x, long minval, long maxval);
9340 long2 __ovld __cnfn clamp(long2 x, long2 minval, long2 maxval);
9341 ulong2 __ovld __cnfn clamp(ulong2 x, ulong2 minval, ulong2 maxval);
9342 long3 __ovld __cnfn clamp(long3 x, long3 minval, long3 maxval);
9343 ulong3 __ovld __cnfn clamp(ulong3 x, ulong3 minval, ulong3 maxval);
9344 long4 __ovld __cnfn clamp(long4 x, long4 minval, long4 maxval);
9345 ulong4 __ovld __cnfn clamp(ulong4 x, ulong4 minval, ulong4 maxval);
9346 long8 __ovld __cnfn clamp(long8 x, long8 minval, long8 maxval);
9347 ulong8 __ovld __cnfn clamp(ulong8 x, ulong8 minval, ulong8 maxval);
9348 long16 __ovld __cnfn clamp(long16 x, long16 minval, long16 maxval);
9349 ulong16 __ovld __cnfn clamp(ulong16 x, ulong16 minval, ulong16 maxval);
9350 char2 __ovld __cnfn clamp(char2 x, char minval, char maxval);
9351 uchar2 __ovld __cnfn clamp(uchar2 x, uchar minval, uchar maxval);
9352 char3 __ovld __cnfn clamp(char3 x, char minval, char maxval);
9353 uchar3 __ovld __cnfn clamp(uchar3 x, uchar minval, uchar maxval);
9354 char4 __ovld __cnfn clamp(char4 x, char minval, char maxval);
9355 uchar4 __ovld __cnfn clamp(uchar4 x, uchar minval, uchar maxval);
9356 char8 __ovld __cnfn clamp(char8 x, char minval, char maxval);
9357 uchar8 __ovld __cnfn clamp(uchar8 x, uchar minval, uchar maxval);
9358 char16 __ovld __cnfn clamp(char16 x, char minval, char maxval);
9359 uchar16 __ovld __cnfn clamp(uchar16 x, uchar minval, uchar maxval);
9360 short2 __ovld __cnfn clamp(short2 x, short minval, short maxval);
9361 ushort2 __ovld __cnfn clamp(ushort2 x, ushort minval, ushort maxval);
9362 short3 __ovld __cnfn clamp(short3 x, short minval, short maxval);
9363 ushort3 __ovld __cnfn clamp(ushort3 x, ushort minval, ushort maxval);
9364 short4 __ovld __cnfn clamp(short4 x, short minval, short maxval);
9365 ushort4 __ovld __cnfn clamp(ushort4 x, ushort minval, ushort maxval);
9366 short8 __ovld __cnfn clamp(short8 x, short minval, short maxval);
9367 ushort8 __ovld __cnfn clamp(ushort8 x, ushort minval, ushort maxval);
9368 short16 __ovld __cnfn clamp(short16 x, short minval, short maxval);
9369 ushort16 __ovld __cnfn clamp(ushort16 x, ushort minval, ushort maxval);
9370 int2 __ovld __cnfn clamp(int2 x, int minval, int maxval);
9371 uint2 __ovld __cnfn clamp(uint2 x, uint minval, uint maxval);
9372 int3 __ovld __cnfn clamp(int3 x, int minval, int maxval);
9373 uint3 __ovld __cnfn clamp(uint3 x, uint minval, uint maxval);
9374 int4 __ovld __cnfn clamp(int4 x, int minval, int maxval);
9375 uint4 __ovld __cnfn clamp(uint4 x, uint minval, uint maxval);
9376 int8 __ovld __cnfn clamp(int8 x, int minval, int maxval);
9378 int16 __ovld __cnfn clamp(int16 x, int minval, int maxval);
9380 long2 __ovld __cnfn clamp(long2 x, long minval, long maxval);
9381 ulong2 __ovld __cnfn clamp(ulong2 x, ulong minval, ulong maxval);
9382 long3 __ovld __cnfn clamp(long3 x, long minval, long maxval);
9383 ulong3 __ovld __cnfn clamp(ulong3 x, ulong minval, ulong maxval);
9384 long4 __ovld __cnfn clamp(long4 x, long minval, long maxval);
9385 ulong4 __ovld __cnfn clamp(ulong4 x, ulong minval, ulong maxval);
9386 long8 __ovld __cnfn clamp(long8 x, long minval, long maxval);
9387 ulong8 __ovld __cnfn clamp(ulong8 x, ulong minval, ulong maxval);
9388 long16 __ovld __cnfn clamp(long16 x, long minval, long maxval);
9389 ulong16 __ovld __cnfn clamp(ulong16 x, ulong minval, ulong maxval);
9390 
9395 char __ovld __cnfn clz(char x);
9397 char2 __ovld __cnfn clz(char2 x);
9398 uchar2 __ovld __cnfn clz(uchar2 x);
9399 char3 __ovld __cnfn clz(char3 x);
9400 uchar3 __ovld __cnfn clz(uchar3 x);
9401 char4 __ovld __cnfn clz(char4 x);
9402 uchar4 __ovld __cnfn clz(uchar4 x);
9403 char8 __ovld __cnfn clz(char8 x);
9404 uchar8 __ovld __cnfn clz(uchar8 x);
9405 char16 __ovld __cnfn clz(char16 x);
9406 uchar16 __ovld __cnfn clz(uchar16 x);
9407 short __ovld __cnfn clz(short x);
9409 short2 __ovld __cnfn clz(short2 x);
9410 ushort2 __ovld __cnfn clz(ushort2 x);
9411 short3 __ovld __cnfn clz(short3 x);
9412 ushort3 __ovld __cnfn clz(ushort3 x);
9413 short4 __ovld __cnfn clz(short4 x);
9414 ushort4 __ovld __cnfn clz(ushort4 x);
9415 short8 __ovld __cnfn clz(short8 x);
9416 ushort8 __ovld __cnfn clz(ushort8 x);
9417 short16 __ovld __cnfn clz(short16 x);
9418 ushort16 __ovld __cnfn clz(ushort16 x);
9419 int __ovld __cnfn clz(int x);
9421 int2 __ovld __cnfn clz(int2 x);
9422 uint2 __ovld __cnfn clz(uint2 x);
9423 int3 __ovld __cnfn clz(int3 x);
9424 uint3 __ovld __cnfn clz(uint3 x);
9425 int4 __ovld __cnfn clz(int4 x);
9426 uint4 __ovld __cnfn clz(uint4 x);
9431 long __ovld __cnfn clz(long x);
9433 long2 __ovld __cnfn clz(long2 x);
9434 ulong2 __ovld __cnfn clz(ulong2 x);
9435 long3 __ovld __cnfn clz(long3 x);
9436 ulong3 __ovld __cnfn clz(ulong3 x);
9437 long4 __ovld __cnfn clz(long4 x);
9438 ulong4 __ovld __cnfn clz(ulong4 x);
9439 long8 __ovld __cnfn clz(long8 x);
9440 ulong8 __ovld __cnfn clz(ulong8 x);
9441 long16 __ovld __cnfn clz(long16 x);
9442 ulong16 __ovld __cnfn clz(ulong16 x);
9443 
9449 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
9450 char __ovld ctz(char x);
9452 char2 __ovld ctz(char2 x);
9453 uchar2 __ovld ctz(uchar2 x);
9454 char3 __ovld ctz(char3 x);
9455 uchar3 __ovld ctz(uchar3 x);
9456 char4 __ovld ctz(char4 x);
9457 uchar4 __ovld ctz(uchar4 x);
9458 char8 __ovld ctz(char8 x);
9459 uchar8 __ovld ctz(uchar8 x);
9460 char16 __ovld ctz(char16 x);
9461 uchar16 __ovld ctz(uchar16 x);
9462 short __ovld ctz(short x);
9464 short2 __ovld ctz(short2 x);
9465 ushort2 __ovld ctz(ushort2 x);
9466 short3 __ovld ctz(short3 x);
9467 ushort3 __ovld ctz(ushort3 x);
9468 short4 __ovld ctz(short4 x);
9469 ushort4 __ovld ctz(ushort4 x);
9470 short8 __ovld ctz(short8 x);
9471 ushort8 __ovld ctz(ushort8 x);
9472 short16 __ovld ctz(short16 x);
9473 ushort16 __ovld ctz(ushort16 x);
9474 int __ovld ctz(int x);
9476 int2 __ovld ctz(int2 x);
9477 uint2 __ovld ctz(uint2 x);
9478 int3 __ovld ctz(int3 x);
9479 uint3 __ovld ctz(uint3 x);
9480 int4 __ovld ctz(int4 x);
9481 uint4 __ovld ctz(uint4 x);
9486 long __ovld ctz(long x);
9488 long2 __ovld ctz(long2 x);
9489 ulong2 __ovld ctz(ulong2 x);
9490 long3 __ovld ctz(long3 x);
9491 ulong3 __ovld ctz(ulong3 x);
9492 long4 __ovld ctz(long4 x);
9493 ulong4 __ovld ctz(ulong4 x);
9494 long8 __ovld ctz(long8 x);
9495 ulong8 __ovld ctz(ulong8 x);
9496 long16 __ovld ctz(long16 x);
9497 ulong16 __ovld ctz(ulong16 x);
9498 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
9499 
9503 char __ovld __cnfn mad_hi(char a, char b, char c);
9505 char2 __ovld __cnfn mad_hi(char2 a, char2 b, char2 c);
9506 uchar2 __ovld __cnfn mad_hi(uchar2 a, uchar2 b, uchar2 c);
9507 char3 __ovld __cnfn mad_hi(char3 a, char3 b, char3 c);
9508 uchar3 __ovld __cnfn mad_hi(uchar3 a, uchar3 b, uchar3 c);
9509 char4 __ovld __cnfn mad_hi(char4 a, char4 b, char4 c);
9510 uchar4 __ovld __cnfn mad_hi(uchar4 a, uchar4 b, uchar4 c);
9511 char8 __ovld __cnfn mad_hi(char8 a, char8 b, char8 c);
9512 uchar8 __ovld __cnfn mad_hi(uchar8 a, uchar8 b, uchar8 c);
9513 char16 __ovld __cnfn mad_hi(char16 a, char16 b, char16 c);
9514 uchar16 __ovld __cnfn mad_hi(uchar16 a, uchar16 b, uchar16 c);
9515 short __ovld __cnfn mad_hi(short a, short b, short c);
9517 short2 __ovld __cnfn mad_hi(short2 a, short2 b, short2 c);
9518 ushort2 __ovld __cnfn mad_hi(ushort2 a, ushort2 b, ushort2 c);
9519 short3 __ovld __cnfn mad_hi(short3 a, short3 b, short3 c);
9520 ushort3 __ovld __cnfn mad_hi(ushort3 a, ushort3 b, ushort3 c);
9521 short4 __ovld __cnfn mad_hi(short4 a, short4 b, short4 c);
9522 ushort4 __ovld __cnfn mad_hi(ushort4 a, ushort4 b, ushort4 c);
9523 short8 __ovld __cnfn mad_hi(short8 a, short8 b, short8 c);
9524 ushort8 __ovld __cnfn mad_hi(ushort8 a, ushort8 b, ushort8 c);
9525 short16 __ovld __cnfn mad_hi(short16 a, short16 b, short16 c);
9526 ushort16 __ovld __cnfn mad_hi(ushort16 a, ushort16 b, ushort16 c);
9527 int __ovld __cnfn mad_hi(int a, int b, int c);
9529 int2 __ovld __cnfn mad_hi(int2 a, int2 b, int2 c);
9530 uint2 __ovld __cnfn mad_hi(uint2 a, uint2 b, uint2 c);
9531 int3 __ovld __cnfn mad_hi(int3 a, int3 b, int3 c);
9532 uint3 __ovld __cnfn mad_hi(uint3 a, uint3 b, uint3 c);
9533 int4 __ovld __cnfn mad_hi(int4 a, int4 b, int4 c);
9534 uint4 __ovld __cnfn mad_hi(uint4 a, uint4 b, uint4 c);
9539 long __ovld __cnfn mad_hi(long a, long b, long c);
9541 long2 __ovld __cnfn mad_hi(long2 a, long2 b, long2 c);
9542 ulong2 __ovld __cnfn mad_hi(ulong2 a, ulong2 b, ulong2 c);
9543 long3 __ovld __cnfn mad_hi(long3 a, long3 b, long3 c);
9544 ulong3 __ovld __cnfn mad_hi(ulong3 a, ulong3 b, ulong3 c);
9545 long4 __ovld __cnfn mad_hi(long4 a, long4 b, long4 c);
9546 ulong4 __ovld __cnfn mad_hi(ulong4 a, ulong4 b, ulong4 c);
9547 long8 __ovld __cnfn mad_hi(long8 a, long8 b, long8 c);
9548 ulong8 __ovld __cnfn mad_hi(ulong8 a, ulong8 b, ulong8 c);
9549 long16 __ovld __cnfn mad_hi(long16 a, long16 b, long16 c);
9550 ulong16 __ovld __cnfn mad_hi(ulong16 a, ulong16 b, ulong16 c);
9551 
9555 char __ovld __cnfn mad_sat(char a, char b, char c);
9557 char2 __ovld __cnfn mad_sat(char2 a, char2 b, char2 c);
9558 uchar2 __ovld __cnfn mad_sat(uchar2 a, uchar2 b, uchar2 c);
9559 char3 __ovld __cnfn mad_sat(char3 a, char3 b, char3 c);
9560 uchar3 __ovld __cnfn mad_sat(uchar3 a, uchar3 b, uchar3 c);
9561 char4 __ovld __cnfn mad_sat(char4 a, char4 b, char4 c);
9562 uchar4 __ovld __cnfn mad_sat(uchar4 a, uchar4 b, uchar4 c);
9563 char8 __ovld __cnfn mad_sat(char8 a, char8 b, char8 c);
9564 uchar8 __ovld __cnfn mad_sat(uchar8 a, uchar8 b, uchar8 c);
9565 char16 __ovld __cnfn mad_sat(char16 a, char16 b, char16 c);
9566 uchar16 __ovld __cnfn mad_sat(uchar16 a, uchar16 b, uchar16 c);
9567 short __ovld __cnfn mad_sat(short a, short b, short c);
9569 short2 __ovld __cnfn mad_sat(short2 a, short2 b, short2 c);
9570 ushort2 __ovld __cnfn mad_sat(ushort2 a, ushort2 b, ushort2 c);
9571 short3 __ovld __cnfn mad_sat(short3 a, short3 b, short3 c);
9572 ushort3 __ovld __cnfn mad_sat(ushort3 a, ushort3 b, ushort3 c);
9573 short4 __ovld __cnfn mad_sat(short4 a, short4 b, short4 c);
9574 ushort4 __ovld __cnfn mad_sat(ushort4 a, ushort4 b, ushort4 c);
9575 short8 __ovld __cnfn mad_sat(short8 a, short8 b, short8 c);
9576 ushort8 __ovld __cnfn mad_sat(ushort8 a, ushort8 b, ushort8 c);
9577 short16 __ovld __cnfn mad_sat(short16 a, short16 b, short16 c);
9578 ushort16 __ovld __cnfn mad_sat(ushort16 a, ushort16 b, ushort16 c);
9579 int __ovld __cnfn mad_sat(int a, int b, int c);
9581 int2 __ovld __cnfn mad_sat(int2 a, int2 b, int2 c);
9582 uint2 __ovld __cnfn mad_sat(uint2 a, uint2 b, uint2 c);
9583 int3 __ovld __cnfn mad_sat(int3 a, int3 b, int3 c);
9584 uint3 __ovld __cnfn mad_sat(uint3 a, uint3 b, uint3 c);
9585 int4 __ovld __cnfn mad_sat(int4 a, int4 b, int4 c);
9586 uint4 __ovld __cnfn mad_sat(uint4 a, uint4 b, uint4 c);
9591 long __ovld __cnfn mad_sat(long a, long b, long c);
9593 long2 __ovld __cnfn mad_sat(long2 a, long2 b, long2 c);
9594 ulong2 __ovld __cnfn mad_sat(ulong2 a, ulong2 b, ulong2 c);
9595 long3 __ovld __cnfn mad_sat(long3 a, long3 b, long3 c);
9596 ulong3 __ovld __cnfn mad_sat(ulong3 a, ulong3 b, ulong3 c);
9597 long4 __ovld __cnfn mad_sat(long4 a, long4 b, long4 c);
9598 ulong4 __ovld __cnfn mad_sat(ulong4 a, ulong4 b, ulong4 c);
9599 long8 __ovld __cnfn mad_sat(long8 a, long8 b, long8 c);
9600 ulong8 __ovld __cnfn mad_sat(ulong8 a, ulong8 b, ulong8 c);
9601 long16 __ovld __cnfn mad_sat(long16 a, long16 b, long16 c);
9602 ulong16 __ovld __cnfn mad_sat(ulong16 a, ulong16 b, ulong16 c);
9603 
9607 char __ovld __cnfn max(char x, char y);
9609 char2 __ovld __cnfn max(char2 x, char2 y);
9610 uchar2 __ovld __cnfn max(uchar2 x, uchar2 y);
9611 char3 __ovld __cnfn max(char3 x, char3 y);
9612 uchar3 __ovld __cnfn max(uchar3 x, uchar3 y);
9613 char4 __ovld __cnfn max(char4 x, char4 y);
9614 uchar4 __ovld __cnfn max(uchar4 x, uchar4 y);
9615 char8 __ovld __cnfn max(char8 x, char8 y);
9616 uchar8 __ovld __cnfn max(uchar8 x, uchar8 y);
9617 char16 __ovld __cnfn max(char16 x, char16 y);
9618 uchar16 __ovld __cnfn max(uchar16 x, uchar16 y);
9619 short __ovld __cnfn max(short x, short y);
9621 short2 __ovld __cnfn max(short2 x, short2 y);
9622 ushort2 __ovld __cnfn max(ushort2 x, ushort2 y);
9623 short3 __ovld __cnfn max(short3 x, short3 y);
9624 ushort3 __ovld __cnfn max(ushort3 x, ushort3 y);
9625 short4 __ovld __cnfn max(short4 x, short4 y);
9626 ushort4 __ovld __cnfn max(ushort4 x, ushort4 y);
9627 short8 __ovld __cnfn max(short8 x, short8 y);
9628 ushort8 __ovld __cnfn max(ushort8 x, ushort8 y);
9629 short16 __ovld __cnfn max(short16 x, short16 y);
9630 ushort16 __ovld __cnfn max(ushort16 x, ushort16 y);
9631 int __ovld __cnfn max(int x, int y);
9633 int2 __ovld __cnfn max(int2 x, int2 y);
9634 uint2 __ovld __cnfn max(uint2 x, uint2 y);
9635 int3 __ovld __cnfn max(int3 x, int3 y);
9636 uint3 __ovld __cnfn max(uint3 x, uint3 y);
9637 int4 __ovld __cnfn max(int4 x, int4 y);
9638 uint4 __ovld __cnfn max(uint4 x, uint4 y);
9643 long __ovld __cnfn max(long x, long y);
9645 long2 __ovld __cnfn max(long2 x, long2 y);
9646 ulong2 __ovld __cnfn max(ulong2 x, ulong2 y);
9647 long3 __ovld __cnfn max(long3 x, long3 y);
9648 ulong3 __ovld __cnfn max(ulong3 x, ulong3 y);
9649 long4 __ovld __cnfn max(long4 x, long4 y);
9650 ulong4 __ovld __cnfn max(ulong4 x, ulong4 y);
9651 long8 __ovld __cnfn max(long8 x, long8 y);
9652 ulong8 __ovld __cnfn max(ulong8 x, ulong8 y);
9653 long16 __ovld __cnfn max(long16 x, long16 y);
9654 ulong16 __ovld __cnfn max(ulong16 x, ulong16 y);
9655 char2 __ovld __cnfn max(char2 x, char y);
9656 uchar2 __ovld __cnfn max(uchar2 x, uchar y);
9657 char3 __ovld __cnfn max(char3 x, char y);
9658 uchar3 __ovld __cnfn max(uchar3 x, uchar y);
9659 char4 __ovld __cnfn max(char4 x, char y);
9660 uchar4 __ovld __cnfn max(uchar4 x, uchar y);
9661 char8 __ovld __cnfn max(char8 x, char y);
9662 uchar8 __ovld __cnfn max(uchar8 x, uchar y);
9663 char16 __ovld __cnfn max(char16 x, char y);
9664 uchar16 __ovld __cnfn max(uchar16 x, uchar y);
9665 short2 __ovld __cnfn max(short2 x, short y);
9666 ushort2 __ovld __cnfn max(ushort2 x, ushort y);
9667 short3 __ovld __cnfn max(short3 x, short y);
9668 ushort3 __ovld __cnfn max(ushort3 x, ushort y);
9669 short4 __ovld __cnfn max(short4 x, short y);
9670 ushort4 __ovld __cnfn max(ushort4 x, ushort y);
9671 short8 __ovld __cnfn max(short8 x, short y);
9672 ushort8 __ovld __cnfn max(ushort8 x, ushort y);
9673 short16 __ovld __cnfn max(short16 x, short y);
9674 ushort16 __ovld __cnfn max(ushort16 x, ushort y);
9675 int2 __ovld __cnfn max(int2 x, int y);
9676 uint2 __ovld __cnfn max(uint2 x, uint y);
9677 int3 __ovld __cnfn max(int3 x, int y);
9678 uint3 __ovld __cnfn max(uint3 x, uint y);
9679 int4 __ovld __cnfn max(int4 x, int y);
9680 uint4 __ovld __cnfn max(uint4 x, uint y);
9685 long2 __ovld __cnfn max(long2 x, long y);
9686 ulong2 __ovld __cnfn max(ulong2 x, ulong y);
9687 long3 __ovld __cnfn max(long3 x, long y);
9688 ulong3 __ovld __cnfn max(ulong3 x, ulong y);
9689 long4 __ovld __cnfn max(long4 x, long y);
9690 ulong4 __ovld __cnfn max(ulong4 x, ulong y);
9691 long8 __ovld __cnfn max(long8 x, long y);
9692 ulong8 __ovld __cnfn max(ulong8 x, ulong y);
9693 long16 __ovld __cnfn max(long16 x, long y);
9694 ulong16 __ovld __cnfn max(ulong16 x, ulong y);
9695 
9699 char __ovld __cnfn min(char x, char y);
9701 char2 __ovld __cnfn min(char2 x, char2 y);
9702 uchar2 __ovld __cnfn min(uchar2 x, uchar2 y);
9703 char3 __ovld __cnfn min(char3 x, char3 y);
9704 uchar3 __ovld __cnfn min(uchar3 x, uchar3 y);
9705 char4 __ovld __cnfn min(char4 x, char4 y);
9706 uchar4 __ovld __cnfn min(uchar4 x, uchar4 y);
9707 char8 __ovld __cnfn min(char8 x, char8 y);
9708 uchar8 __ovld __cnfn min(uchar8 x, uchar8 y);
9709 char16 __ovld __cnfn min(char16 x, char16 y);
9710 uchar16 __ovld __cnfn min(uchar16 x, uchar16 y);
9711 short __ovld __cnfn min(short x, short y);
9713 short2 __ovld __cnfn min(short2 x, short2 y);
9714 ushort2 __ovld __cnfn min(ushort2 x, ushort2 y);
9715 short3 __ovld __cnfn min(short3 x, short3 y);
9716 ushort3 __ovld __cnfn min(ushort3 x, ushort3 y);
9717 short4 __ovld __cnfn min(short4 x, short4 y);
9718 ushort4 __ovld __cnfn min(ushort4 x, ushort4 y);
9719 short8 __ovld __cnfn min(short8 x, short8 y);
9720 ushort8 __ovld __cnfn min(ushort8 x, ushort8 y);
9721 short16 __ovld __cnfn min(short16 x, short16 y);
9722 ushort16 __ovld __cnfn min(ushort16 x, ushort16 y);
9723 int __ovld __cnfn min(int x, int y);
9725 int2 __ovld __cnfn min(int2 x, int2 y);
9726 uint2 __ovld __cnfn min(uint2 x, uint2 y);
9727 int3 __ovld __cnfn min(int3 x, int3 y);
9728 uint3 __ovld __cnfn min(uint3 x, uint3 y);
9729 int4 __ovld __cnfn min(int4 x, int4 y);
9730 uint4 __ovld __cnfn min(uint4 x, uint4 y);
9735 long __ovld __cnfn min(long x, long y);
9737 long2 __ovld __cnfn min(long2 x, long2 y);
9738 ulong2 __ovld __cnfn min(ulong2 x, ulong2 y);
9739 long3 __ovld __cnfn min(long3 x, long3 y);
9740 ulong3 __ovld __cnfn min(ulong3 x, ulong3 y);
9741 long4 __ovld __cnfn min(long4 x, long4 y);
9742 ulong4 __ovld __cnfn min(ulong4 x, ulong4 y);
9743 long8 __ovld __cnfn min(long8 x, long8 y);
9744 ulong8 __ovld __cnfn min(ulong8 x, ulong8 y);
9745 long16 __ovld __cnfn min(long16 x, long16 y);
9746 ulong16 __ovld __cnfn min(ulong16 x, ulong16 y);
9747 char2 __ovld __cnfn min(char2 x, char y);
9748 uchar2 __ovld __cnfn min(uchar2 x, uchar y);
9749 char3 __ovld __cnfn min(char3 x, char y);
9750 uchar3 __ovld __cnfn min(uchar3 x, uchar y);
9751 char4 __ovld __cnfn min(char4 x, char y);
9752 uchar4 __ovld __cnfn min(uchar4 x, uchar y);
9753 char8 __ovld __cnfn min(char8 x, char y);
9754 uchar8 __ovld __cnfn min(uchar8 x, uchar y);
9755 char16 __ovld __cnfn min(char16 x, char y);
9756 uchar16 __ovld __cnfn min(uchar16 x, uchar y);
9757 short2 __ovld __cnfn min(short2 x, short y);
9758 ushort2 __ovld __cnfn min(ushort2 x, ushort y);
9759 short3 __ovld __cnfn min(short3 x, short y);
9760 ushort3 __ovld __cnfn min(ushort3 x, ushort y);
9761 short4 __ovld __cnfn min(short4 x, short y);
9762 ushort4 __ovld __cnfn min(ushort4 x, ushort y);
9763 short8 __ovld __cnfn min(short8 x, short y);
9764 ushort8 __ovld __cnfn min(ushort8 x, ushort y);
9765 short16 __ovld __cnfn min(short16 x, short y);
9766 ushort16 __ovld __cnfn min(ushort16 x, ushort y);
9767 int2 __ovld __cnfn min(int2 x, int y);
9768 uint2 __ovld __cnfn min(uint2 x, uint y);
9769 int3 __ovld __cnfn min(int3 x, int y);
9770 uint3 __ovld __cnfn min(uint3 x, uint y);
9771 int4 __ovld __cnfn min(int4 x, int y);
9772 uint4 __ovld __cnfn min(uint4 x, uint y);
9777 long2 __ovld __cnfn min(long2 x, long y);
9778 ulong2 __ovld __cnfn min(ulong2 x, ulong y);
9779 long3 __ovld __cnfn min(long3 x, long y);
9780 ulong3 __ovld __cnfn min(ulong3 x, ulong y);
9781 long4 __ovld __cnfn min(long4 x, long y);
9782 ulong4 __ovld __cnfn min(ulong4 x, ulong y);
9783 long8 __ovld __cnfn min(long8 x, long y);
9784 ulong8 __ovld __cnfn min(ulong8 x, ulong y);
9785 long16 __ovld __cnfn min(long16 x, long y);
9786 ulong16 __ovld __cnfn min(ulong16 x, ulong y);
9787 
9792 char __ovld __cnfn mul_hi(char x, char y);
9794 char2 __ovld __cnfn mul_hi(char2 x, char2 y);
9795 uchar2 __ovld __cnfn mul_hi(uchar2 x, uchar2 y);
9796 char3 __ovld __cnfn mul_hi(char3 x, char3 y);
9797 uchar3 __ovld __cnfn mul_hi(uchar3 x, uchar3 y);
9798 char4 __ovld __cnfn mul_hi(char4 x, char4 y);
9799 uchar4 __ovld __cnfn mul_hi(uchar4 x, uchar4 y);
9800 char8 __ovld __cnfn mul_hi(char8 x, char8 y);
9801 uchar8 __ovld __cnfn mul_hi(uchar8 x, uchar8 y);
9802 char16 __ovld __cnfn mul_hi(char16 x, char16 y);
9803 uchar16 __ovld __cnfn mul_hi(uchar16 x, uchar16 y);
9804 short __ovld __cnfn mul_hi(short x, short y);
9806 short2 __ovld __cnfn mul_hi(short2 x, short2 y);
9807 ushort2 __ovld __cnfn mul_hi(ushort2 x, ushort2 y);
9808 short3 __ovld __cnfn mul_hi(short3 x, short3 y);
9809 ushort3 __ovld __cnfn mul_hi(ushort3 x, ushort3 y);
9810 short4 __ovld __cnfn mul_hi(short4 x, short4 y);
9811 ushort4 __ovld __cnfn mul_hi(ushort4 x, ushort4 y);
9812 short8 __ovld __cnfn mul_hi(short8 x, short8 y);
9813 ushort8 __ovld __cnfn mul_hi(ushort8 x, ushort8 y);
9814 short16 __ovld __cnfn mul_hi(short16 x, short16 y);
9815 ushort16 __ovld __cnfn mul_hi(ushort16 x, ushort16 y);
9816 int __ovld __cnfn mul_hi(int x, int y);
9818 int2 __ovld __cnfn mul_hi(int2 x, int2 y);
9819 uint2 __ovld __cnfn mul_hi(uint2 x, uint2 y);
9820 int3 __ovld __cnfn mul_hi(int3 x, int3 y);
9821 uint3 __ovld __cnfn mul_hi(uint3 x, uint3 y);
9822 int4 __ovld __cnfn mul_hi(int4 x, int4 y);
9823 uint4 __ovld __cnfn mul_hi(uint4 x, uint4 y);
9828 long __ovld __cnfn mul_hi(long x, long y);
9830 long2 __ovld __cnfn mul_hi(long2 x, long2 y);
9831 ulong2 __ovld __cnfn mul_hi(ulong2 x, ulong2 y);
9832 long3 __ovld __cnfn mul_hi(long3 x, long3 y);
9833 ulong3 __ovld __cnfn mul_hi(ulong3 x, ulong3 y);
9834 long4 __ovld __cnfn mul_hi(long4 x, long4 y);
9835 ulong4 __ovld __cnfn mul_hi(ulong4 x, ulong4 y);
9836 long8 __ovld __cnfn mul_hi(long8 x, long8 y);
9837 ulong8 __ovld __cnfn mul_hi(ulong8 x, ulong8 y);
9838 long16 __ovld __cnfn mul_hi(long16 x, long16 y);
9839 ulong16 __ovld __cnfn mul_hi(ulong16 x, ulong16 y);
9840 
9849 char __ovld __cnfn rotate(char v, char i);
9851 char2 __ovld __cnfn rotate(char2 v, char2 i);
9852 uchar2 __ovld __cnfn rotate(uchar2 v, uchar2 i);
9853 char3 __ovld __cnfn rotate(char3 v, char3 i);
9854 uchar3 __ovld __cnfn rotate(uchar3 v, uchar3 i);
9855 char4 __ovld __cnfn rotate(char4 v, char4 i);
9856 uchar4 __ovld __cnfn rotate(uchar4 v, uchar4 i);
9857 char8 __ovld __cnfn rotate(char8 v, char8 i);
9858 uchar8 __ovld __cnfn rotate(uchar8 v, uchar8 i);
9859 char16 __ovld __cnfn rotate(char16 v, char16 i);
9860 uchar16 __ovld __cnfn rotate(uchar16 v, uchar16 i);
9861 short __ovld __cnfn rotate(short v, short i);
9863 short2 __ovld __cnfn rotate(short2 v, short2 i);
9864 ushort2 __ovld __cnfn rotate(ushort2 v, ushort2 i);
9865 short3 __ovld __cnfn rotate(short3 v, short3 i);
9866 ushort3 __ovld __cnfn rotate(ushort3 v, ushort3 i);
9867 short4 __ovld __cnfn rotate(short4 v, short4 i);
9868 ushort4 __ovld __cnfn rotate(ushort4 v, ushort4 i);
9869 short8 __ovld __cnfn rotate(short8 v, short8 i);
9870 ushort8 __ovld __cnfn rotate(ushort8 v, ushort8 i);
9871 short16 __ovld __cnfn rotate(short16 v, short16 i);
9872 ushort16 __ovld __cnfn rotate(ushort16 v, ushort16 i);
9873 int __ovld __cnfn rotate(int v, int i);
9875 int2 __ovld __cnfn rotate(int2 v, int2 i);
9876 uint2 __ovld __cnfn rotate(uint2 v, uint2 i);
9877 int3 __ovld __cnfn rotate(int3 v, int3 i);
9878 uint3 __ovld __cnfn rotate(uint3 v, uint3 i);
9879 int4 __ovld __cnfn rotate(int4 v, int4 i);
9880 uint4 __ovld __cnfn rotate(uint4 v, uint4 i);
9885 long __ovld __cnfn rotate(long v, long i);
9887 long2 __ovld __cnfn rotate(long2 v, long2 i);
9888 ulong2 __ovld __cnfn rotate(ulong2 v, ulong2 i);
9889 long3 __ovld __cnfn rotate(long3 v, long3 i);
9890 ulong3 __ovld __cnfn rotate(ulong3 v, ulong3 i);
9891 long4 __ovld __cnfn rotate(long4 v, long4 i);
9892 ulong4 __ovld __cnfn rotate(ulong4 v, ulong4 i);
9893 long8 __ovld __cnfn rotate(long8 v, long8 i);
9894 ulong8 __ovld __cnfn rotate(ulong8 v, ulong8 i);
9895 long16 __ovld __cnfn rotate(long16 v, long16 i);
9896 ulong16 __ovld __cnfn rotate(ulong16 v, ulong16 i);
9897 
9901 char __ovld __cnfn sub_sat(char x, char y);
9903 char2 __ovld __cnfn sub_sat(char2 x, char2 y);
9904 uchar2 __ovld __cnfn sub_sat(uchar2 x, uchar2 y);
9905 char3 __ovld __cnfn sub_sat(char3 x, char3 y);
9906 uchar3 __ovld __cnfn sub_sat(uchar3 x, uchar3 y);
9907 char4 __ovld __cnfn sub_sat(char4 x, char4 y);
9908 uchar4 __ovld __cnfn sub_sat(uchar4 x, uchar4 y);
9909 char8 __ovld __cnfn sub_sat(char8 x, char8 y);
9910 uchar8 __ovld __cnfn sub_sat(uchar8 x, uchar8 y);
9911 char16 __ovld __cnfn sub_sat(char16 x, char16 y);
9912 uchar16 __ovld __cnfn sub_sat(uchar16 x, uchar16 y);
9913 short __ovld __cnfn sub_sat(short x, short y);
9915 short2 __ovld __cnfn sub_sat(short2 x, short2 y);
9916 ushort2 __ovld __cnfn sub_sat(ushort2 x, ushort2 y);
9917 short3 __ovld __cnfn sub_sat(short3 x, short3 y);
9918 ushort3 __ovld __cnfn sub_sat(ushort3 x, ushort3 y);
9919 short4 __ovld __cnfn sub_sat(short4 x, short4 y);
9920 ushort4 __ovld __cnfn sub_sat(ushort4 x, ushort4 y);
9921 short8 __ovld __cnfn sub_sat(short8 x, short8 y);
9922 ushort8 __ovld __cnfn sub_sat(ushort8 x, ushort8 y);
9923 short16 __ovld __cnfn sub_sat(short16 x, short16 y);
9924 ushort16 __ovld __cnfn sub_sat(ushort16 x, ushort16 y);
9925 int __ovld __cnfn sub_sat(int x, int y);
9927 int2 __ovld __cnfn sub_sat(int2 x, int2 y);
9928 uint2 __ovld __cnfn sub_sat(uint2 x, uint2 y);
9929 int3 __ovld __cnfn sub_sat(int3 x, int3 y);
9930 uint3 __ovld __cnfn sub_sat(uint3 x, uint3 y);
9931 int4 __ovld __cnfn sub_sat(int4 x, int4 y);
9932 uint4 __ovld __cnfn sub_sat(uint4 x, uint4 y);
9937 long __ovld __cnfn sub_sat(long x, long y);
9939 long2 __ovld __cnfn sub_sat(long2 x, long2 y);
9940 ulong2 __ovld __cnfn sub_sat(ulong2 x, ulong2 y);
9941 long3 __ovld __cnfn sub_sat(long3 x, long3 y);
9942 ulong3 __ovld __cnfn sub_sat(ulong3 x, ulong3 y);
9943 long4 __ovld __cnfn sub_sat(long4 x, long4 y);
9944 ulong4 __ovld __cnfn sub_sat(ulong4 x, ulong4 y);
9945 long8 __ovld __cnfn sub_sat(long8 x, long8 y);
9946 ulong8 __ovld __cnfn sub_sat(ulong8 x, ulong8 y);
9947 long16 __ovld __cnfn sub_sat(long16 x, long16 y);
9948 ulong16 __ovld __cnfn sub_sat(ulong16 x, ulong16 y);
9949 
9954 short __ovld __cnfn upsample(char hi, uchar lo);
9956 short2 __ovld __cnfn upsample(char2 hi, uchar2 lo);
9957 short3 __ovld __cnfn upsample(char3 hi, uchar3 lo);
9958 short4 __ovld __cnfn upsample(char4 hi, uchar4 lo);
9959 short8 __ovld __cnfn upsample(char8 hi, uchar8 lo);
9960 short16 __ovld __cnfn upsample(char16 hi, uchar16 lo);
9961 ushort2 __ovld __cnfn upsample(uchar2 hi, uchar2 lo);
9962 ushort3 __ovld __cnfn upsample(uchar3 hi, uchar3 lo);
9963 ushort4 __ovld __cnfn upsample(uchar4 hi, uchar4 lo);
9964 ushort8 __ovld __cnfn upsample(uchar8 hi, uchar8 lo);
9965 ushort16 __ovld __cnfn upsample(uchar16 hi, uchar16 lo);
9966 
9971 int __ovld __cnfn upsample(short hi, ushort lo);
9973 int2 __ovld __cnfn upsample(short2 hi, ushort2 lo);
9974 int3 __ovld __cnfn upsample(short3 hi, ushort3 lo);
9975 int4 __ovld __cnfn upsample(short4 hi, ushort4 lo);
9976 int8 __ovld __cnfn upsample(short8 hi, ushort8 lo);
9977 int16 __ovld __cnfn upsample(short16 hi, ushort16 lo);
9978 uint2 __ovld __cnfn upsample(ushort2 hi, ushort2 lo);
9979 uint3 __ovld __cnfn upsample(ushort3 hi, ushort3 lo);
9980 uint4 __ovld __cnfn upsample(ushort4 hi, ushort4 lo);
9981 uint8 __ovld __cnfn upsample(ushort8 hi, ushort8 lo);
9982 uint16 __ovld __cnfn upsample(ushort16 hi, ushort16 lo);
9987 long __ovld __cnfn upsample(int hi, uint lo);
9989 long2 __ovld __cnfn upsample(int2 hi, uint2 lo);
9990 long3 __ovld __cnfn upsample(int3 hi, uint3 lo);
9991 long4 __ovld __cnfn upsample(int4 hi, uint4 lo);
9994 ulong2 __ovld __cnfn upsample(uint2 hi, uint2 lo);
9995 ulong3 __ovld __cnfn upsample(uint3 hi, uint3 lo);
9996 ulong4 __ovld __cnfn upsample(uint4 hi, uint4 lo);
9999 
10000 /*
10001  * popcount(x): returns the number of set bit in x
10002  */
10005 char2 __ovld __cnfn popcount(char2 x);
10006 uchar2 __ovld __cnfn popcount(uchar2 x);
10007 char3 __ovld __cnfn popcount(char3 x);
10008 uchar3 __ovld __cnfn popcount(uchar3 x);
10009 char4 __ovld __cnfn popcount(char4 x);
10010 uchar4 __ovld __cnfn popcount(uchar4 x);
10011 char8 __ovld __cnfn popcount(char8 x);
10012 uchar8 __ovld __cnfn popcount(uchar8 x);
10013 char16 __ovld __cnfn popcount(char16 x);
10014 uchar16 __ovld __cnfn popcount(uchar16 x);
10015 short __ovld __cnfn popcount(short x);
10017 short2 __ovld __cnfn popcount(short2 x);
10018 ushort2 __ovld __cnfn popcount(ushort2 x);
10019 short3 __ovld __cnfn popcount(short3 x);
10020 ushort3 __ovld __cnfn popcount(ushort3 x);
10021 short4 __ovld __cnfn popcount(short4 x);
10022 ushort4 __ovld __cnfn popcount(ushort4 x);
10023 short8 __ovld __cnfn popcount(short8 x);
10024 ushort8 __ovld __cnfn popcount(ushort8 x);
10025 short16 __ovld __cnfn popcount(short16 x);
10026 ushort16 __ovld __cnfn popcount(ushort16 x);
10030 uint2 __ovld __cnfn popcount(uint2 x);
10032 uint3 __ovld __cnfn popcount(uint3 x);
10034 uint4 __ovld __cnfn popcount(uint4 x);
10041 long2 __ovld __cnfn popcount(long2 x);
10042 ulong2 __ovld __cnfn popcount(ulong2 x);
10043 long3 __ovld __cnfn popcount(long3 x);
10044 ulong3 __ovld __cnfn popcount(ulong3 x);
10045 long4 __ovld __cnfn popcount(long4 x);
10046 ulong4 __ovld __cnfn popcount(ulong4 x);
10047 long8 __ovld __cnfn popcount(long8 x);
10048 ulong8 __ovld __cnfn popcount(ulong8 x);
10049 long16 __ovld __cnfn popcount(long16 x);
10050 ulong16 __ovld __cnfn popcount(ulong16 x);
10051 
10058 int __ovld __cnfn mad24(int x, int y, int z);
10060 int2 __ovld __cnfn mad24(int2 x, int2 y, int2 z);
10061 uint2 __ovld __cnfn mad24(uint2 x, uint2 y, uint2 z);
10062 int3 __ovld __cnfn mad24(int3 x, int3 y, int3 z);
10063 uint3 __ovld __cnfn mad24(uint3 x, uint3 y, uint3 z);
10064 int4 __ovld __cnfn mad24(int4 x, int4 y, int4 z);
10065 uint4 __ovld __cnfn mad24(uint4 x, uint4 y, uint4 z);
10070 
10081 int __ovld __cnfn mul24(int x, int y);
10083 int2 __ovld __cnfn mul24(int2 x, int2 y);
10084 uint2 __ovld __cnfn mul24(uint2 x, uint2 y);
10085 int3 __ovld __cnfn mul24(int3 x, int3 y);
10086 uint3 __ovld __cnfn mul24(uint3 x, uint3 y);
10087 int4 __ovld __cnfn mul24(int4 x, int4 y);
10088 uint4 __ovld __cnfn mul24(uint4 x, uint4 y);
10093 
10094 // OpenCL v1.1 s6.11.4, v1.2 s6.12.4, v2.0 s6.13.4 - Common Functions
10095 
10100 float __ovld __cnfn clamp(float x, float minval, float maxval);
10101 float2 __ovld __cnfn clamp(float2 x, float2 minval, float2 maxval);
10102 float3 __ovld __cnfn clamp(float3 x, float3 minval, float3 maxval);
10103 float4 __ovld __cnfn clamp(float4 x, float4 minval, float4 maxval);
10104 float8 __ovld __cnfn clamp(float8 x, float8 minval, float8 maxval);
10105 float16 __ovld __cnfn clamp(float16 x, float16 minval, float16 maxval);
10106 float2 __ovld __cnfn clamp(float2 x, float minval, float maxval);
10107 float3 __ovld __cnfn clamp(float3 x, float minval, float maxval);
10108 float4 __ovld __cnfn clamp(float4 x, float minval, float maxval);
10109 float8 __ovld __cnfn clamp(float8 x, float minval, float maxval);
10110 float16 __ovld __cnfn clamp(float16 x, float minval, float maxval);
10111 #ifdef cl_khr_fp64
10112 double __ovld __cnfn clamp(double x, double minval, double maxval);
10113 double2 __ovld __cnfn clamp(double2 x, double2 minval, double2 maxval);
10114 double3 __ovld __cnfn clamp(double3 x, double3 minval, double3 maxval);
10115 double4 __ovld __cnfn clamp(double4 x, double4 minval, double4 maxval);
10116 double8 __ovld __cnfn clamp(double8 x, double8 minval, double8 maxval);
10117 double16 __ovld __cnfn clamp(double16 x, double16 minval, double16 maxval);
10118 double2 __ovld __cnfn clamp(double2 x, double minval, double maxval);
10119 double3 __ovld __cnfn clamp(double3 x, double minval, double maxval);
10120 double4 __ovld __cnfn clamp(double4 x, double minval, double maxval);
10121 double8 __ovld __cnfn clamp(double8 x, double minval, double maxval);
10122 double16 __ovld __cnfn clamp(double16 x, double minval, double maxval);
10123 #endif //cl_khr_fp64
10124 #ifdef cl_khr_fp16
10125 half __ovld __cnfn clamp(half x, half minval, half maxval);
10126 half2 __ovld __cnfn clamp(half2 x, half2 minval, half2 maxval);
10127 half3 __ovld __cnfn clamp(half3 x, half3 minval, half3 maxval);
10128 half4 __ovld __cnfn clamp(half4 x, half4 minval, half4 maxval);
10129 half8 __ovld __cnfn clamp(half8 x, half8 minval, half8 maxval);
10130 half16 __ovld __cnfn clamp(half16 x, half16 minval, half16 maxval);
10131 half2 __ovld __cnfn clamp(half2 x, half minval, half maxval);
10132 half3 __ovld __cnfn clamp(half3 x, half minval, half maxval);
10133 half4 __ovld __cnfn clamp(half4 x, half minval, half maxval);
10134 half8 __ovld __cnfn clamp(half8 x, half minval, half maxval);
10135 half16 __ovld __cnfn clamp(half16 x, half minval, half maxval);
10136 #endif //cl_khr_fp16
10137 
10143 float2 __ovld __cnfn degrees(float2 radians);
10144 float3 __ovld __cnfn degrees(float3 radians);
10145 float4 __ovld __cnfn degrees(float4 radians);
10146 float8 __ovld __cnfn degrees(float8 radians);
10147 float16 __ovld __cnfn degrees(float16 radians);
10148 #ifdef cl_khr_fp64
10149 double __ovld __cnfn degrees(double radians);
10150 double2 __ovld __cnfn degrees(double2 radians);
10151 double3 __ovld __cnfn degrees(double3 radians);
10152 double4 __ovld __cnfn degrees(double4 radians);
10153 double8 __ovld __cnfn degrees(double8 radians);
10154 double16 __ovld __cnfn degrees(double16 radians);
10155 #endif //cl_khr_fp64
10156 #ifdef cl_khr_fp16
10157 half __ovld __cnfn degrees(half radians);
10158 half2 __ovld __cnfn degrees(half2 radians);
10159 half3 __ovld __cnfn degrees(half3 radians);
10160 half4 __ovld __cnfn degrees(half4 radians);
10161 half8 __ovld __cnfn degrees(half8 radians);
10162 half16 __ovld __cnfn degrees(half16 radians);
10163 #endif //cl_khr_fp16
10164 
10169 float __ovld __cnfn max(float x, float y);
10170 float2 __ovld __cnfn max(float2 x, float2 y);
10171 float3 __ovld __cnfn max(float3 x, float3 y);
10172 float4 __ovld __cnfn max(float4 x, float4 y);
10173 float8 __ovld __cnfn max(float8 x, float8 y);
10174 float16 __ovld __cnfn max(float16 x, float16 y);
10175 float2 __ovld __cnfn max(float2 x, float y);
10176 float3 __ovld __cnfn max(float3 x, float y);
10177 float4 __ovld __cnfn max(float4 x, float y);
10178 float8 __ovld __cnfn max(float8 x, float y);
10179 float16 __ovld __cnfn max(float16 x, float y);
10180 #ifdef cl_khr_fp64
10181 double __ovld __cnfn max(double x, double y);
10182 double2 __ovld __cnfn max(double2 x, double2 y);
10183 double3 __ovld __cnfn max(double3 x, double3 y);
10184 double4 __ovld __cnfn max(double4 x, double4 y);
10185 double8 __ovld __cnfn max(double8 x, double8 y);
10186 double16 __ovld __cnfn max(double16 x, double16 y);
10187 double2 __ovld __cnfn max(double2 x, double y);
10188 double3 __ovld __cnfn max(double3 x, double y);
10189 double4 __ovld __cnfn max(double4 x, double y);
10190 double8 __ovld __cnfn max(double8 x, double y);
10191 double16 __ovld __cnfn max(double16 x, double y);
10192 #endif //cl_khr_fp64
10193 #ifdef cl_khr_fp16
10194 half __ovld __cnfn max(half x, half y);
10195 half2 __ovld __cnfn max(half2 x, half2 y);
10196 half3 __ovld __cnfn max(half3 x, half3 y);
10197 half4 __ovld __cnfn max(half4 x, half4 y);
10198 half8 __ovld __cnfn max(half8 x, half8 y);
10199 half16 __ovld __cnfn max(half16 x, half16 y);
10200 half2 __ovld __cnfn max(half2 x, half y);
10201 half3 __ovld __cnfn max(half3 x, half y);
10202 half4 __ovld __cnfn max(half4 x, half y);
10203 half8 __ovld __cnfn max(half8 x, half y);
10204 half16 __ovld __cnfn max(half16 x, half y);
10205 #endif //cl_khr_fp16
10206 
10211 float __ovld __cnfn min(float x, float y);
10212 float2 __ovld __cnfn min(float2 x, float2 y);
10213 float3 __ovld __cnfn min(float3 x, float3 y);
10214 float4 __ovld __cnfn min(float4 x, float4 y);
10215 float8 __ovld __cnfn min(float8 x, float8 y);
10216 float16 __ovld __cnfn min(float16 x, float16 y);
10217 float2 __ovld __cnfn min(float2 x, float y);
10218 float3 __ovld __cnfn min(float3 x, float y);
10219 float4 __ovld __cnfn min(float4 x, float y);
10220 float8 __ovld __cnfn min(float8 x, float y);
10221 float16 __ovld __cnfn min(float16 x, float y);
10222 #ifdef cl_khr_fp64
10223 double __ovld __cnfn min(double x, double y);
10224 double2 __ovld __cnfn min(double2 x, double2 y);
10225 double3 __ovld __cnfn min(double3 x, double3 y);
10226 double4 __ovld __cnfn min(double4 x, double4 y);
10227 double8 __ovld __cnfn min(double8 x, double8 y);
10228 double16 __ovld __cnfn min(double16 x, double16 y);
10229 double2 __ovld __cnfn min(double2 x, double y);
10230 double3 __ovld __cnfn min(double3 x, double y);
10231 double4 __ovld __cnfn min(double4 x, double y);
10232 double8 __ovld __cnfn min(double8 x, double y);
10233 double16 __ovld __cnfn min(double16 x, double y);
10234 #endif //cl_khr_fp64
10235 #ifdef cl_khr_fp16
10236 half __ovld __cnfn min(half x, half y);
10237 half2 __ovld __cnfn min(half2 x, half2 y);
10238 half3 __ovld __cnfn min(half3 x, half3 y);
10239 half4 __ovld __cnfn min(half4 x, half4 y);
10240 half8 __ovld __cnfn min(half8 x, half8 y);
10241 half16 __ovld __cnfn min(half16 x, half16 y);
10242 half2 __ovld __cnfn min(half2 x, half y);
10243 half3 __ovld __cnfn min(half3 x, half y);
10244 half4 __ovld __cnfn min(half4 x, half y);
10245 half8 __ovld __cnfn min(half8 x, half y);
10246 half16 __ovld __cnfn min(half16 x, half y);
10247 #endif //cl_khr_fp16
10248 
10256 float __ovld __cnfn mix(float x, float y, float a);
10257 float2 __ovld __cnfn mix(float2 x, float2 y, float2 a);
10258 float3 __ovld __cnfn mix(float3 x, float3 y, float3 a);
10259 float4 __ovld __cnfn mix(float4 x, float4 y, float4 a);
10260 float8 __ovld __cnfn mix(float8 x, float8 y, float8 a);
10261 float16 __ovld __cnfn mix(float16 x, float16 y, float16 a);
10262 float2 __ovld __cnfn mix(float2 x, float2 y, float a);
10263 float3 __ovld __cnfn mix(float3 x, float3 y, float a);
10264 float4 __ovld __cnfn mix(float4 x, float4 y, float a);
10265 float8 __ovld __cnfn mix(float8 x, float8 y, float a);
10266 float16 __ovld __cnfn mix(float16 x, float16 y, float a);
10267 #ifdef cl_khr_fp64
10268 double __ovld __cnfn mix(double x, double y, double a);
10269 double2 __ovld __cnfn mix(double2 x, double2 y, double2 a);
10270 double3 __ovld __cnfn mix(double3 x, double3 y, double3 a);
10271 double4 __ovld __cnfn mix(double4 x, double4 y, double4 a);
10272 double8 __ovld __cnfn mix(double8 x, double8 y, double8 a);
10273 double16 __ovld __cnfn mix(double16 x, double16 y, double16 a);
10274 double2 __ovld __cnfn mix(double2 x, double2 y, double a);
10275 double3 __ovld __cnfn mix(double3 x, double3 y, double a);
10276 double4 __ovld __cnfn mix(double4 x, double4 y, double a);
10277 double8 __ovld __cnfn mix(double8 x, double8 y, double a);
10278 double16 __ovld __cnfn mix(double16 x, double16 y, double a);
10279 #endif //cl_khr_fp64
10280 #ifdef cl_khr_fp16
10281 half __ovld __cnfn mix(half x, half y, half a);
10282 half2 __ovld __cnfn mix(half2 x, half2 y, half2 a);
10283 half3 __ovld __cnfn mix(half3 x, half3 y, half3 a);
10284 half4 __ovld __cnfn mix(half4 x, half4 y, half4 a);
10285 half8 __ovld __cnfn mix(half8 x, half8 y, half8 a);
10286 half16 __ovld __cnfn mix(half16 x, half16 y, half16 a);
10287 half2 __ovld __cnfn mix(half2 x, half2 y, half a);
10288 half3 __ovld __cnfn mix(half3 x, half3 y, half a);
10289 half4 __ovld __cnfn mix(half4 x, half4 y, half a);
10290 half8 __ovld __cnfn mix(half8 x, half8 y, half a);
10291 half16 __ovld __cnfn mix(half16 x, half16 y, half a);
10292 #endif //cl_khr_fp16
10293 
10299 float2 __ovld __cnfn radians(float2 degrees);
10300 float3 __ovld __cnfn radians(float3 degrees);
10301 float4 __ovld __cnfn radians(float4 degrees);
10302 float8 __ovld __cnfn radians(float8 degrees);
10303 float16 __ovld __cnfn radians(float16 degrees);
10304 #ifdef cl_khr_fp64
10305 double __ovld __cnfn radians(double degrees);
10306 double2 __ovld __cnfn radians(double2 degrees);
10307 double3 __ovld __cnfn radians(double3 degrees);
10308 double4 __ovld __cnfn radians(double4 degrees);
10309 double8 __ovld __cnfn radians(double8 degrees);
10310 double16 __ovld __cnfn radians(double16 degrees);
10311 #endif //cl_khr_fp64
10312 #ifdef cl_khr_fp16
10313 half __ovld __cnfn radians(half degrees);
10314 half2 __ovld __cnfn radians(half2 degrees);
10315 half3 __ovld __cnfn radians(half3 degrees);
10316 half4 __ovld __cnfn radians(half4 degrees);
10317 half8 __ovld __cnfn radians(half8 degrees);
10318 half16 __ovld __cnfn radians(half16 degrees);
10319 #endif //cl_khr_fp16
10320 
10324 float __ovld __cnfn step(float edge, float x);
10325 float2 __ovld __cnfn step(float2 edge, float2 x);
10326 float3 __ovld __cnfn step(float3 edge, float3 x);
10327 float4 __ovld __cnfn step(float4 edge, float4 x);
10328 float8 __ovld __cnfn step(float8 edge, float8 x);
10329 float16 __ovld __cnfn step(float16 edge, float16 x);
10330 float2 __ovld __cnfn step(float edge, float2 x);
10331 float3 __ovld __cnfn step(float edge, float3 x);
10332 float4 __ovld __cnfn step(float edge, float4 x);
10333 float8 __ovld __cnfn step(float edge, float8 x);
10334 float16 __ovld __cnfn step(float edge, float16 x);
10335 #ifdef cl_khr_fp64
10336 double __ovld __cnfn step(double edge, double x);
10337 double2 __ovld __cnfn step(double2 edge, double2 x);
10338 double3 __ovld __cnfn step(double3 edge, double3 x);
10339 double4 __ovld __cnfn step(double4 edge, double4 x);
10340 double8 __ovld __cnfn step(double8 edge, double8 x);
10341 double16 __ovld __cnfn step(double16 edge, double16 x);
10342 double2 __ovld __cnfn step(double edge, double2 x);
10343 double3 __ovld __cnfn step(double edge, double3 x);
10344 double4 __ovld __cnfn step(double edge, double4 x);
10345 double8 __ovld __cnfn step(double edge, double8 x);
10346 double16 __ovld __cnfn step(double edge, double16 x);
10347 #endif //cl_khr_fp64
10348 #ifdef cl_khr_fp16
10349 half __ovld __cnfn step(half edge, half x);
10350 half2 __ovld __cnfn step(half2 edge, half2 x);
10351 half3 __ovld __cnfn step(half3 edge, half3 x);
10352 half4 __ovld __cnfn step(half4 edge, half4 x);
10353 half8 __ovld __cnfn step(half8 edge, half8 x);
10354 half16 __ovld __cnfn step(half16 edge, half16 x);
10355 half2 __ovld __cnfn step(half edge, half2 x);
10356 half3 __ovld __cnfn step(half edge, half3 x);
10357 half4 __ovld __cnfn step(half edge, half4 x);
10358 half8 __ovld __cnfn step(half edge, half8 x);
10359 half16 __ovld __cnfn step(half edge, half16 x);
10360 #endif //cl_khr_fp16
10361 
10375 float __ovld __cnfn smoothstep(float edge0, float edge1, float x);
10376 float2 __ovld __cnfn smoothstep(float2 edge0, float2 edge1, float2 x);
10377 float3 __ovld __cnfn smoothstep(float3 edge0, float3 edge1, float3 x);
10378 float4 __ovld __cnfn smoothstep(float4 edge0, float4 edge1, float4 x);
10379 float8 __ovld __cnfn smoothstep(float8 edge0, float8 edge1, float8 x);
10380 float16 __ovld __cnfn smoothstep(float16 edge0, float16 edge1, float16 x);
10381 float2 __ovld __cnfn smoothstep(float edge0, float edge1, float2 x);
10382 float3 __ovld __cnfn smoothstep(float edge0, float edge1, float3 x);
10383 float4 __ovld __cnfn smoothstep(float edge0, float edge1, float4 x);
10384 float8 __ovld __cnfn smoothstep(float edge0, float edge1, float8 x);
10385 float16 __ovld __cnfn smoothstep(float edge0, float edge1, float16 x);
10386 #ifdef cl_khr_fp64
10387 double __ovld __cnfn smoothstep(double edge0, double edge1, double x);
10388 double2 __ovld __cnfn smoothstep(double2 edge0, double2 edge1, double2 x);
10389 double3 __ovld __cnfn smoothstep(double3 edge0, double3 edge1, double3 x);
10390 double4 __ovld __cnfn smoothstep(double4 edge0, double4 edge1, double4 x);
10391 double8 __ovld __cnfn smoothstep(double8 edge0, double8 edge1, double8 x);
10392 double16 __ovld __cnfn smoothstep(double16 edge0, double16 edge1, double16 x);
10393 double2 __ovld __cnfn smoothstep(double edge0, double edge1, double2 x);
10394 double3 __ovld __cnfn smoothstep(double edge0, double edge1, double3 x);
10395 double4 __ovld __cnfn smoothstep(double edge0, double edge1, double4 x);
10396 double8 __ovld __cnfn smoothstep(double edge0, double edge1, double8 x);
10397 double16 __ovld __cnfn smoothstep(double edge0, double edge1, double16 x);
10398 #endif //cl_khr_fp64
10399 #ifdef cl_khr_fp16
10400 half __ovld __cnfn smoothstep(half edge0, half edge1, half x);
10401 half2 __ovld __cnfn smoothstep(half2 edge0, half2 edge1, half2 x);
10402 half3 __ovld __cnfn smoothstep(half3 edge0, half3 edge1, half3 x);
10403 half4 __ovld __cnfn smoothstep(half4 edge0, half4 edge1, half4 x);
10404 half8 __ovld __cnfn smoothstep(half8 edge0, half8 edge1, half8 x);
10405 half16 __ovld __cnfn smoothstep(half16 edge0, half16 edge1, half16 x);
10406 half2 __ovld __cnfn smoothstep(half edge0, half edge1, half2 x);
10407 half3 __ovld __cnfn smoothstep(half edge0, half edge1, half3 x);
10408 half4 __ovld __cnfn smoothstep(half edge0, half edge1, half4 x);
10409 half8 __ovld __cnfn smoothstep(half edge0, half edge1, half8 x);
10410 half16 __ovld __cnfn smoothstep(half edge0, half edge1, half16 x);
10411 #endif //cl_khr_fp16
10412 
10417 float __ovld __cnfn sign(float x);
10418 float2 __ovld __cnfn sign(float2 x);
10419 float3 __ovld __cnfn sign(float3 x);
10420 float4 __ovld __cnfn sign(float4 x);
10421 float8 __ovld __cnfn sign(float8 x);
10422 float16 __ovld __cnfn sign(float16 x);
10423 #ifdef cl_khr_fp64
10424 double __ovld __cnfn sign(double x);
10425 double2 __ovld __cnfn sign(double2 x);
10426 double3 __ovld __cnfn sign(double3 x);
10427 double4 __ovld __cnfn sign(double4 x);
10428 double8 __ovld __cnfn sign(double8 x);
10429 double16 __ovld __cnfn sign(double16 x);
10430 #endif //cl_khr_fp64
10431 #ifdef cl_khr_fp16
10432 half __ovld __cnfn sign(half x);
10433 half2 __ovld __cnfn sign(half2 x);
10434 half3 __ovld __cnfn sign(half3 x);
10435 half4 __ovld __cnfn sign(half4 x);
10436 half8 __ovld __cnfn sign(half8 x);
10437 half16 __ovld __cnfn sign(half16 x);
10438 #endif //cl_khr_fp16
10439 
10440 // OpenCL v1.1 s6.11.5, v1.2 s6.12.5, v2.0 s6.13.5 - Geometric Functions
10441 
10446 float4 __ovld __cnfn cross(float4 p0, float4 p1);
10447 float3 __ovld __cnfn cross(float3 p0, float3 p1);
10448 #ifdef cl_khr_fp64
10449 double4 __ovld __cnfn cross(double4 p0, double4 p1);
10450 double3 __ovld __cnfn cross(double3 p0, double3 p1);
10451 #endif //cl_khr_fp64
10452 #ifdef cl_khr_fp16
10453 half4 __ovld __cnfn cross(half4 p0, half4 p1);
10454 half3 __ovld __cnfn cross(half3 p0, half3 p1);
10455 #endif //cl_khr_fp16
10456 
10460 float __ovld __cnfn dot(float p0, float p1);
10461 float __ovld __cnfn dot(float2 p0, float2 p1);
10462 float __ovld __cnfn dot(float3 p0, float3 p1);
10463 float __ovld __cnfn dot(float4 p0, float4 p1);
10464 #ifdef cl_khr_fp64
10465 double __ovld __cnfn dot(double p0, double p1);
10466 double __ovld __cnfn dot(double2 p0, double2 p1);
10467 double __ovld __cnfn dot(double3 p0, double3 p1);
10468 double __ovld __cnfn dot(double4 p0, double4 p1);
10469 #endif //cl_khr_fp64
10470 #ifdef cl_khr_fp16
10471 half __ovld __cnfn dot(half p0, half p1);
10472 half __ovld __cnfn dot(half2 p0, half2 p1);
10473 half __ovld __cnfn dot(half3 p0, half3 p1);
10474 half __ovld __cnfn dot(half4 p0, half4 p1);
10475 #endif //cl_khr_fp16
10476 
10481 float __ovld __cnfn distance(float p0, float p1);
10482 float __ovld __cnfn distance(float2 p0, float2 p1);
10483 float __ovld __cnfn distance(float3 p0, float3 p1);
10484 float __ovld __cnfn distance(float4 p0, float4 p1);
10485 #ifdef cl_khr_fp64
10486 double __ovld __cnfn distance(double p0, double p1);
10487 double __ovld __cnfn distance(double2 p0, double2 p1);
10488 double __ovld __cnfn distance(double3 p0, double3 p1);
10489 double __ovld __cnfn distance(double4 p0, double4 p1);
10490 #endif //cl_khr_fp64
10491 #ifdef cl_khr_fp16
10492 half __ovld __cnfn distance(half p0, half p1);
10493 half __ovld __cnfn distance(half2 p0, half2 p1);
10494 half __ovld __cnfn distance(half3 p0, half3 p1);
10495 half __ovld __cnfn distance(half4 p0, half4 p1);
10496 #endif //cl_khr_fp16
10497 
10502 float __ovld __cnfn length(float p);
10503 float __ovld __cnfn length(float2 p);
10504 float __ovld __cnfn length(float3 p);
10505 float __ovld __cnfn length(float4 p);
10506 #ifdef cl_khr_fp64
10507 double __ovld __cnfn length(double p);
10508 double __ovld __cnfn length(double2 p);
10509 double __ovld __cnfn length(double3 p);
10510 double __ovld __cnfn length(double4 p);
10511 #endif //cl_khr_fp64
10512 #ifdef cl_khr_fp16
10513 half __ovld __cnfn length(half p);
10514 half __ovld __cnfn length(half2 p);
10515 half __ovld __cnfn length(half3 p);
10516 half __ovld __cnfn length(half4 p);
10517 #endif //cl_khr_fp16
10518 
10523 float __ovld __cnfn normalize(float p);
10524 float2 __ovld __cnfn normalize(float2 p);
10525 float3 __ovld __cnfn normalize(float3 p);
10526 float4 __ovld __cnfn normalize(float4 p);
10527 #ifdef cl_khr_fp64
10528 double __ovld __cnfn normalize(double p);
10529 double2 __ovld __cnfn normalize(double2 p);
10530 double3 __ovld __cnfn normalize(double3 p);
10531 double4 __ovld __cnfn normalize(double4 p);
10532 #endif //cl_khr_fp64
10533 #ifdef cl_khr_fp16
10534 half __ovld __cnfn normalize(half p);
10535 half2 __ovld __cnfn normalize(half2 p);
10536 half3 __ovld __cnfn normalize(half3 p);
10537 half4 __ovld __cnfn normalize(half4 p);
10538 #endif //cl_khr_fp16
10539 
10543 float __ovld __cnfn fast_distance(float p0, float p1);
10544 float __ovld __cnfn fast_distance(float2 p0, float2 p1);
10545 float __ovld __cnfn fast_distance(float3 p0, float3 p1);
10546 float __ovld __cnfn fast_distance(float4 p0, float4 p1);
10547 #ifdef cl_khr_fp16
10548 half __ovld __cnfn fast_distance(half p0, half p1);
10549 half __ovld __cnfn fast_distance(half2 p0, half2 p1);
10550 half __ovld __cnfn fast_distance(half3 p0, half3 p1);
10551 half __ovld __cnfn fast_distance(half4 p0, half4 p1);
10552 #endif //cl_khr_fp16
10553 
10558 float __ovld __cnfn fast_length(float p);
10559 float __ovld __cnfn fast_length(float2 p);
10560 float __ovld __cnfn fast_length(float3 p);
10561 float __ovld __cnfn fast_length(float4 p);
10562 #ifdef cl_khr_fp16
10563 half __ovld __cnfn fast_length(half p);
10564 half __ovld __cnfn fast_length(half2 p);
10565 half __ovld __cnfn fast_length(half3 p);
10566 half __ovld __cnfn fast_length(half4 p);
10567 #endif //cl_khr_fp16
10568 
10591 float2 __ovld __cnfn fast_normalize(float2 p);
10592 float3 __ovld __cnfn fast_normalize(float3 p);
10593 float4 __ovld __cnfn fast_normalize(float4 p);
10594 #ifdef cl_khr_fp16
10595 half __ovld __cnfn fast_normalize(half p);
10596 half2 __ovld __cnfn fast_normalize(half2 p);
10597 half3 __ovld __cnfn fast_normalize(half3 p);
10598 half4 __ovld __cnfn fast_normalize(half4 p);
10599 #endif //cl_khr_fp16
10600 
10601 // OpenCL v1.1 s6.11.6, v1.2 s6.12.6, v2.0 s6.13.6 - Relational Functions
10602 
10607 int __ovld __cnfn isequal(float x, float y);
10608 int2 __ovld __cnfn isequal(float2 x, float2 y);
10609 int3 __ovld __cnfn isequal(float3 x, float3 y);
10610 int4 __ovld __cnfn isequal(float4 x, float4 y);
10611 int8 __ovld __cnfn isequal(float8 x, float8 y);
10612 int16 __ovld __cnfn isequal(float16 x, float16 y);
10613 #ifdef cl_khr_fp64
10614 int __ovld __cnfn isequal(double x, double y);
10615 long2 __ovld __cnfn isequal(double2 x, double2 y);
10616 long3 __ovld __cnfn isequal(double3 x, double3 y);
10617 long4 __ovld __cnfn isequal(double4 x, double4 y);
10618 long8 __ovld __cnfn isequal(double8 x, double8 y);
10619 long16 __ovld __cnfn isequal(double16 x, double16 y);
10620 #endif //cl_khr_fp64
10621 #ifdef cl_khr_fp16
10622 int __ovld __cnfn isequal(half x, half y);
10623 short2 __ovld __cnfn isequal(half2 x, half2 y);
10624 short3 __ovld __cnfn isequal(half3 x, half3 y);
10625 short4 __ovld __cnfn isequal(half4 x, half4 y);
10626 short8 __ovld __cnfn isequal(half8 x, half8 y);
10627 short16 __ovld __cnfn isequal(half16 x, half16 y);
10628 #endif //cl_khr_fp16
10629 
10633 int __ovld __cnfn isnotequal(float x, float y);
10634 int2 __ovld __cnfn isnotequal(float2 x, float2 y);
10635 int3 __ovld __cnfn isnotequal(float3 x, float3 y);
10636 int4 __ovld __cnfn isnotequal(float4 x, float4 y);
10637 int8 __ovld __cnfn isnotequal(float8 x, float8 y);
10638 int16 __ovld __cnfn isnotequal(float16 x, float16 y);
10639 #ifdef cl_khr_fp64
10640 int __ovld __cnfn isnotequal(double x, double y);
10641 long2 __ovld __cnfn isnotequal(double2 x, double2 y);
10642 long3 __ovld __cnfn isnotequal(double3 x, double3 y);
10643 long4 __ovld __cnfn isnotequal(double4 x, double4 y);
10644 long8 __ovld __cnfn isnotequal(double8 x, double8 y);
10645 long16 __ovld __cnfn isnotequal(double16 x, double16 y);
10646 #endif //cl_khr_fp64
10647 #ifdef cl_khr_fp16
10648 int __ovld __cnfn isnotequal(half x, half y);
10649 short2 __ovld __cnfn isnotequal(half2 x, half2 y);
10650 short3 __ovld __cnfn isnotequal(half3 x, half3 y);
10651 short4 __ovld __cnfn isnotequal(half4 x, half4 y);
10652 short8 __ovld __cnfn isnotequal(half8 x, half8 y);
10653 short16 __ovld __cnfn isnotequal(half16 x, half16 y);
10654 #endif //cl_khr_fp16
10655 
10659 int __ovld __cnfn isgreater(float x, float y);
10660 int2 __ovld __cnfn isgreater(float2 x, float2 y);
10661 int3 __ovld __cnfn isgreater(float3 x, float3 y);
10662 int4 __ovld __cnfn isgreater(float4 x, float4 y);
10663 int8 __ovld __cnfn isgreater(float8 x, float8 y);
10664 int16 __ovld __cnfn isgreater(float16 x, float16 y);
10665 #ifdef cl_khr_fp64
10666 int __ovld __cnfn isgreater(double x, double y);
10667 long2 __ovld __cnfn isgreater(double2 x, double2 y);
10668 long3 __ovld __cnfn isgreater(double3 x, double3 y);
10669 long4 __ovld __cnfn isgreater(double4 x, double4 y);
10670 long8 __ovld __cnfn isgreater(double8 x, double8 y);
10671 long16 __ovld __cnfn isgreater(double16 x, double16 y);
10672 #endif //cl_khr_fp64
10673 #ifdef cl_khr_fp16
10674 int __ovld __cnfn isgreater(half x, half y);
10675 short2 __ovld __cnfn isgreater(half2 x, half2 y);
10676 short3 __ovld __cnfn isgreater(half3 x, half3 y);
10677 short4 __ovld __cnfn isgreater(half4 x, half4 y);
10678 short8 __ovld __cnfn isgreater(half8 x, half8 y);
10679 short16 __ovld __cnfn isgreater(half16 x, half16 y);
10680 #endif //cl_khr_fp16
10681 
10685 int __ovld __cnfn isgreaterequal(float x, float y);
10686 int2 __ovld __cnfn isgreaterequal(float2 x, float2 y);
10687 int3 __ovld __cnfn isgreaterequal(float3 x, float3 y);
10688 int4 __ovld __cnfn isgreaterequal(float4 x, float4 y);
10689 int8 __ovld __cnfn isgreaterequal(float8 x, float8 y);
10690 int16 __ovld __cnfn isgreaterequal(float16 x, float16 y);
10691 #ifdef cl_khr_fp64
10692 int __ovld __cnfn isgreaterequal(double x, double y);
10693 long2 __ovld __cnfn isgreaterequal(double2 x, double2 y);
10694 long3 __ovld __cnfn isgreaterequal(double3 x, double3 y);
10695 long4 __ovld __cnfn isgreaterequal(double4 x, double4 y);
10696 long8 __ovld __cnfn isgreaterequal(double8 x, double8 y);
10697 long16 __ovld __cnfn isgreaterequal(double16 x, double16 y);
10698 #endif //cl_khr_fp64
10699 #ifdef cl_khr_fp16
10700 int __ovld __cnfn isgreaterequal(half x, half y);
10701 short2 __ovld __cnfn isgreaterequal(half2 x, half2 y);
10702 short3 __ovld __cnfn isgreaterequal(half3 x, half3 y);
10703 short4 __ovld __cnfn isgreaterequal(half4 x, half4 y);
10704 short8 __ovld __cnfn isgreaterequal(half8 x, half8 y);
10705 short16 __ovld __cnfn isgreaterequal(half16 x, half16 y);
10706 #endif //cl_khr_fp16
10707 
10711 int __ovld __cnfn isless(float x, float y);
10712 int2 __ovld __cnfn isless(float2 x, float2 y);
10713 int3 __ovld __cnfn isless(float3 x, float3 y);
10714 int4 __ovld __cnfn isless(float4 x, float4 y);
10715 int8 __ovld __cnfn isless(float8 x, float8 y);
10716 int16 __ovld __cnfn isless(float16 x, float16 y);
10717 #ifdef cl_khr_fp64
10718 int __ovld __cnfn isless(double x, double y);
10719 long2 __ovld __cnfn isless(double2 x, double2 y);
10720 long3 __ovld __cnfn isless(double3 x, double3 y);
10721 long4 __ovld __cnfn isless(double4 x, double4 y);
10722 long8 __ovld __cnfn isless(double8 x, double8 y);
10723 long16 __ovld __cnfn isless(double16 x, double16 y);
10724 #endif //cl_khr_fp64
10725 #ifdef cl_khr_fp16
10726 int __ovld __cnfn isless(half x, half y);
10727 short2 __ovld __cnfn isless(half2 x, half2 y);
10728 short3 __ovld __cnfn isless(half3 x, half3 y);
10729 short4 __ovld __cnfn isless(half4 x, half4 y);
10730 short8 __ovld __cnfn isless(half8 x, half8 y);
10731 short16 __ovld __cnfn isless(half16 x, half16 y);
10732 #endif //cl_khr_fp16
10733 
10737 int __ovld __cnfn islessequal(float x, float y);
10738 int2 __ovld __cnfn islessequal(float2 x, float2 y);
10739 int3 __ovld __cnfn islessequal(float3 x, float3 y);
10740 int4 __ovld __cnfn islessequal(float4 x, float4 y);
10741 int8 __ovld __cnfn islessequal(float8 x, float8 y);
10742 int16 __ovld __cnfn islessequal(float16 x, float16 y);
10743 #ifdef cl_khr_fp64
10744 int __ovld __cnfn islessequal(double x, double y);
10745 long2 __ovld __cnfn islessequal(double2 x, double2 y);
10746 long3 __ovld __cnfn islessequal(double3 x, double3 y);
10747 long4 __ovld __cnfn islessequal(double4 x, double4 y);
10748 long8 __ovld __cnfn islessequal(double8 x, double8 y);
10749 long16 __ovld __cnfn islessequal(double16 x, double16 y);
10750 #endif //cl_khr_fp64
10751 #ifdef cl_khr_fp16
10752 int __ovld __cnfn islessequal(half x, half y);
10753 short2 __ovld __cnfn islessequal(half2 x, half2 y);
10754 short3 __ovld __cnfn islessequal(half3 x, half3 y);
10755 short4 __ovld __cnfn islessequal(half4 x, half4 y);
10756 short8 __ovld __cnfn islessequal(half8 x, half8 y);
10757 short16 __ovld __cnfn islessequal(half16 x, half16 y);
10758 #endif //cl_khr_fp16
10759 
10764 int __ovld __cnfn islessgreater(float x, float y);
10765 int2 __ovld __cnfn islessgreater(float2 x, float2 y);
10766 int3 __ovld __cnfn islessgreater(float3 x, float3 y);
10767 int4 __ovld __cnfn islessgreater(float4 x, float4 y);
10768 int8 __ovld __cnfn islessgreater(float8 x, float8 y);
10769 int16 __ovld __cnfn islessgreater(float16 x, float16 y);
10770 #ifdef cl_khr_fp64
10771 int __ovld __cnfn islessgreater(double x, double y);
10772 long2 __ovld __cnfn islessgreater(double2 x, double2 y);
10773 long3 __ovld __cnfn islessgreater(double3 x, double3 y);
10774 long4 __ovld __cnfn islessgreater(double4 x, double4 y);
10775 long8 __ovld __cnfn islessgreater(double8 x, double8 y);
10776 long16 __ovld __cnfn islessgreater(double16 x, double16 y);
10777 #endif //cl_khr_fp64
10778 #ifdef cl_khr_fp16
10779 int __ovld __cnfn islessgreater(half x, half y);
10780 short2 __ovld __cnfn islessgreater(half2 x, half2 y);
10781 short3 __ovld __cnfn islessgreater(half3 x, half3 y);
10782 short4 __ovld __cnfn islessgreater(half4 x, half4 y);
10783 short8 __ovld __cnfn islessgreater(half8 x, half8 y);
10784 short16 __ovld __cnfn islessgreater(half16 x, half16 y);
10785 #endif //cl_khr_fp16
10786 
10790 int __ovld __cnfn isfinite(float);
10791 int2 __ovld __cnfn isfinite(float2);
10792 int3 __ovld __cnfn isfinite(float3);
10793 int4 __ovld __cnfn isfinite(float4);
10796 #ifdef cl_khr_fp64
10797 int __ovld __cnfn isfinite(double);
10798 long2 __ovld __cnfn isfinite(double2);
10799 long3 __ovld __cnfn isfinite(double3);
10800 long4 __ovld __cnfn isfinite(double4);
10801 long8 __ovld __cnfn isfinite(double8);
10802 long16 __ovld __cnfn isfinite(double16);
10803 #endif //cl_khr_fp64
10804 #ifdef cl_khr_fp16
10805 int __ovld __cnfn isfinite(half);
10806 short2 __ovld __cnfn isfinite(half2);
10807 short3 __ovld __cnfn isfinite(half3);
10808 short4 __ovld __cnfn isfinite(half4);
10809 short8 __ovld __cnfn isfinite(half8);
10810 short16 __ovld __cnfn isfinite(half16);
10811 #endif //cl_khr_fp16
10812 
10816 int __ovld __cnfn isinf(float);
10817 int2 __ovld __cnfn isinf(float2);
10818 int3 __ovld __cnfn isinf(float3);
10819 int4 __ovld __cnfn isinf(float4);
10822 #ifdef cl_khr_fp64
10823 int __ovld __cnfn isinf(double);
10824 long2 __ovld __cnfn isinf(double2);
10825 long3 __ovld __cnfn isinf(double3);
10826 long4 __ovld __cnfn isinf(double4);
10827 long8 __ovld __cnfn isinf(double8);
10828 long16 __ovld __cnfn isinf(double16);
10829 #endif //cl_khr_fp64
10830 #ifdef cl_khr_fp16
10831 int __ovld __cnfn isinf(half);
10832 short2 __ovld __cnfn isinf(half2);
10833 short3 __ovld __cnfn isinf(half3);
10834 short4 __ovld __cnfn isinf(half4);
10835 short8 __ovld __cnfn isinf(half8);
10836 short16 __ovld __cnfn isinf(half16);
10837 #endif //cl_khr_fp16
10838 
10842 int __ovld __cnfn isnan(float);
10843 int2 __ovld __cnfn isnan(float2);
10844 int3 __ovld __cnfn isnan(float3);
10845 int4 __ovld __cnfn isnan(float4);
10848 #ifdef cl_khr_fp64
10849 int __ovld __cnfn isnan(double);
10850 long2 __ovld __cnfn isnan(double2);
10851 long3 __ovld __cnfn isnan(double3);
10852 long4 __ovld __cnfn isnan(double4);
10853 long8 __ovld __cnfn isnan(double8);
10854 long16 __ovld __cnfn isnan(double16);
10855 #endif //cl_khr_fp64
10856 #ifdef cl_khr_fp16
10857 int __ovld __cnfn isnan(half);
10858 short2 __ovld __cnfn isnan(half2);
10859 short3 __ovld __cnfn isnan(half3);
10860 short4 __ovld __cnfn isnan(half4);
10861 short8 __ovld __cnfn isnan(half8);
10862 short16 __ovld __cnfn isnan(half16);
10863 #endif //cl_khr_fp16
10864 
10868 int __ovld __cnfn isnormal(float);
10869 int2 __ovld __cnfn isnormal(float2);
10870 int3 __ovld __cnfn isnormal(float3);
10871 int4 __ovld __cnfn isnormal(float4);
10874 #ifdef cl_khr_fp64
10875 int __ovld __cnfn isnormal(double);
10876 long2 __ovld __cnfn isnormal(double2);
10877 long3 __ovld __cnfn isnormal(double3);
10878 long4 __ovld __cnfn isnormal(double4);
10879 long8 __ovld __cnfn isnormal(double8);
10880 long16 __ovld __cnfn isnormal(double16);
10881 #endif //cl_khr_fp64
10882 #ifdef cl_khr_fp16
10883 int __ovld __cnfn isnormal(half);
10884 short2 __ovld __cnfn isnormal(half2);
10885 short3 __ovld __cnfn isnormal(half3);
10886 short4 __ovld __cnfn isnormal(half4);
10887 short8 __ovld __cnfn isnormal(half8);
10888 short16 __ovld __cnfn isnormal(half16);
10889 #endif //cl_khr_fp16
10890 
10896 int __ovld __cnfn isordered(float x, float y);
10897 int2 __ovld __cnfn isordered(float2 x, float2 y);
10898 int3 __ovld __cnfn isordered(float3 x, float3 y);
10899 int4 __ovld __cnfn isordered(float4 x, float4 y);
10900 int8 __ovld __cnfn isordered(float8 x, float8 y);
10901 int16 __ovld __cnfn isordered(float16 x, float16 y);
10902 #ifdef cl_khr_fp64
10903 int __ovld __cnfn isordered(double x, double y);
10904 long2 __ovld __cnfn isordered(double2 x, double2 y);
10905 long3 __ovld __cnfn isordered(double3 x, double3 y);
10906 long4 __ovld __cnfn isordered(double4 x, double4 y);
10907 long8 __ovld __cnfn isordered(double8 x, double8 y);
10908 long16 __ovld __cnfn isordered(double16 x, double16 y);
10909 #endif //cl_khr_fp64
10910 #ifdef cl_khr_fp16
10911 int __ovld __cnfn isordered(half x, half y);
10912 short2 __ovld __cnfn isordered(half2 x, half2 y);
10913 short3 __ovld __cnfn isordered(half3 x, half3 y);
10914 short4 __ovld __cnfn isordered(half4 x, half4 y);
10915 short8 __ovld __cnfn isordered(half8 x, half8 y);
10916 short16 __ovld __cnfn isordered(half16 x, half16 y);
10917 #endif //cl_khr_fp16
10918 
10924 int __ovld __cnfn isunordered(float x, float y);
10925 int2 __ovld __cnfn isunordered(float2 x, float2 y);
10926 int3 __ovld __cnfn isunordered(float3 x, float3 y);
10927 int4 __ovld __cnfn isunordered(float4 x, float4 y);
10928 int8 __ovld __cnfn isunordered(float8 x, float8 y);
10929 int16 __ovld __cnfn isunordered(float16 x, float16 y);
10930 #ifdef cl_khr_fp64
10931 int __ovld __cnfn isunordered(double x, double y);
10932 long2 __ovld __cnfn isunordered(double2 x, double2 y);
10933 long3 __ovld __cnfn isunordered(double3 x, double3 y);
10934 long4 __ovld __cnfn isunordered(double4 x, double4 y);
10935 long8 __ovld __cnfn isunordered(double8 x, double8 y);
10936 long16 __ovld __cnfn isunordered(double16 x, double16 y);
10937 #endif //cl_khr_fp64
10938 #ifdef cl_khr_fp16
10939 int __ovld __cnfn isunordered(half x, half y);
10940 short2 __ovld __cnfn isunordered(half2 x, half2 y);
10941 short3 __ovld __cnfn isunordered(half3 x, half3 y);
10942 short4 __ovld __cnfn isunordered(half4 x, half4 y);
10943 short8 __ovld __cnfn isunordered(half8 x, half8 y);
10944 short16 __ovld __cnfn isunordered(half16 x, half16 y);
10945 #endif //cl_khr_fp16
10946 
10954 int __ovld __cnfn signbit(float);
10955 int2 __ovld __cnfn signbit(float2);
10956 int3 __ovld __cnfn signbit(float3);
10957 int4 __ovld __cnfn signbit(float4);
10960 #ifdef cl_khr_fp64
10961 int __ovld __cnfn signbit(double);
10962 long2 __ovld __cnfn signbit(double2);
10963 long3 __ovld __cnfn signbit(double3);
10964 long4 __ovld __cnfn signbit(double4);
10965 long8 __ovld __cnfn signbit(double8);
10966 long16 __ovld __cnfn signbit(double16);
10967 #endif //cl_khr_fp64
10968 #ifdef cl_khr_fp16
10969 int __ovld __cnfn signbit(half);
10970 short2 __ovld __cnfn signbit(half2);
10971 short3 __ovld __cnfn signbit(half3);
10972 short4 __ovld __cnfn signbit(half4);
10973 short8 __ovld __cnfn signbit(half8);
10974 short16 __ovld __cnfn signbit(half16);
10975 #endif //cl_khr_fp16
10976 
10981 int __ovld __cnfn any(char x);
10982 int __ovld __cnfn any(char2 x);
10983 int __ovld __cnfn any(char3 x);
10984 int __ovld __cnfn any(char4 x);
10985 int __ovld __cnfn any(char8 x);
10986 int __ovld __cnfn any(char16 x);
10987 int __ovld __cnfn any(short x);
10988 int __ovld __cnfn any(short2 x);
10989 int __ovld __cnfn any(short3 x);
10990 int __ovld __cnfn any(short4 x);
10991 int __ovld __cnfn any(short8 x);
10992 int __ovld __cnfn any(short16 x);
10993 int __ovld __cnfn any(int x);
10994 int __ovld __cnfn any(int2 x);
10995 int __ovld __cnfn any(int3 x);
10996 int __ovld __cnfn any(int4 x);
10999 int __ovld __cnfn any(long x);
11000 int __ovld __cnfn any(long2 x);
11001 int __ovld __cnfn any(long3 x);
11002 int __ovld __cnfn any(long4 x);
11003 int __ovld __cnfn any(long8 x);
11004 int __ovld __cnfn any(long16 x);
11005 
11010 int __ovld __cnfn all(char x);
11011 int __ovld __cnfn all(char2 x);
11012 int __ovld __cnfn all(char3 x);
11013 int __ovld __cnfn all(char4 x);
11014 int __ovld __cnfn all(char8 x);
11015 int __ovld __cnfn all(char16 x);
11016 int __ovld __cnfn all(short x);
11017 int __ovld __cnfn all(short2 x);
11018 int __ovld __cnfn all(short3 x);
11019 int __ovld __cnfn all(short4 x);
11020 int __ovld __cnfn all(short8 x);
11021 int __ovld __cnfn all(short16 x);
11022 int __ovld __cnfn all(int x);
11023 int __ovld __cnfn all(int2 x);
11024 int __ovld __cnfn all(int3 x);
11025 int __ovld __cnfn all(int4 x);
11028 int __ovld __cnfn all(long x);
11029 int __ovld __cnfn all(long2 x);
11030 int __ovld __cnfn all(long3 x);
11031 int __ovld __cnfn all(long4 x);
11032 int __ovld __cnfn all(long8 x);
11033 int __ovld __cnfn all(long16 x);
11034 
11040 char __ovld __cnfn bitselect(char a, char b, char c);
11042 char2 __ovld __cnfn bitselect(char2 a, char2 b, char2 c);
11043 uchar2 __ovld __cnfn bitselect(uchar2 a, uchar2 b, uchar2 c);
11044 char3 __ovld __cnfn bitselect(char3 a, char3 b, char3 c);
11045 uchar3 __ovld __cnfn bitselect(uchar3 a, uchar3 b, uchar3 c);
11046 char4 __ovld __cnfn bitselect(char4 a, char4 b, char4 c);
11047 uchar4 __ovld __cnfn bitselect(uchar4 a, uchar4 b, uchar4 c);
11048 char8 __ovld __cnfn bitselect(char8 a, char8 b, char8 c);
11049 uchar8 __ovld __cnfn bitselect(uchar8 a, uchar8 b, uchar8 c);
11050 char16 __ovld __cnfn bitselect(char16 a, char16 b, char16 c);
11051 uchar16 __ovld __cnfn bitselect(uchar16 a, uchar16 b, uchar16 c);
11052 short __ovld __cnfn bitselect(short a, short b, short c);
11054 short2 __ovld __cnfn bitselect(short2 a, short2 b, short2 c);
11055 ushort2 __ovld __cnfn bitselect(ushort2 a, ushort2 b, ushort2 c);
11056 short3 __ovld __cnfn bitselect(short3 a, short3 b, short3 c);
11057 ushort3 __ovld __cnfn bitselect(ushort3 a, ushort3 b, ushort3 c);
11058 short4 __ovld __cnfn bitselect(short4 a, short4 b, short4 c);
11059 ushort4 __ovld __cnfn bitselect(ushort4 a, ushort4 b, ushort4 c);
11060 short8 __ovld __cnfn bitselect(short8 a, short8 b, short8 c);
11061 ushort8 __ovld __cnfn bitselect(ushort8 a, ushort8 b, ushort8 c);
11062 short16 __ovld __cnfn bitselect(short16 a, short16 b, short16 c);
11063 ushort16 __ovld __cnfn bitselect(ushort16 a, ushort16 b, ushort16 c);
11064 int __ovld __cnfn bitselect(int a, int b, int c);
11066 int2 __ovld __cnfn bitselect(int2 a, int2 b, int2 c);
11067 uint2 __ovld __cnfn bitselect(uint2 a, uint2 b, uint2 c);
11068 int3 __ovld __cnfn bitselect(int3 a, int3 b, int3 c);
11069 uint3 __ovld __cnfn bitselect(uint3 a, uint3 b, uint3 c);
11070 int4 __ovld __cnfn bitselect(int4 a, int4 b, int4 c);
11071 uint4 __ovld __cnfn bitselect(uint4 a, uint4 b, uint4 c);
11076 long __ovld __cnfn bitselect(long a, long b, long c);
11078 long2 __ovld __cnfn bitselect(long2 a, long2 b, long2 c);
11079 ulong2 __ovld __cnfn bitselect(ulong2 a, ulong2 b, ulong2 c);
11080 long3 __ovld __cnfn bitselect(long3 a, long3 b, long3 c);
11081 ulong3 __ovld __cnfn bitselect(ulong3 a, ulong3 b, ulong3 c);
11082 long4 __ovld __cnfn bitselect(long4 a, long4 b, long4 c);
11083 ulong4 __ovld __cnfn bitselect(ulong4 a, ulong4 b, ulong4 c);
11084 long8 __ovld __cnfn bitselect(long8 a, long8 b, long8 c);
11085 ulong8 __ovld __cnfn bitselect(ulong8 a, ulong8 b, ulong8 c);
11086 long16 __ovld __cnfn bitselect(long16 a, long16 b, long16 c);
11087 ulong16 __ovld __cnfn bitselect(ulong16 a, ulong16 b, ulong16 c);
11088 float __ovld __cnfn bitselect(float a, float b, float c);
11089 float2 __ovld __cnfn bitselect(float2 a, float2 b, float2 c);
11090 float3 __ovld __cnfn bitselect(float3 a, float3 b, float3 c);
11091 float4 __ovld __cnfn bitselect(float4 a, float4 b, float4 c);
11092 float8 __ovld __cnfn bitselect(float8 a, float8 b, float8 c);
11093 float16 __ovld __cnfn bitselect(float16 a, float16 b, float16 c);
11094 #ifdef cl_khr_fp64
11095 double __ovld __cnfn bitselect(double a, double b, double c);
11096 double2 __ovld __cnfn bitselect(double2 a, double2 b, double2 c);
11097 double3 __ovld __cnfn bitselect(double3 a, double3 b, double3 c);
11098 double4 __ovld __cnfn bitselect(double4 a, double4 b, double4 c);
11099 double8 __ovld __cnfn bitselect(double8 a, double8 b, double8 c);
11100 double16 __ovld __cnfn bitselect(double16 a, double16 b, double16 c);
11101 #endif //cl_khr_fp64
11102 #ifdef cl_khr_fp16
11103 half __ovld __cnfn bitselect(half a, half b, half c);
11104 half2 __ovld __cnfn bitselect(half2 a, half2 b, half2 c);
11105 half3 __ovld __cnfn bitselect(half3 a, half3 b, half3 c);
11106 half4 __ovld __cnfn bitselect(half4 a, half4 b, half4 c);
11107 half8 __ovld __cnfn bitselect(half8 a, half8 b, half8 c);
11108 half16 __ovld __cnfn bitselect(half16 a, half16 b, half16 c);
11109 #endif //cl_khr_fp16
11110 
11118 char __ovld __cnfn select(char a, char b, char c);
11120 char2 __ovld __cnfn select(char2 a, char2 b, char2 c);
11121 uchar2 __ovld __cnfn select(uchar2 a, uchar2 b, char2 c);
11122 char3 __ovld __cnfn select(char3 a, char3 b, char3 c);
11123 uchar3 __ovld __cnfn select(uchar3 a, uchar3 b, char3 c);
11124 char4 __ovld __cnfn select(char4 a, char4 b, char4 c);
11125 uchar4 __ovld __cnfn select(uchar4 a, uchar4 b, char4 c);
11126 char8 __ovld __cnfn select(char8 a, char8 b, char8 c);
11127 uchar8 __ovld __cnfn select(uchar8 a, uchar8 b, char8 c);
11128 char16 __ovld __cnfn select(char16 a, char16 b, char16 c);
11129 uchar16 __ovld __cnfn select(uchar16 a, uchar16 b, char16 c);
11130 
11131 short __ovld __cnfn select(short a, short b, short c);
11133 short2 __ovld __cnfn select(short2 a, short2 b, short2 c);
11134 ushort2 __ovld __cnfn select(ushort2 a, ushort2 b, short2 c);
11135 short3 __ovld __cnfn select(short3 a, short3 b, short3 c);
11136 ushort3 __ovld __cnfn select(ushort3 a, ushort3 b, short3 c);
11137 short4 __ovld __cnfn select(short4 a, short4 b, short4 c);
11138 ushort4 __ovld __cnfn select(ushort4 a, ushort4 b, short4 c);
11139 short8 __ovld __cnfn select(short8 a, short8 b, short8 c);
11140 ushort8 __ovld __cnfn select(ushort8 a, ushort8 b, short8 c);
11141 short16 __ovld __cnfn select(short16 a, short16 b, short16 c);
11142 ushort16 __ovld __cnfn select(ushort16 a, ushort16 b, short16 c);
11143 
11144 int __ovld __cnfn select(int a, int b, int c);
11146 int2 __ovld __cnfn select(int2 a, int2 b, int2 c);
11147 uint2 __ovld __cnfn select(uint2 a, uint2 b, int2 c);
11148 int3 __ovld __cnfn select(int3 a, int3 b, int3 c);
11149 uint3 __ovld __cnfn select(uint3 a, uint3 b, int3 c);
11150 int4 __ovld __cnfn select(int4 a, int4 b, int4 c);
11151 uint4 __ovld __cnfn select(uint4 a, uint4 b, int4 c);
11156 float __ovld __cnfn select(float a, float b, int c);
11157 float2 __ovld __cnfn select(float2 a, float2 b, int2 c);
11158 float3 __ovld __cnfn select(float3 a, float3 b, int3 c);
11159 float4 __ovld __cnfn select(float4 a, float4 b, int4 c);
11160 float8 __ovld __cnfn select(float8 a, float8 b, int8 c);
11161 float16 __ovld __cnfn select(float16 a, float16 b, int16 c);
11162 
11163 long __ovld __cnfn select(long a, long b, long c);
11165 long2 __ovld __cnfn select(long2 a, long2 b, long2 c);
11166 ulong2 __ovld __cnfn select(ulong2 a, ulong2 b, long2 c);
11167 long3 __ovld __cnfn select(long3 a, long3 b, long3 c);
11168 ulong3 __ovld __cnfn select(ulong3 a, ulong3 b, long3 c);
11169 long4 __ovld __cnfn select(long4 a, long4 b, long4 c);
11170 ulong4 __ovld __cnfn select(ulong4 a, ulong4 b, long4 c);
11171 long8 __ovld __cnfn select(long8 a, long8 b, long8 c);
11172 ulong8 __ovld __cnfn select(ulong8 a, ulong8 b, long8 c);
11173 long16 __ovld __cnfn select(long16 a, long16 b, long16 c);
11174 ulong16 __ovld __cnfn select(ulong16 a, ulong16 b, long16 c);
11175 
11176 char __ovld __cnfn select(char a, char b, uchar c);
11178 char2 __ovld __cnfn select(char2 a, char2 b, uchar2 c);
11179 uchar2 __ovld __cnfn select(uchar2 a, uchar2 b, uchar2 c);
11180 char3 __ovld __cnfn select(char3 a, char3 b, uchar3 c);
11181 uchar3 __ovld __cnfn select(uchar3 a, uchar3 b, uchar3 c);
11182 char4 __ovld __cnfn select(char4 a, char4 b, uchar4 c);
11183 uchar4 __ovld __cnfn select(uchar4 a, uchar4 b, uchar4 c);
11184 char8 __ovld __cnfn select(char8 a, char8 b, uchar8 c);
11185 uchar8 __ovld __cnfn select(uchar8 a, uchar8 b, uchar8 c);
11186 char16 __ovld __cnfn select(char16 a, char16 b, uchar16 c);
11187 uchar16 __ovld __cnfn select(uchar16 a, uchar16 b, uchar16 c);
11188 
11189 short __ovld __cnfn select(short a, short b, ushort c);
11191 short2 __ovld __cnfn select(short2 a, short2 b, ushort2 c);
11192 ushort2 __ovld __cnfn select(ushort2 a, ushort2 b, ushort2 c);
11193 short3 __ovld __cnfn select(short3 a, short3 b, ushort3 c);
11194 ushort3 __ovld __cnfn select(ushort3 a, ushort3 b, ushort3 c);
11195 short4 __ovld __cnfn select(short4 a, short4 b, ushort4 c);
11196 ushort4 __ovld __cnfn select(ushort4 a, ushort4 b, ushort4 c);
11197 short8 __ovld __cnfn select(short8 a, short8 b, ushort8 c);
11198 ushort8 __ovld __cnfn select(ushort8 a, ushort8 b, ushort8 c);
11199 short16 __ovld __cnfn select(short16 a, short16 b, ushort16 c);
11200 ushort16 __ovld __cnfn select(ushort16 a, ushort16 b, ushort16 c);
11201 
11202 int __ovld __cnfn select(int a, int b, uint c);
11204 int2 __ovld __cnfn select(int2 a, int2 b, uint2 c);
11205 uint2 __ovld __cnfn select(uint2 a, uint2 b, uint2 c);
11206 int3 __ovld __cnfn select(int3 a, int3 b, uint3 c);
11207 uint3 __ovld __cnfn select(uint3 a, uint3 b, uint3 c);
11208 int4 __ovld __cnfn select(int4 a, int4 b, uint4 c);
11209 uint4 __ovld __cnfn select(uint4 a, uint4 b, uint4 c);
11214 float __ovld __cnfn select(float a, float b, uint c);
11215 float2 __ovld __cnfn select(float2 a, float2 b, uint2 c);
11216 float3 __ovld __cnfn select(float3 a, float3 b, uint3 c);
11217 float4 __ovld __cnfn select(float4 a, float4 b, uint4 c);
11218 float8 __ovld __cnfn select(float8 a, float8 b, uint8 c);
11219 float16 __ovld __cnfn select(float16 a, float16 b, uint16 c);
11220 
11221 long __ovld __cnfn select(long a, long b, ulong c);
11223 long2 __ovld __cnfn select(long2 a, long2 b, ulong2 c);
11224 ulong2 __ovld __cnfn select(ulong2 a, ulong2 b, ulong2 c);
11225 long3 __ovld __cnfn select(long3 a, long3 b, ulong3 c);
11226 ulong3 __ovld __cnfn select(ulong3 a, ulong3 b, ulong3 c);
11227 long4 __ovld __cnfn select(long4 a, long4 b, ulong4 c);
11228 ulong4 __ovld __cnfn select(ulong4 a, ulong4 b, ulong4 c);
11229 long8 __ovld __cnfn select(long8 a, long8 b, ulong8 c);
11230 ulong8 __ovld __cnfn select(ulong8 a, ulong8 b, ulong8 c);
11231 long16 __ovld __cnfn select(long16 a, long16 b, ulong16 c);
11232 ulong16 __ovld __cnfn select(ulong16 a, ulong16 b, ulong16 c);
11233 
11234 #ifdef cl_khr_fp64
11235 double __ovld __cnfn select(double a, double b, long c);
11236 double2 __ovld __cnfn select(double2 a, double2 b, long2 c);
11237 double3 __ovld __cnfn select(double3 a, double3 b, long3 c);
11238 double4 __ovld __cnfn select(double4 a, double4 b, long4 c);
11239 double8 __ovld __cnfn select(double8 a, double8 b, long8 c);
11240 double16 __ovld __cnfn select(double16 a, double16 b, long16 c);
11241 double __ovld __cnfn select(double a, double b, ulong c);
11242 double2 __ovld __cnfn select(double2 a, double2 b, ulong2 c);
11243 double3 __ovld __cnfn select(double3 a, double3 b, ulong3 c);
11244 double4 __ovld __cnfn select(double4 a, double4 b, ulong4 c);
11245 double8 __ovld __cnfn select(double8 a, double8 b, ulong8 c);
11246 double16 __ovld __cnfn select(double16 a, double16 b, ulong16 c);
11247 #endif //cl_khr_fp64
11248 #ifdef cl_khr_fp16
11249 half __ovld __cnfn select(half a, half b, short c);
11250 half2 __ovld __cnfn select(half2 a, half2 b, short2 c);
11251 half3 __ovld __cnfn select(half3 a, half3 b, short3 c);
11252 half4 __ovld __cnfn select(half4 a, half4 b, short4 c);
11253 half8 __ovld __cnfn select(half8 a, half8 b, short8 c);
11254 half16 __ovld __cnfn select(half16 a, half16 b, short16 c);
11255 half __ovld __cnfn select(half a, half b, ushort c);
11256 half2 __ovld __cnfn select(half2 a, half2 b, ushort2 c);
11257 half3 __ovld __cnfn select(half3 a, half3 b, ushort3 c);
11258 half4 __ovld __cnfn select(half4 a, half4 b, ushort4 c);
11259 half8 __ovld __cnfn select(half8 a, half8 b, ushort8 c);
11260 half16 __ovld __cnfn select(half16 a, half16 b, ushort16 c);
11261 #endif //cl_khr_fp16
11262 
11263 // OpenCL v1.1 s6.11.7, v1.2 s6.12.7, v2.0 s6.13.7 - Vector Data Load and Store Functions
11264 // OpenCL extensions v1.1 s9.6.6, v1.2 s9.5.6, v2.0 s9.4.6 - Vector Data Load and Store Functions for Half Type
11281 char2 __ovld vload2(size_t offset, const __constant char *p);
11282 uchar2 __ovld vload2(size_t offset, const __constant uchar *p);
11283 short2 __ovld vload2(size_t offset, const __constant short *p);
11284 ushort2 __ovld vload2(size_t offset, const __constant ushort *p);
11285 int2 __ovld vload2(size_t offset, const __constant int *p);
11286 uint2 __ovld vload2(size_t offset, const __constant uint *p);
11287 long2 __ovld vload2(size_t offset, const __constant long *p);
11288 ulong2 __ovld vload2(size_t offset, const __constant ulong *p);
11289 float2 __ovld vload2(size_t offset, const __constant float *p);
11290 char3 __ovld vload3(size_t offset, const __constant char *p);
11291 uchar3 __ovld vload3(size_t offset, const __constant uchar *p);
11292 short3 __ovld vload3(size_t offset, const __constant short *p);
11293 ushort3 __ovld vload3(size_t offset, const __constant ushort *p);
11294 int3 __ovld vload3(size_t offset, const __constant int *p);
11295 uint3 __ovld vload3(size_t offset, const __constant uint *p);
11296 long3 __ovld vload3(size_t offset, const __constant long *p);
11297 ulong3 __ovld vload3(size_t offset, const __constant ulong *p);
11298 float3 __ovld vload3(size_t offset, const __constant float *p);
11299 char4 __ovld vload4(size_t offset, const __constant char *p);
11300 uchar4 __ovld vload4(size_t offset, const __constant uchar *p);
11301 short4 __ovld vload4(size_t offset, const __constant short *p);
11302 ushort4 __ovld vload4(size_t offset, const __constant ushort *p);
11303 int4 __ovld vload4(size_t offset, const __constant int *p);
11304 uint4 __ovld vload4(size_t offset, const __constant uint *p);
11305 long4 __ovld vload4(size_t offset, const __constant long *p);
11306 ulong4 __ovld vload4(size_t offset, const __constant ulong *p);
11307 float4 __ovld vload4(size_t offset, const __constant float *p);
11308 char8 __ovld vload8(size_t offset, const __constant char *p);
11309 uchar8 __ovld vload8(size_t offset, const __constant uchar *p);
11310 short8 __ovld vload8(size_t offset, const __constant short *p);
11311 ushort8 __ovld vload8(size_t offset, const __constant ushort *p);
11312 int8 __ovld vload8(size_t offset, const __constant int *p);
11313 uint8 __ovld vload8(size_t offset, const __constant uint *p);
11314 long8 __ovld vload8(size_t offset, const __constant long *p);
11315 ulong8 __ovld vload8(size_t offset, const __constant ulong *p);
11316 float8 __ovld vload8(size_t offset, const __constant float *p);
11317 char16 __ovld vload16(size_t offset, const __constant char *p);
11318 uchar16 __ovld vload16(size_t offset, const __constant uchar *p);
11319 short16 __ovld vload16(size_t offset, const __constant short *p);
11320 ushort16 __ovld vload16(size_t offset, const __constant ushort *p);
11321 int16 __ovld vload16(size_t offset, const __constant int *p);
11322 uint16 __ovld vload16(size_t offset, const __constant uint *p);
11323 long16 __ovld vload16(size_t offset, const __constant long *p);
11324 ulong16 __ovld vload16(size_t offset, const __constant ulong *p);
11325 float16 __ovld vload16(size_t offset, const __constant float *p);
11326 #ifdef cl_khr_fp64
11327 double2 __ovld vload2(size_t offset, const __constant double *p);
11328 double3 __ovld vload3(size_t offset, const __constant double *p);
11329 double4 __ovld vload4(size_t offset, const __constant double *p);
11330 double8 __ovld vload8(size_t offset, const __constant double *p);
11331 double16 __ovld vload16(size_t offset, const __constant double *p);
11332 #endif //cl_khr_fp64
11333 
11334 #ifdef cl_khr_fp16
11335 half __ovld vload(size_t offset, const __constant half *p);
11336 half2 __ovld vload2(size_t offset, const __constant half *p);
11337 half3 __ovld vload3(size_t offset, const __constant half *p);
11338 half4 __ovld vload4(size_t offset, const __constant half *p);
11339 half8 __ovld vload8(size_t offset, const __constant half *p);
11340 half16 __ovld vload16(size_t offset, const __constant half *p);
11341 #endif //cl_khr_fp16
11342 
11343 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
11344 char2 __ovld vload2(size_t offset, const char *p);
11345 uchar2 __ovld vload2(size_t offset, const uchar *p);
11346 short2 __ovld vload2(size_t offset, const short *p);
11347 ushort2 __ovld vload2(size_t offset, const ushort *p);
11348 int2 __ovld vload2(size_t offset, const int *p);
11349 uint2 __ovld vload2(size_t offset, const uint *p);
11350 long2 __ovld vload2(size_t offset, const long *p);
11351 ulong2 __ovld vload2(size_t offset, const ulong *p);
11352 float2 __ovld vload2(size_t offset, const float *p);
11353 char3 __ovld vload3(size_t offset, const char *p);
11354 uchar3 __ovld vload3(size_t offset, const uchar *p);
11355 short3 __ovld vload3(size_t offset, const short *p);
11356 ushort3 __ovld vload3(size_t offset, const ushort *p);
11357 int3 __ovld vload3(size_t offset, const int *p);
11358 uint3 __ovld vload3(size_t offset, const uint *p);
11359 long3 __ovld vload3(size_t offset, const long *p);
11360 ulong3 __ovld vload3(size_t offset, const ulong *p);
11361 float3 __ovld vload3(size_t offset, const float *p);
11362 char4 __ovld vload4(size_t offset, const char *p);
11363 uchar4 __ovld vload4(size_t offset, const uchar *p);
11364 short4 __ovld vload4(size_t offset, const short *p);
11365 ushort4 __ovld vload4(size_t offset, const ushort *p);
11366 int4 __ovld vload4(size_t offset, const int *p);
11367 uint4 __ovld vload4(size_t offset, const uint *p);
11368 long4 __ovld vload4(size_t offset, const long *p);
11369 ulong4 __ovld vload4(size_t offset, const ulong *p);
11370 float4 __ovld vload4(size_t offset, const float *p);
11371 char8 __ovld vload8(size_t offset, const char *p);
11372 uchar8 __ovld vload8(size_t offset, const uchar *p);
11373 short8 __ovld vload8(size_t offset, const short *p);
11374 ushort8 __ovld vload8(size_t offset, const ushort *p);
11375 int8 __ovld vload8(size_t offset, const int *p);
11376 uint8 __ovld vload8(size_t offset, const uint *p);
11377 long8 __ovld vload8(size_t offset, const long *p);
11378 ulong8 __ovld vload8(size_t offset, const ulong *p);
11379 float8 __ovld vload8(size_t offset, const float *p);
11380 char16 __ovld vload16(size_t offset, const char *p);
11381 uchar16 __ovld vload16(size_t offset, const uchar *p);
11382 short16 __ovld vload16(size_t offset, const short *p);
11383 ushort16 __ovld vload16(size_t offset, const ushort *p);
11384 int16 __ovld vload16(size_t offset, const int *p);
11385 uint16 __ovld vload16(size_t offset, const uint *p);
11386 long16 __ovld vload16(size_t offset, const long *p);
11387 ulong16 __ovld vload16(size_t offset, const ulong *p);
11388 float16 __ovld vload16(size_t offset, const float *p);
11389 
11390 #ifdef cl_khr_fp64
11391 double2 __ovld vload2(size_t offset, const double *p);
11392 double3 __ovld vload3(size_t offset, const double *p);
11393 double4 __ovld vload4(size_t offset, const double *p);
11394 double8 __ovld vload8(size_t offset, const double *p);
11395 double16 __ovld vload16(size_t offset, const double *p);
11396 #endif //cl_khr_fp64
11397 
11398 #ifdef cl_khr_fp16
11399 half __ovld vload(size_t offset, const half *p);
11400 half2 __ovld vload2(size_t offset, const half *p);
11401 half3 __ovld vload3(size_t offset, const half *p);
11402 half4 __ovld vload4(size_t offset, const half *p);
11403 half8 __ovld vload8(size_t offset, const half *p);
11404 half16 __ovld vload16(size_t offset, const half *p);
11405 #endif //cl_khr_fp16
11406 #else
11407 char2 __ovld vload2(size_t offset, const __global char *p);
11408 uchar2 __ovld vload2(size_t offset, const __global uchar *p);
11409 short2 __ovld vload2(size_t offset, const __global short *p);
11410 ushort2 __ovld vload2(size_t offset, const __global ushort *p);
11411 int2 __ovld vload2(size_t offset, const __global int *p);
11412 uint2 __ovld vload2(size_t offset, const __global uint *p);
11413 long2 __ovld vload2(size_t offset, const __global long *p);
11414 ulong2 __ovld vload2(size_t offset, const __global ulong *p);
11415 float2 __ovld vload2(size_t offset, const __global float *p);
11416 char3 __ovld vload3(size_t offset, const __global char *p);
11417 uchar3 __ovld vload3(size_t offset, const __global uchar *p);
11418 short3 __ovld vload3(size_t offset, const __global short *p);
11419 ushort3 __ovld vload3(size_t offset, const __global ushort *p);
11420 int3 __ovld vload3(size_t offset, const __global int *p);
11421 uint3 __ovld vload3(size_t offset, const __global uint *p);
11422 long3 __ovld vload3(size_t offset, const __global long *p);
11423 ulong3 __ovld vload3(size_t offset, const __global ulong *p);
11424 float3 __ovld vload3(size_t offset, const __global float *p);
11425 char4 __ovld vload4(size_t offset, const __global char *p);
11426 uchar4 __ovld vload4(size_t offset, const __global uchar *p);
11427 short4 __ovld vload4(size_t offset, const __global short *p);
11428 ushort4 __ovld vload4(size_t offset, const __global ushort *p);
11429 int4 __ovld vload4(size_t offset, const __global int *p);
11430 uint4 __ovld vload4(size_t offset, const __global uint *p);
11431 long4 __ovld vload4(size_t offset, const __global long *p);
11432 ulong4 __ovld vload4(size_t offset, const __global ulong *p);
11433 float4 __ovld vload4(size_t offset, const __global float *p);
11434 char8 __ovld vload8(size_t offset, const __global char *p);
11435 uchar8 __ovld vload8(size_t offset, const __global uchar *p);
11436 short8 __ovld vload8(size_t offset, const __global short *p);
11437 ushort8 __ovld vload8(size_t offset, const __global ushort *p);
11438 int8 __ovld vload8(size_t offset, const __global int *p);
11439 uint8 __ovld vload8(size_t offset, const __global uint *p);
11440 long8 __ovld vload8(size_t offset, const __global long *p);
11441 ulong8 __ovld vload8(size_t offset, const __global ulong *p);
11442 float8 __ovld vload8(size_t offset, const __global float *p);
11443 char16 __ovld vload16(size_t offset, const __global char *p);
11444 uchar16 __ovld vload16(size_t offset, const __global uchar *p);
11445 short16 __ovld vload16(size_t offset, const __global short *p);
11446 ushort16 __ovld vload16(size_t offset, const __global ushort *p);
11447 int16 __ovld vload16(size_t offset, const __global int *p);
11448 uint16 __ovld vload16(size_t offset, const __global uint *p);
11449 long16 __ovld vload16(size_t offset, const __global long *p);
11450 ulong16 __ovld vload16(size_t offset, const __global ulong *p);
11451 float16 __ovld vload16(size_t offset, const __global float *p);
11452 char2 __ovld vload2(size_t offset, const __local char *p);
11453 uchar2 __ovld vload2(size_t offset, const __local uchar *p);
11454 short2 __ovld vload2(size_t offset, const __local short *p);
11455 ushort2 __ovld vload2(size_t offset, const __local ushort *p);
11456 int2 __ovld vload2(size_t offset, const __local int *p);
11457 uint2 __ovld vload2(size_t offset, const __local uint *p);
11458 long2 __ovld vload2(size_t offset, const __local long *p);
11459 ulong2 __ovld vload2(size_t offset, const __local ulong *p);
11460 float2 __ovld vload2(size_t offset, const __local float *p);
11461 char3 __ovld vload3(size_t offset, const __local char *p);
11462 uchar3 __ovld vload3(size_t offset, const __local uchar *p);
11463 short3 __ovld vload3(size_t offset, const __local short *p);
11464 ushort3 __ovld vload3(size_t offset, const __local ushort *p);
11465 int3 __ovld vload3(size_t offset, const __local int *p);
11466 uint3 __ovld vload3(size_t offset, const __local uint *p);
11467 long3 __ovld vload3(size_t offset, const __local long *p);
11468 ulong3 __ovld vload3(size_t offset, const __local ulong *p);
11469 float3 __ovld vload3(size_t offset, const __local float *p);
11470 char4 __ovld vload4(size_t offset, const __local char *p);
11471 uchar4 __ovld vload4(size_t offset, const __local uchar *p);
11472 short4 __ovld vload4(size_t offset, const __local short *p);
11473 ushort4 __ovld vload4(size_t offset, const __local ushort *p);
11474 int4 __ovld vload4(size_t offset, const __local int *p);
11475 uint4 __ovld vload4(size_t offset, const __local uint *p);
11476 long4 __ovld vload4(size_t offset, const __local long *p);
11477 ulong4 __ovld vload4(size_t offset, const __local ulong *p);
11478 float4 __ovld vload4(size_t offset, const __local float *p);
11479 char8 __ovld vload8(size_t offset, const __local char *p);
11480 uchar8 __ovld vload8(size_t offset, const __local uchar *p);
11481 short8 __ovld vload8(size_t offset, const __local short *p);
11482 ushort8 __ovld vload8(size_t offset, const __local ushort *p);
11483 int8 __ovld vload8(size_t offset, const __local int *p);
11484 uint8 __ovld vload8(size_t offset, const __local uint *p);
11485 long8 __ovld vload8(size_t offset, const __local long *p);
11486 ulong8 __ovld vload8(size_t offset, const __local ulong *p);
11487 float8 __ovld vload8(size_t offset, const __local float *p);
11488 char16 __ovld vload16(size_t offset, const __local char *p);
11489 uchar16 __ovld vload16(size_t offset, const __local uchar *p);
11490 short16 __ovld vload16(size_t offset, const __local short *p);
11491 ushort16 __ovld vload16(size_t offset, const __local ushort *p);
11492 int16 __ovld vload16(size_t offset, const __local int *p);
11493 uint16 __ovld vload16(size_t offset, const __local uint *p);
11494 long16 __ovld vload16(size_t offset, const __local long *p);
11495 ulong16 __ovld vload16(size_t offset, const __local ulong *p);
11496 float16 __ovld vload16(size_t offset, const __local float *p);
11497 char2 __ovld vload2(size_t offset, const __private char *p);
11498 uchar2 __ovld vload2(size_t offset, const __private uchar *p);
11499 short2 __ovld vload2(size_t offset, const __private short *p);
11500 ushort2 __ovld vload2(size_t offset, const __private ushort *p);
11501 int2 __ovld vload2(size_t offset, const __private int *p);
11502 uint2 __ovld vload2(size_t offset, const __private uint *p);
11503 long2 __ovld vload2(size_t offset, const __private long *p);
11504 ulong2 __ovld vload2(size_t offset, const __private ulong *p);
11505 float2 __ovld vload2(size_t offset, const __private float *p);
11506 char3 __ovld vload3(size_t offset, const __private char *p);
11507 uchar3 __ovld vload3(size_t offset, const __private uchar *p);
11508 short3 __ovld vload3(size_t offset, const __private short *p);
11509 ushort3 __ovld vload3(size_t offset, const __private ushort *p);
11510 int3 __ovld vload3(size_t offset, const __private int *p);
11511 uint3 __ovld vload3(size_t offset, const __private uint *p);
11512 long3 __ovld vload3(size_t offset, const __private long *p);
11513 ulong3 __ovld vload3(size_t offset, const __private ulong *p);
11514 float3 __ovld vload3(size_t offset, const __private float *p);
11515 char4 __ovld vload4(size_t offset, const __private char *p);
11516 uchar4 __ovld vload4(size_t offset, const __private uchar *p);
11517 short4 __ovld vload4(size_t offset, const __private short *p);
11518 ushort4 __ovld vload4(size_t offset, const __private ushort *p);
11519 int4 __ovld vload4(size_t offset, const __private int *p);
11520 uint4 __ovld vload4(size_t offset, const __private uint *p);
11521 long4 __ovld vload4(size_t offset, const __private long *p);
11522 ulong4 __ovld vload4(size_t offset, const __private ulong *p);
11523 float4 __ovld vload4(size_t offset, const __private float *p);
11524 char8 __ovld vload8(size_t offset, const __private char *p);
11525 uchar8 __ovld vload8(size_t offset, const __private uchar *p);
11526 short8 __ovld vload8(size_t offset, const __private short *p);
11527 ushort8 __ovld vload8(size_t offset, const __private ushort *p);
11528 int8 __ovld vload8(size_t offset, const __private int *p);
11529 uint8 __ovld vload8(size_t offset, const __private uint *p);
11530 long8 __ovld vload8(size_t offset, const __private long *p);
11531 ulong8 __ovld vload8(size_t offset, const __private ulong *p);
11532 float8 __ovld vload8(size_t offset, const __private float *p);
11533 char16 __ovld vload16(size_t offset, const __private char *p);
11534 uchar16 __ovld vload16(size_t offset, const __private uchar *p);
11535 short16 __ovld vload16(size_t offset, const __private short *p);
11536 ushort16 __ovld vload16(size_t offset, const __private ushort *p);
11537 int16 __ovld vload16(size_t offset, const __private int *p);
11538 uint16 __ovld vload16(size_t offset, const __private uint *p);
11539 long16 __ovld vload16(size_t offset, const __private long *p);
11540 ulong16 __ovld vload16(size_t offset, const __private ulong *p);
11541 float16 __ovld vload16(size_t offset, const __private float *p);
11542 
11543 #ifdef cl_khr_fp64
11544 double2 __ovld vload2(size_t offset, const __global double *p);
11545 double3 __ovld vload3(size_t offset, const __global double *p);
11546 double4 __ovld vload4(size_t offset, const __global double *p);
11547 double8 __ovld vload8(size_t offset, const __global double *p);
11548 double16 __ovld vload16(size_t offset, const __global double *p);
11549 double2 __ovld vload2(size_t offset, const __local double *p);
11550 double3 __ovld vload3(size_t offset, const __local double *p);
11551 double4 __ovld vload4(size_t offset, const __local double *p);
11552 double8 __ovld vload8(size_t offset, const __local double *p);
11553 double16 __ovld vload16(size_t offset, const __local double *p);
11554 double2 __ovld vload2(size_t offset, const __private double *p);
11555 double3 __ovld vload3(size_t offset, const __private double *p);
11556 double4 __ovld vload4(size_t offset, const __private double *p);
11557 double8 __ovld vload8(size_t offset, const __private double *p);
11558 double16 __ovld vload16(size_t offset, const __private double *p);
11559 #endif //cl_khr_fp64
11560 
11561 #ifdef cl_khr_fp16
11562 half __ovld vload(size_t offset, const __global half *p);
11563 half2 __ovld vload2(size_t offset, const __global half *p);
11564 half3 __ovld vload3(size_t offset, const __global half *p);
11565 half4 __ovld vload4(size_t offset, const __global half *p);
11566 half8 __ovld vload8(size_t offset, const __global half *p);
11567 half16 __ovld vload16(size_t offset, const __global half *p);
11568 half __ovld vload(size_t offset, const __local half *p);
11569 half2 __ovld vload2(size_t offset, const __local half *p);
11570 half3 __ovld vload3(size_t offset, const __local half *p);
11571 half4 __ovld vload4(size_t offset, const __local half *p);
11572 half8 __ovld vload8(size_t offset, const __local half *p);
11573 half16 __ovld vload16(size_t offset, const __local half *p);
11574 half __ovld vload(size_t offset, const __private half *p);
11575 half2 __ovld vload2(size_t offset, const __private half *p);
11576 half3 __ovld vload3(size_t offset, const __private half *p);
11577 half4 __ovld vload4(size_t offset, const __private half *p);
11578 half8 __ovld vload8(size_t offset, const __private half *p);
11579 half16 __ovld vload16(size_t offset, const __private half *p);
11580 #endif //cl_khr_fp16
11581 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
11582 
11583 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
11584 void __ovld vstore2(char2 data, size_t offset, char *p);
11585 void __ovld vstore2(uchar2 data, size_t offset, uchar *p);
11586 void __ovld vstore2(short2 data, size_t offset, short *p);
11587 void __ovld vstore2(ushort2 data, size_t offset, ushort *p);
11588 void __ovld vstore2(int2 data, size_t offset, int *p);
11589 void __ovld vstore2(uint2 data, size_t offset, uint *p);
11590 void __ovld vstore2(long2 data, size_t offset, long *p);
11591 void __ovld vstore2(ulong2 data, size_t offset, ulong *p);
11592 void __ovld vstore2(float2 data, size_t offset, float *p);
11593 void __ovld vstore3(char3 data, size_t offset, char *p);
11594 void __ovld vstore3(uchar3 data, size_t offset, uchar *p);
11595 void __ovld vstore3(short3 data, size_t offset, short *p);
11596 void __ovld vstore3(ushort3 data, size_t offset, ushort *p);
11597 void __ovld vstore3(int3 data, size_t offset, int *p);
11598 void __ovld vstore3(uint3 data, size_t offset, uint *p);
11599 void __ovld vstore3(long3 data, size_t offset, long *p);
11600 void __ovld vstore3(ulong3 data, size_t offset, ulong *p);
11601 void __ovld vstore3(float3 data, size_t offset, float *p);
11602 void __ovld vstore4(char4 data, size_t offset, char *p);
11603 void __ovld vstore4(uchar4 data, size_t offset, uchar *p);
11604 void __ovld vstore4(short4 data, size_t offset, short *p);
11605 void __ovld vstore4(ushort4 data, size_t offset, ushort *p);
11606 void __ovld vstore4(int4 data, size_t offset, int *p);
11607 void __ovld vstore4(uint4 data, size_t offset, uint *p);
11608 void __ovld vstore4(long4 data, size_t offset, long *p);
11609 void __ovld vstore4(ulong4 data, size_t offset, ulong *p);
11610 void __ovld vstore4(float4 data, size_t offset, float *p);
11611 void __ovld vstore8(char8 data, size_t offset, char *p);
11612 void __ovld vstore8(uchar8 data, size_t offset, uchar *p);
11613 void __ovld vstore8(short8 data, size_t offset, short *p);
11614 void __ovld vstore8(ushort8 data, size_t offset, ushort *p);
11615 void __ovld vstore8(int8 data, size_t offset, int *p);
11616 void __ovld vstore8(uint8 data, size_t offset, uint *p);
11617 void __ovld vstore8(long8 data, size_t offset, long *p);
11618 void __ovld vstore8(ulong8 data, size_t offset, ulong *p);
11619 void __ovld vstore8(float8 data, size_t offset, float *p);
11620 void __ovld vstore16(char16 data, size_t offset, char *p);
11621 void __ovld vstore16(uchar16 data, size_t offset, uchar *p);
11622 void __ovld vstore16(short16 data, size_t offset, short *p);
11623 void __ovld vstore16(ushort16 data, size_t offset, ushort *p);
11624 void __ovld vstore16(int16 data, size_t offset, int *p);
11625 void __ovld vstore16(uint16 data, size_t offset, uint *p);
11626 void __ovld vstore16(long16 data, size_t offset, long *p);
11627 void __ovld vstore16(ulong16 data, size_t offset, ulong *p);
11628 void __ovld vstore16(float16 data, size_t offset, float *p);
11629 #ifdef cl_khr_fp64
11630 void __ovld vstore2(double2 data, size_t offset, double *p);
11631 void __ovld vstore3(double3 data, size_t offset, double *p);
11632 void __ovld vstore4(double4 data, size_t offset, double *p);
11633 void __ovld vstore8(double8 data, size_t offset, double *p);
11634 void __ovld vstore16(double16 data, size_t offset, double *p);
11635 #endif //cl_khr_fp64
11636 #ifdef cl_khr_fp16
11637 void __ovld vstore(half data, size_t offset, half *p);
11638 void __ovld vstore2(half2 data, size_t offset, half *p);
11639 void __ovld vstore3(half3 data, size_t offset, half *p);
11640 void __ovld vstore4(half4 data, size_t offset, half *p);
11641 void __ovld vstore8(half8 data, size_t offset, half *p);
11642 void __ovld vstore16(half16 data, size_t offset, half *p);
11643 #endif //cl_khr_fp16
11644 #else
11645 void __ovld vstore2(char2 data, size_t offset, __global char *p);
11646 void __ovld vstore2(uchar2 data, size_t offset, __global uchar *p);
11647 void __ovld vstore2(short2 data, size_t offset, __global short *p);
11648 void __ovld vstore2(ushort2 data, size_t offset, __global ushort *p);
11649 void __ovld vstore2(int2 data, size_t offset, __global int *p);
11650 void __ovld vstore2(uint2 data, size_t offset, __global uint *p);
11651 void __ovld vstore2(long2 data, size_t offset, __global long *p);
11652 void __ovld vstore2(ulong2 data, size_t offset, __global ulong *p);
11653 void __ovld vstore2(float2 data, size_t offset, __global float *p);
11654 void __ovld vstore3(char3 data, size_t offset, __global char *p);
11655 void __ovld vstore3(uchar3 data, size_t offset, __global uchar *p);
11656 void __ovld vstore3(short3 data, size_t offset, __global short *p);
11657 void __ovld vstore3(ushort3 data, size_t offset, __global ushort *p);
11658 void __ovld vstore3(int3 data, size_t offset, __global int *p);
11659 void __ovld vstore3(uint3 data, size_t offset, __global uint *p);
11660 void __ovld vstore3(long3 data, size_t offset, __global long *p);
11661 void __ovld vstore3(ulong3 data, size_t offset, __global ulong *p);
11662 void __ovld vstore3(float3 data, size_t offset, __global float *p);
11663 void __ovld vstore4(char4 data, size_t offset, __global char *p);
11664 void __ovld vstore4(uchar4 data, size_t offset, __global uchar *p);
11665 void __ovld vstore4(short4 data, size_t offset, __global short *p);
11666 void __ovld vstore4(ushort4 data, size_t offset, __global ushort *p);
11667 void __ovld vstore4(int4 data, size_t offset, __global int *p);
11668 void __ovld vstore4(uint4 data, size_t offset, __global uint *p);
11669 void __ovld vstore4(long4 data, size_t offset, __global long *p);
11670 void __ovld vstore4(ulong4 data, size_t offset, __global ulong *p);
11671 void __ovld vstore4(float4 data, size_t offset, __global float *p);
11672 void __ovld vstore8(char8 data, size_t offset, __global char *p);
11673 void __ovld vstore8(uchar8 data, size_t offset, __global uchar *p);
11674 void __ovld vstore8(short8 data, size_t offset, __global short *p);
11675 void __ovld vstore8(ushort8 data, size_t offset, __global ushort *p);
11676 void __ovld vstore8(int8 data, size_t offset, __global int *p);
11677 void __ovld vstore8(uint8 data, size_t offset, __global uint *p);
11678 void __ovld vstore8(long8 data, size_t offset, __global long *p);
11679 void __ovld vstore8(ulong8 data, size_t offset, __global ulong *p);
11680 void __ovld vstore8(float8 data, size_t offset, __global float *p);
11681 void __ovld vstore16(char16 data, size_t offset, __global char *p);
11682 void __ovld vstore16(uchar16 data, size_t offset, __global uchar *p);
11683 void __ovld vstore16(short16 data, size_t offset, __global short *p);
11684 void __ovld vstore16(ushort16 data, size_t offset, __global ushort *p);
11685 void __ovld vstore16(int16 data, size_t offset, __global int *p);
11686 void __ovld vstore16(uint16 data, size_t offset, __global uint *p);
11687 void __ovld vstore16(long16 data, size_t offset, __global long *p);
11688 void __ovld vstore16(ulong16 data, size_t offset, __global ulong *p);
11689 void __ovld vstore16(float16 data, size_t offset, __global float *p);
11690 void __ovld vstore2(char2 data, size_t offset, __local char *p);
11691 void __ovld vstore2(uchar2 data, size_t offset, __local uchar *p);
11692 void __ovld vstore2(short2 data, size_t offset, __local short *p);
11693 void __ovld vstore2(ushort2 data, size_t offset, __local ushort *p);
11694 void __ovld vstore2(int2 data, size_t offset, __local int *p);
11695 void __ovld vstore2(uint2 data, size_t offset, __local uint *p);
11696 void __ovld vstore2(long2 data, size_t offset, __local long *p);
11697 void __ovld vstore2(ulong2 data, size_t offset, __local ulong *p);
11698 void __ovld vstore2(float2 data, size_t offset, __local float *p);
11699 void __ovld vstore3(char3 data, size_t offset, __local char *p);
11700 void __ovld vstore3(uchar3 data, size_t offset, __local uchar *p);
11701 void __ovld vstore3(short3 data, size_t offset, __local short *p);
11702 void __ovld vstore3(ushort3 data, size_t offset, __local ushort *p);
11703 void __ovld vstore3(int3 data, size_t offset, __local int *p);
11704 void __ovld vstore3(uint3 data, size_t offset, __local uint *p);
11705 void __ovld vstore3(long3 data, size_t offset, __local long *p);
11706 void __ovld vstore3(ulong3 data, size_t offset, __local ulong *p);
11707 void __ovld vstore3(float3 data, size_t offset, __local float *p);
11708 void __ovld vstore4(char4 data, size_t offset, __local char *p);
11709 void __ovld vstore4(uchar4 data, size_t offset, __local uchar *p);
11710 void __ovld vstore4(short4 data, size_t offset, __local short *p);
11711 void __ovld vstore4(ushort4 data, size_t offset, __local ushort *p);
11712 void __ovld vstore4(int4 data, size_t offset, __local int *p);
11713 void __ovld vstore4(uint4 data, size_t offset, __local uint *p);
11714 void __ovld vstore4(long4 data, size_t offset, __local long *p);
11715 void __ovld vstore4(ulong4 data, size_t offset, __local ulong *p);
11716 void __ovld vstore4(float4 data, size_t offset, __local float *p);
11717 void __ovld vstore8(char8 data, size_t offset, __local char *p);
11718 void __ovld vstore8(uchar8 data, size_t offset, __local uchar *p);
11719 void __ovld vstore8(short8 data, size_t offset, __local short *p);
11720 void __ovld vstore8(ushort8 data, size_t offset, __local ushort *p);
11721 void __ovld vstore8(int8 data, size_t offset, __local int *p);
11722 void __ovld vstore8(uint8 data, size_t offset, __local uint *p);
11723 void __ovld vstore8(long8 data, size_t offset, __local long *p);
11724 void __ovld vstore8(ulong8 data, size_t offset, __local ulong *p);
11725 void __ovld vstore8(float8 data, size_t offset, __local float *p);
11726 void __ovld vstore16(char16 data, size_t offset, __local char *p);
11727 void __ovld vstore16(uchar16 data, size_t offset, __local uchar *p);
11728 void __ovld vstore16(short16 data, size_t offset, __local short *p);
11729 void __ovld vstore16(ushort16 data, size_t offset, __local ushort *p);
11730 void __ovld vstore16(int16 data, size_t offset, __local int *p);
11731 void __ovld vstore16(uint16 data, size_t offset, __local uint *p);
11732 void __ovld vstore16(long16 data, size_t offset, __local long *p);
11733 void __ovld vstore16(ulong16 data, size_t offset, __local ulong *p);
11734 void __ovld vstore16(float16 data, size_t offset, __local float *p);
11735 void __ovld vstore2(char2 data, size_t offset, __private char *p);
11736 void __ovld vstore2(uchar2 data, size_t offset, __private uchar *p);
11737 void __ovld vstore2(short2 data, size_t offset, __private short *p);
11738 void __ovld vstore2(ushort2 data, size_t offset, __private ushort *p);
11739 void __ovld vstore2(int2 data, size_t offset, __private int *p);
11740 void __ovld vstore2(uint2 data, size_t offset, __private uint *p);
11741 void __ovld vstore2(long2 data, size_t offset, __private long *p);
11742 void __ovld vstore2(ulong2 data, size_t offset, __private ulong *p);
11743 void __ovld vstore2(float2 data, size_t offset, __private float *p);
11744 void __ovld vstore3(char3 data, size_t offset, __private char *p);
11745 void __ovld vstore3(uchar3 data, size_t offset, __private uchar *p);
11746 void __ovld vstore3(short3 data, size_t offset, __private short *p);
11747 void __ovld vstore3(ushort3 data, size_t offset, __private ushort *p);
11748 void __ovld vstore3(int3 data, size_t offset, __private int *p);
11749 void __ovld vstore3(uint3 data, size_t offset, __private uint *p);
11750 void __ovld vstore3(long3 data, size_t offset, __private long *p);
11751 void __ovld vstore3(ulong3 data, size_t offset, __private ulong *p);
11752 void __ovld vstore3(float3 data, size_t offset, __private float *p);
11753 void __ovld vstore4(char4 data, size_t offset, __private char *p);
11754 void __ovld vstore4(uchar4 data, size_t offset, __private uchar *p);
11755 void __ovld vstore4(short4 data, size_t offset, __private short *p);
11756 void __ovld vstore4(ushort4 data, size_t offset, __private ushort *p);
11757 void __ovld vstore4(int4 data, size_t offset, __private int *p);
11758 void __ovld vstore4(uint4 data, size_t offset, __private uint *p);
11759 void __ovld vstore4(long4 data, size_t offset, __private long *p);
11760 void __ovld vstore4(ulong4 data, size_t offset, __private ulong *p);
11761 void __ovld vstore4(float4 data, size_t offset, __private float *p);
11762 void __ovld vstore8(char8 data, size_t offset, __private char *p);
11763 void __ovld vstore8(uchar8 data, size_t offset, __private uchar *p);
11764 void __ovld vstore8(short8 data, size_t offset, __private short *p);
11765 void __ovld vstore8(ushort8 data, size_t offset, __private ushort *p);
11766 void __ovld vstore8(int8 data, size_t offset, __private int *p);
11767 void __ovld vstore8(uint8 data, size_t offset, __private uint *p);
11768 void __ovld vstore8(long8 data, size_t offset, __private long *p);
11769 void __ovld vstore8(ulong8 data, size_t offset, __private ulong *p);
11770 void __ovld vstore8(float8 data, size_t offset, __private float *p);
11771 void __ovld vstore16(char16 data, size_t offset, __private char *p);
11772 void __ovld vstore16(uchar16 data, size_t offset, __private uchar *p);
11773 void __ovld vstore16(short16 data, size_t offset, __private short *p);
11774 void __ovld vstore16(ushort16 data, size_t offset, __private ushort *p);
11775 void __ovld vstore16(int16 data, size_t offset, __private int *p);
11776 void __ovld vstore16(uint16 data, size_t offset, __private uint *p);
11777 void __ovld vstore16(long16 data, size_t offset, __private long *p);
11778 void __ovld vstore16(ulong16 data, size_t offset, __private ulong *p);
11779 void __ovld vstore16(float16 data, size_t offset, __private float *p);
11780 #ifdef cl_khr_fp64
11781 void __ovld vstore2(double2 data, size_t offset, __global double *p);
11782 void __ovld vstore3(double3 data, size_t offset, __global double *p);
11783 void __ovld vstore4(double4 data, size_t offset, __global double *p);
11784 void __ovld vstore8(double8 data, size_t offset, __global double *p);
11785 void __ovld vstore16(double16 data, size_t offset, __global double *p);
11786 void __ovld vstore2(double2 data, size_t offset, __local double *p);
11787 void __ovld vstore3(double3 data, size_t offset, __local double *p);
11788 void __ovld vstore4(double4 data, size_t offset, __local double *p);
11789 void __ovld vstore8(double8 data, size_t offset, __local double *p);
11790 void __ovld vstore16(double16 data, size_t offset, __local double *p);
11791 void __ovld vstore2(double2 data, size_t offset, __private double *p);
11792 void __ovld vstore3(double3 data, size_t offset, __private double *p);
11793 void __ovld vstore4(double4 data, size_t offset, __private double *p);
11794 void __ovld vstore8(double8 data, size_t offset, __private double *p);
11795 void __ovld vstore16(double16 data, size_t offset, __private double *p);
11796 #endif //cl_khr_fp64
11797 #ifdef cl_khr_fp16
11798 void __ovld vstore(half data, size_t offset, __global half *p);
11799 void __ovld vstore2(half2 data, size_t offset, __global half *p);
11800 void __ovld vstore3(half3 data, size_t offset, __global half *p);
11801 void __ovld vstore4(half4 data, size_t offset, __global half *p);
11802 void __ovld vstore8(half8 data, size_t offset, __global half *p);
11803 void __ovld vstore16(half16 data, size_t offset, __global half *p);
11804 void __ovld vstore(half data, size_t offset, __local half *p);
11805 void __ovld vstore2(half2 data, size_t offset, __local half *p);
11806 void __ovld vstore3(half3 data, size_t offset, __local half *p);
11807 void __ovld vstore4(half4 data, size_t offset, __local half *p);
11808 void __ovld vstore8(half8 data, size_t offset, __local half *p);
11809 void __ovld vstore16(half16 data, size_t offset, __local half *p);
11810 void __ovld vstore(half data, size_t offset, __private half *p);
11811 void __ovld vstore2(half2 data, size_t offset, __private half *p);
11812 void __ovld vstore3(half3 data, size_t offset, __private half *p);
11813 void __ovld vstore4(half4 data, size_t offset, __private half *p);
11814 void __ovld vstore8(half8 data, size_t offset, __private half *p);
11815 void __ovld vstore16(half16 data, size_t offset, __private half *p);
11816 #endif //cl_khr_fp16
11817 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
11818 
11827 float __ovld vload_half(size_t offset, const __constant half *p);
11828 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
11829 float __ovld vload_half(size_t offset, const half *p);
11830 #else
11831 float __ovld vload_half(size_t offset, const __global half *p);
11832 float __ovld vload_half(size_t offset, const __local half *p);
11833 float __ovld vload_half(size_t offset, const __private half *p);
11834 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
11835 
11844 float2 __ovld vload_half2(size_t offset, const __constant half *p);
11845 float3 __ovld vload_half3(size_t offset, const __constant half *p);
11846 float4 __ovld vload_half4(size_t offset, const __constant half *p);
11847 float8 __ovld vload_half8(size_t offset, const __constant half *p);
11848 float16 __ovld vload_half16(size_t offset, const __constant half *p);
11849 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
11850 float2 __ovld vload_half2(size_t offset, const half *p);
11851 float3 __ovld vload_half3(size_t offset, const half *p);
11852 float4 __ovld vload_half4(size_t offset, const half *p);
11853 float8 __ovld vload_half8(size_t offset, const half *p);
11854 float16 __ovld vload_half16(size_t offset, const half *p);
11855 #else
11856 float2 __ovld vload_half2(size_t offset, const __global half *p);
11857 float3 __ovld vload_half3(size_t offset, const __global half *p);
11858 float4 __ovld vload_half4(size_t offset, const __global half *p);
11859 float8 __ovld vload_half8(size_t offset, const __global half *p);
11860 float16 __ovld vload_half16(size_t offset, const __global half *p);
11861 float2 __ovld vload_half2(size_t offset, const __local half *p);
11862 float3 __ovld vload_half3(size_t offset, const __local half *p);
11863 float4 __ovld vload_half4(size_t offset, const __local half *p);
11864 float8 __ovld vload_half8(size_t offset, const __local half *p);
11865 float16 __ovld vload_half16(size_t offset, const __local half *p);
11866 float2 __ovld vload_half2(size_t offset, const __private half *p);
11867 float3 __ovld vload_half3(size_t offset, const __private half *p);
11868 float4 __ovld vload_half4(size_t offset, const __private half *p);
11869 float8 __ovld vload_half8(size_t offset, const __private half *p);
11870 float16 __ovld vload_half16(size_t offset, const __private half *p);
11871 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
11872 
11884 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
11885 void __ovld vstore_half(float data, size_t offset, half *p);
11886 void __ovld vstore_half_rte(float data, size_t offset, half *p);
11887 void __ovld vstore_half_rtz(float data, size_t offset, half *p);
11888 void __ovld vstore_half_rtp(float data, size_t offset, half *p);
11889 void __ovld vstore_half_rtn(float data, size_t offset, half *p);
11890 #ifdef cl_khr_fp64
11891 void __ovld vstore_half(double data, size_t offset, half *p);
11892 void __ovld vstore_half_rte(double data, size_t offset, half *p);
11893 void __ovld vstore_half_rtz(double data, size_t offset, half *p);
11894 void __ovld vstore_half_rtp(double data, size_t offset, half *p);
11895 void __ovld vstore_half_rtn(double data, size_t offset, half *p);
11896 #endif //cl_khr_fp64
11897 #else
11898 void __ovld vstore_half(float data, size_t offset, __global half *p);
11899 void __ovld vstore_half_rte(float data, size_t offset, __global half *p);
11900 void __ovld vstore_half_rtz(float data, size_t offset, __global half *p);
11901 void __ovld vstore_half_rtp(float data, size_t offset, __global half *p);
11902 void __ovld vstore_half_rtn(float data, size_t offset, __global half *p);
11903 void __ovld vstore_half(float data, size_t offset, __local half *p);
11904 void __ovld vstore_half_rte(float data, size_t offset, __local half *p);
11905 void __ovld vstore_half_rtz(float data, size_t offset, __local half *p);
11906 void __ovld vstore_half_rtp(float data, size_t offset, __local half *p);
11907 void __ovld vstore_half_rtn(float data, size_t offset, __local half *p);
11908 void __ovld vstore_half(float data, size_t offset, __private half *p);
11909 void __ovld vstore_half_rte(float data, size_t offset, __private half *p);
11910 void __ovld vstore_half_rtz(float data, size_t offset, __private half *p);
11911 void __ovld vstore_half_rtp(float data, size_t offset, __private half *p);
11912 void __ovld vstore_half_rtn(float data, size_t offset, __private half *p);
11913 #ifdef cl_khr_fp64
11914 void __ovld vstore_half(double data, size_t offset, __global half *p);
11915 void __ovld vstore_half_rte(double data, size_t offset, __global half *p);
11916 void __ovld vstore_half_rtz(double data, size_t offset, __global half *p);
11917 void __ovld vstore_half_rtp(double data, size_t offset, __global half *p);
11918 void __ovld vstore_half_rtn(double data, size_t offset, __global half *p);
11919 void __ovld vstore_half(double data, size_t offset, __local half *p);
11920 void __ovld vstore_half_rte(double data, size_t offset, __local half *p);
11921 void __ovld vstore_half_rtz(double data, size_t offset, __local half *p);
11922 void __ovld vstore_half_rtp(double data, size_t offset, __local half *p);
11923 void __ovld vstore_half_rtn(double data, size_t offset, __local half *p);
11924 void __ovld vstore_half(double data, size_t offset, __private half *p);
11925 void __ovld vstore_half_rte(double data, size_t offset, __private half *p);
11926 void __ovld vstore_half_rtz(double data, size_t offset, __private half *p);
11927 void __ovld vstore_half_rtp(double data, size_t offset, __private half *p);
11928 void __ovld vstore_half_rtn(double data, size_t offset, __private half *p);
11929 #endif //cl_khr_fp64
11930 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
11931 
11943 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
11944 void __ovld vstore_half2(float2 data, size_t offset, half *p);
11945 void __ovld vstore_half3(float3 data, size_t offset, half *p);
11946 void __ovld vstore_half4(float4 data, size_t offset, half *p);
11947 void __ovld vstore_half8(float8 data, size_t offset, half *p);
11948 void __ovld vstore_half16(float16 data, size_t offset, half *p);
11949 void __ovld vstore_half2_rte(float2 data, size_t offset, half *p);
11950 void __ovld vstore_half3_rte(float3 data, size_t offset, half *p);
11951 void __ovld vstore_half4_rte(float4 data, size_t offset, half *p);
11952 void __ovld vstore_half8_rte(float8 data, size_t offset, half *p);
11953 void __ovld vstore_half16_rte(float16 data, size_t offset, half *p);
11954 void __ovld vstore_half2_rtz(float2 data, size_t offset, half *p);
11955 void __ovld vstore_half3_rtz(float3 data, size_t offset, half *p);
11956 void __ovld vstore_half4_rtz(float4 data, size_t offset, half *p);
11957 void __ovld vstore_half8_rtz(float8 data, size_t offset, half *p);
11958 void __ovld vstore_half16_rtz(float16 data, size_t offset, half *p);
11959 void __ovld vstore_half2_rtp(float2 data, size_t offset, half *p);
11960 void __ovld vstore_half3_rtp(float3 data, size_t offset, half *p);
11961 void __ovld vstore_half4_rtp(float4 data, size_t offset, half *p);
11962 void __ovld vstore_half8_rtp(float8 data, size_t offset, half *p);
11963 void __ovld vstore_half16_rtp(float16 data, size_t offset, half *p);
11964 void __ovld vstore_half2_rtn(float2 data, size_t offset, half *p);
11965 void __ovld vstore_half3_rtn(float3 data, size_t offset, half *p);
11966 void __ovld vstore_half4_rtn(float4 data, size_t offset, half *p);
11967 void __ovld vstore_half8_rtn(float8 data, size_t offset, half *p);
11968 void __ovld vstore_half16_rtn(float16 data, size_t offset, half *p);
11969 #ifdef cl_khr_fp64
11970 void __ovld vstore_half2(double2 data, size_t offset, half *p);
11971 void __ovld vstore_half3(double3 data, size_t offset, half *p);
11972 void __ovld vstore_half4(double4 data, size_t offset, half *p);
11973 void __ovld vstore_half8(double8 data, size_t offset, half *p);
11974 void __ovld vstore_half16(double16 data, size_t offset, half *p);
11975 void __ovld vstore_half2_rte(double2 data, size_t offset, half *p);
11976 void __ovld vstore_half3_rte(double3 data, size_t offset, half *p);
11977 void __ovld vstore_half4_rte(double4 data, size_t offset, half *p);
11978 void __ovld vstore_half8_rte(double8 data, size_t offset, half *p);
11979 void __ovld vstore_half16_rte(double16 data, size_t offset, half *p);
11980 void __ovld vstore_half2_rtz(double2 data, size_t offset, half *p);
11981 void __ovld vstore_half3_rtz(double3 data, size_t offset, half *p);
11982 void __ovld vstore_half4_rtz(double4 data, size_t offset, half *p);
11983 void __ovld vstore_half8_rtz(double8 data, size_t offset, half *p);
11984 void __ovld vstore_half16_rtz(double16 data, size_t offset, half *p);
11985 void __ovld vstore_half2_rtp(double2 data, size_t offset, half *p);
11986 void __ovld vstore_half3_rtp(double3 data, size_t offset, half *p);
11987 void __ovld vstore_half4_rtp(double4 data, size_t offset, half *p);
11988 void __ovld vstore_half8_rtp(double8 data, size_t offset, half *p);
11989 void __ovld vstore_half16_rtp(double16 data, size_t offset, half *p);
11990 void __ovld vstore_half2_rtn(double2 data, size_t offset, half *p);
11991 void __ovld vstore_half3_rtn(double3 data, size_t offset, half *p);
11992 void __ovld vstore_half4_rtn(double4 data, size_t offset, half *p);
11993 void __ovld vstore_half8_rtn(double8 data, size_t offset, half *p);
11994 void __ovld vstore_half16_rtn(double16 data, size_t offset, half *p);
11995 #endif //cl_khr_fp64
11996 #else
11997 void __ovld vstore_half2(float2 data, size_t offset, __global half *p);
11998 void __ovld vstore_half3(float3 data, size_t offset, __global half *p);
11999 void __ovld vstore_half4(float4 data, size_t offset, __global half *p);
12000 void __ovld vstore_half8(float8 data, size_t offset, __global half *p);
12001 void __ovld vstore_half16(float16 data, size_t offset, __global half *p);
12002 void __ovld vstore_half2_rte(float2 data, size_t offset, __global half *p);
12003 void __ovld vstore_half3_rte(float3 data, size_t offset, __global half *p);
12004 void __ovld vstore_half4_rte(float4 data, size_t offset, __global half *p);
12005 void __ovld vstore_half8_rte(float8 data, size_t offset, __global half *p);
12006 void __ovld vstore_half16_rte(float16 data, size_t offset, __global half *p);
12007 void __ovld vstore_half2_rtz(float2 data, size_t offset, __global half *p);
12008 void __ovld vstore_half3_rtz(float3 data, size_t offset, __global half *p);
12009 void __ovld vstore_half4_rtz(float4 data, size_t offset, __global half *p);
12010 void __ovld vstore_half8_rtz(float8 data, size_t offset, __global half *p);
12011 void __ovld vstore_half16_rtz(float16 data, size_t offset, __global half *p);
12012 void __ovld vstore_half2_rtp(float2 data, size_t offset, __global half *p);
12013 void __ovld vstore_half3_rtp(float3 data, size_t offset, __global half *p);
12014 void __ovld vstore_half4_rtp(float4 data, size_t offset, __global half *p);
12015 void __ovld vstore_half8_rtp(float8 data, size_t offset, __global half *p);
12016 void __ovld vstore_half16_rtp(float16 data, size_t offset, __global half *p);
12017 void __ovld vstore_half2_rtn(float2 data, size_t offset, __global half *p);
12018 void __ovld vstore_half3_rtn(float3 data, size_t offset, __global half *p);
12019 void __ovld vstore_half4_rtn(float4 data, size_t offset, __global half *p);
12020 void __ovld vstore_half8_rtn(float8 data, size_t offset, __global half *p);
12021 void __ovld vstore_half16_rtn(float16 data, size_t offset, __global half *p);
12022 void __ovld vstore_half2(float2 data, size_t offset, __local half *p);
12023 void __ovld vstore_half3(float3 data, size_t offset, __local half *p);
12024 void __ovld vstore_half4(float4 data, size_t offset, __local half *p);
12025 void __ovld vstore_half8(float8 data, size_t offset, __local half *p);
12026 void __ovld vstore_half16(float16 data, size_t offset, __local half *p);
12027 void __ovld vstore_half2_rte(float2 data, size_t offset, __local half *p);
12028 void __ovld vstore_half3_rte(float3 data, size_t offset, __local half *p);
12029 void __ovld vstore_half4_rte(float4 data, size_t offset, __local half *p);
12030 void __ovld vstore_half8_rte(float8 data, size_t offset, __local half *p);
12031 void __ovld vstore_half16_rte(float16 data, size_t offset, __local half *p);
12032 void __ovld vstore_half2_rtz(float2 data, size_t offset, __local half *p);
12033 void __ovld vstore_half3_rtz(float3 data, size_t offset, __local half *p);
12034 void __ovld vstore_half4_rtz(float4 data, size_t offset, __local half *p);
12035 void __ovld vstore_half8_rtz(float8 data, size_t offset, __local half *p);
12036 void __ovld vstore_half16_rtz(float16 data, size_t offset, __local half *p);
12037 void __ovld vstore_half2_rtp(float2 data, size_t offset, __local half *p);
12038 void __ovld vstore_half3_rtp(float3 data, size_t offset, __local half *p);
12039 void __ovld vstore_half4_rtp(float4 data, size_t offset, __local half *p);
12040 void __ovld vstore_half8_rtp(float8 data, size_t offset, __local half *p);
12041 void __ovld vstore_half16_rtp(float16 data, size_t offset, __local half *p);
12042 void __ovld vstore_half2_rtn(float2 data, size_t offset, __local half *p);
12043 void __ovld vstore_half3_rtn(float3 data, size_t offset, __local half *p);
12044 void __ovld vstore_half4_rtn(float4 data, size_t offset, __local half *p);
12045 void __ovld vstore_half8_rtn(float8 data, size_t offset, __local half *p);
12046 void __ovld vstore_half16_rtn(float16 data, size_t offset, __local half *p);
12047 void __ovld vstore_half2(float2 data, size_t offset, __private half *p);
12048 void __ovld vstore_half3(float3 data, size_t offset, __private half *p);
12049 void __ovld vstore_half4(float4 data, size_t offset, __private half *p);
12050 void __ovld vstore_half8(float8 data, size_t offset, __private half *p);
12051 void __ovld vstore_half16(float16 data, size_t offset, __private half *p);
12052 void __ovld vstore_half2_rte(float2 data, size_t offset, __private half *p);
12053 void __ovld vstore_half3_rte(float3 data, size_t offset, __private half *p);
12054 void __ovld vstore_half4_rte(float4 data, size_t offset, __private half *p);
12055 void __ovld vstore_half8_rte(float8 data, size_t offset, __private half *p);
12056 void __ovld vstore_half16_rte(float16 data, size_t offset, __private half *p);
12057 void __ovld vstore_half2_rtz(float2 data, size_t offset, __private half *p);
12058 void __ovld vstore_half3_rtz(float3 data, size_t offset, __private half *p);
12059 void __ovld vstore_half4_rtz(float4 data, size_t offset, __private half *p);
12060 void __ovld vstore_half8_rtz(float8 data, size_t offset, __private half *p);
12061 void __ovld vstore_half16_rtz(float16 data, size_t offset, __private half *p);
12062 void __ovld vstore_half2_rtp(float2 data, size_t offset, __private half *p);
12063 void __ovld vstore_half3_rtp(float3 data, size_t offset, __private half *p);
12064 void __ovld vstore_half4_rtp(float4 data, size_t offset, __private half *p);
12065 void __ovld vstore_half8_rtp(float8 data, size_t offset, __private half *p);
12066 void __ovld vstore_half16_rtp(float16 data, size_t offset, __private half *p);
12067 void __ovld vstore_half2_rtn(float2 data, size_t offset, __private half *p);
12068 void __ovld vstore_half3_rtn(float3 data, size_t offset, __private half *p);
12069 void __ovld vstore_half4_rtn(float4 data, size_t offset, __private half *p);
12070 void __ovld vstore_half8_rtn(float8 data, size_t offset, __private half *p);
12071 void __ovld vstore_half16_rtn(float16 data, size_t offset, __private half *p);
12072 #ifdef cl_khr_fp64
12073 void __ovld vstore_half2(double2 data, size_t offset, __global half *p);
12074 void __ovld vstore_half3(double3 data, size_t offset, __global half *p);
12075 void __ovld vstore_half4(double4 data, size_t offset, __global half *p);
12076 void __ovld vstore_half8(double8 data, size_t offset, __global half *p);
12077 void __ovld vstore_half16(double16 data, size_t offset, __global half *p);
12078 void __ovld vstore_half2_rte(double2 data, size_t offset, __global half *p);
12079 void __ovld vstore_half3_rte(double3 data, size_t offset, __global half *p);
12080 void __ovld vstore_half4_rte(double4 data, size_t offset, __global half *p);
12081 void __ovld vstore_half8_rte(double8 data, size_t offset, __global half *p);
12082 void __ovld vstore_half16_rte(double16 data, size_t offset, __global half *p);
12083 void __ovld vstore_half2_rtz(double2 data, size_t offset, __global half *p);
12084 void __ovld vstore_half3_rtz(double3 data, size_t offset, __global half *p);
12085 void __ovld vstore_half4_rtz(double4 data, size_t offset, __global half *p);
12086 void __ovld vstore_half8_rtz(double8 data, size_t offset, __global half *p);
12087 void __ovld vstore_half16_rtz(double16 data, size_t offset, __global half *p);
12088 void __ovld vstore_half2_rtp(double2 data, size_t offset, __global half *p);
12089 void __ovld vstore_half3_rtp(double3 data, size_t offset, __global half *p);
12090 void __ovld vstore_half4_rtp(double4 data, size_t offset, __global half *p);
12091 void __ovld vstore_half8_rtp(double8 data, size_t offset, __global half *p);
12092 void __ovld vstore_half16_rtp(double16 data, size_t offset, __global half *p);
12093 void __ovld vstore_half2_rtn(double2 data, size_t offset, __global half *p);
12094 void __ovld vstore_half3_rtn(double3 data, size_t offset, __global half *p);
12095 void __ovld vstore_half4_rtn(double4 data, size_t offset, __global half *p);
12096 void __ovld vstore_half8_rtn(double8 data, size_t offset, __global half *p);
12097 void __ovld vstore_half16_rtn(double16 data, size_t offset, __global half *p);
12098 void __ovld vstore_half2(double2 data, size_t offset, __local half *p);
12099 void __ovld vstore_half3(double3 data, size_t offset, __local half *p);
12100 void __ovld vstore_half4(double4 data, size_t offset, __local half *p);
12101 void __ovld vstore_half8(double8 data, size_t offset, __local half *p);
12102 void __ovld vstore_half16(double16 data, size_t offset, __local half *p);
12103 void __ovld vstore_half2_rte(double2 data, size_t offset, __local half *p);
12104 void __ovld vstore_half3_rte(double3 data, size_t offset, __local half *p);
12105 void __ovld vstore_half4_rte(double4 data, size_t offset, __local half *p);
12106 void __ovld vstore_half8_rte(double8 data, size_t offset, __local half *p);
12107 void __ovld vstore_half16_rte(double16 data, size_t offset, __local half *p);
12108 void __ovld vstore_half2_rtz(double2 data, size_t offset, __local half *p);
12109 void __ovld vstore_half3_rtz(double3 data, size_t offset, __local half *p);
12110 void __ovld vstore_half4_rtz(double4 data, size_t offset, __local half *p);
12111 void __ovld vstore_half8_rtz(double8 data, size_t offset, __local half *p);
12112 void __ovld vstore_half16_rtz(double16 data, size_t offset, __local half *p);
12113 void __ovld vstore_half2_rtp(double2 data, size_t offset, __local half *p);
12114 void __ovld vstore_half3_rtp(double3 data, size_t offset, __local half *p);
12115 void __ovld vstore_half4_rtp(double4 data, size_t offset, __local half *p);
12116 void __ovld vstore_half8_rtp(double8 data, size_t offset, __local half *p);
12117 void __ovld vstore_half16_rtp(double16 data, size_t offset, __local half *p);
12118 void __ovld vstore_half2_rtn(double2 data, size_t offset, __local half *p);
12119 void __ovld vstore_half3_rtn(double3 data, size_t offset, __local half *p);
12120 void __ovld vstore_half4_rtn(double4 data, size_t offset, __local half *p);
12121 void __ovld vstore_half8_rtn(double8 data, size_t offset, __local half *p);
12122 void __ovld vstore_half16_rtn(double16 data, size_t offset, __local half *p);
12123 void __ovld vstore_half2(double2 data, size_t offset, __private half *p);
12124 void __ovld vstore_half3(double3 data, size_t offset, __private half *p);
12125 void __ovld vstore_half4(double4 data, size_t offset, __private half *p);
12126 void __ovld vstore_half8(double8 data, size_t offset, __private half *p);
12127 void __ovld vstore_half16(double16 data, size_t offset, __private half *p);
12128 void __ovld vstore_half2_rte(double2 data, size_t offset, __private half *p);
12129 void __ovld vstore_half3_rte(double3 data, size_t offset, __private half *p);
12130 void __ovld vstore_half4_rte(double4 data, size_t offset, __private half *p);
12131 void __ovld vstore_half8_rte(double8 data, size_t offset, __private half *p);
12132 void __ovld vstore_half16_rte(double16 data, size_t offset, __private half *p);
12133 void __ovld vstore_half2_rtz(double2 data, size_t offset, __private half *p);
12134 void __ovld vstore_half3_rtz(double3 data, size_t offset, __private half *p);
12135 void __ovld vstore_half4_rtz(double4 data, size_t offset, __private half *p);
12136 void __ovld vstore_half8_rtz(double8 data, size_t offset, __private half *p);
12137 void __ovld vstore_half16_rtz(double16 data, size_t offset, __private half *p);
12138 void __ovld vstore_half2_rtp(double2 data, size_t offset, __private half *p);
12139 void __ovld vstore_half3_rtp(double3 data, size_t offset, __private half *p);
12140 void __ovld vstore_half4_rtp(double4 data, size_t offset, __private half *p);
12141 void __ovld vstore_half8_rtp(double8 data, size_t offset, __private half *p);
12142 void __ovld vstore_half16_rtp(double16 data, size_t offset, __private half *p);
12143 void __ovld vstore_half2_rtn(double2 data, size_t offset, __private half *p);
12144 void __ovld vstore_half3_rtn(double3 data, size_t offset, __private half *p);
12145 void __ovld vstore_half4_rtn(double4 data, size_t offset, __private half *p);
12146 void __ovld vstore_half8_rtn(double8 data, size_t offset, __private half *p);
12147 void __ovld vstore_half16_rtn(double16 data, size_t offset, __private half *p);
12148 #endif //cl_khr_fp64
12149 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
12150 
12164 float __ovld vloada_half(size_t offset, const __constant half *p);
12165 float2 __ovld vloada_half2(size_t offset, const __constant half *p);
12166 float3 __ovld vloada_half3(size_t offset, const __constant half *p);
12167 float4 __ovld vloada_half4(size_t offset, const __constant half *p);
12168 float8 __ovld vloada_half8(size_t offset, const __constant half *p);
12169 float16 __ovld vloada_half16(size_t offset, const __constant half *p);
12170 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
12171 float __ovld vloada_half(size_t offset, const half *p);
12172 float2 __ovld vloada_half2(size_t offset, const half *p);
12173 float3 __ovld vloada_half3(size_t offset, const half *p);
12174 float4 __ovld vloada_half4(size_t offset, const half *p);
12175 float8 __ovld vloada_half8(size_t offset, const half *p);
12176 float16 __ovld vloada_half16(size_t offset, const half *p);
12177 #else
12178 float __ovld vloada_half(size_t offset, const __global half *p);
12179 float2 __ovld vloada_half2(size_t offset, const __global half *p);
12180 float3 __ovld vloada_half3(size_t offset, const __global half *p);
12181 float4 __ovld vloada_half4(size_t offset, const __global half *p);
12182 float8 __ovld vloada_half8(size_t offset, const __global half *p);
12183 float16 __ovld vloada_half16(size_t offset, const __global half *p);
12184 float __ovld vloada_half(size_t offset, const __local half *p);
12185 float2 __ovld vloada_half2(size_t offset, const __local half *p);
12186 float3 __ovld vloada_half3(size_t offset, const __local half *p);
12187 float4 __ovld vloada_half4(size_t offset, const __local half *p);
12188 float8 __ovld vloada_half8(size_t offset, const __local half *p);
12189 float16 __ovld vloada_half16(size_t offset, const __local half *p);
12190 float __ovld vloada_half(size_t offset, const __private half *p);
12191 float2 __ovld vloada_half2(size_t offset, const __private half *p);
12192 float3 __ovld vloada_half3(size_t offset, const __private half *p);
12193 float4 __ovld vloada_half4(size_t offset, const __private half *p);
12194 float8 __ovld vloada_half8(size_t offset, const __private half *p);
12195 float16 __ovld vloada_half16(size_t offset, const __private half *p);
12196 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
12197 
12214 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
12215 void __ovld vstorea_half(float data, size_t offset, half *p);
12216 void __ovld vstorea_half2(float2 data, size_t offset, half *p);
12217 void __ovld vstorea_half3(float3 data, size_t offset, half *p);
12218 void __ovld vstorea_half4(float4 data, size_t offset, half *p);
12219 void __ovld vstorea_half8(float8 data, size_t offset, half *p);
12220 void __ovld vstorea_half16(float16 data, size_t offset, half *p);
12221 
12222 void __ovld vstorea_half_rte(float data, size_t offset, half *p);
12223 void __ovld vstorea_half2_rte(float2 data, size_t offset, half *p);
12224 void __ovld vstorea_half3_rte(float3 data, size_t offset, half *p);
12225 void __ovld vstorea_half4_rte(float4 data, size_t offset, half *p);
12226 void __ovld vstorea_half8_rte(float8 data, size_t offset, half *p);
12227 void __ovld vstorea_half16_rte(float16 data, size_t offset, half *p);
12228 
12229 void __ovld vstorea_half_rtz(float data, size_t offset, half *p);
12230 void __ovld vstorea_half2_rtz(float2 data, size_t offset, half *p);
12231 void __ovld vstorea_half3_rtz(float3 data, size_t offset, half *p);
12232 void __ovld vstorea_half4_rtz(float4 data, size_t offset, half *p);
12233 void __ovld vstorea_half8_rtz(float8 data, size_t offset, half *p);
12234 void __ovld vstorea_half16_rtz(float16 data, size_t offset, half *p);
12235 
12236 void __ovld vstorea_half_rtp(float data, size_t offset, half *p);
12237 void __ovld vstorea_half2_rtp(float2 data, size_t offset, half *p);
12238 void __ovld vstorea_half3_rtp(float3 data, size_t offset, half *p);
12239 void __ovld vstorea_half4_rtp(float4 data, size_t offset, half *p);
12240 void __ovld vstorea_half8_rtp(float8 data, size_t offset, half *p);
12241 void __ovld vstorea_half16_rtp(float16 data, size_t offset, half *p);
12242 
12243 void __ovld vstorea_half_rtn(float data, size_t offset, half *p);
12244 void __ovld vstorea_half2_rtn(float2 data, size_t offset, half *p);
12245 void __ovld vstorea_half3_rtn(float3 data, size_t offset, half *p);
12246 void __ovld vstorea_half4_rtn(float4 data, size_t offset, half *p);
12247 void __ovld vstorea_half8_rtn(float8 data, size_t offset, half *p);
12248 void __ovld vstorea_half16_rtn(float16 data, size_t offset, half *p);
12249 
12250 #ifdef cl_khr_fp64
12251 void __ovld vstorea_half(double data, size_t offset, half *p);
12252 void __ovld vstorea_half2(double2 data, size_t offset, half *p);
12253 void __ovld vstorea_half3(double3 data, size_t offset, half *p);
12254 void __ovld vstorea_half4(double4 data, size_t offset, half *p);
12255 void __ovld vstorea_half8(double8 data, size_t offset, half *p);
12256 void __ovld vstorea_half16(double16 data, size_t offset, half *p);
12257 
12258 void __ovld vstorea_half_rte(double data, size_t offset, half *p);
12259 void __ovld vstorea_half2_rte(double2 data, size_t offset, half *p);
12260 void __ovld vstorea_half3_rte(double3 data, size_t offset, half *p);
12261 void __ovld vstorea_half4_rte(double4 data, size_t offset, half *p);
12262 void __ovld vstorea_half8_rte(double8 data, size_t offset, half *p);
12263 void __ovld vstorea_half16_rte(double16 data, size_t offset, half *p);
12264 
12265 void __ovld vstorea_half_rtz(double data, size_t offset, half *p);
12266 void __ovld vstorea_half2_rtz(double2 data, size_t offset, half *p);
12267 void __ovld vstorea_half3_rtz(double3 data, size_t offset, half *p);
12268 void __ovld vstorea_half4_rtz(double4 data, size_t offset, half *p);
12269 void __ovld vstorea_half8_rtz(double8 data, size_t offset, half *p);
12270 void __ovld vstorea_half16_rtz(double16 data, size_t offset, half *p);
12271 
12272 void __ovld vstorea_half_rtp(double data, size_t offset, half *p);
12273 void __ovld vstorea_half2_rtp(double2 data, size_t offset, half *p);
12274 void __ovld vstorea_half3_rtp(double3 data, size_t offset, half *p);
12275 void __ovld vstorea_half4_rtp(double4 data, size_t offset, half *p);
12276 void __ovld vstorea_half8_rtp(double8 data, size_t offset, half *p);
12277 void __ovld vstorea_half16_rtp(double16 data, size_t offset, half *p);
12278 
12279 void __ovld vstorea_half_rtn(double data, size_t offset, half *p);
12280 void __ovld vstorea_half2_rtn(double2 data, size_t offset, half *p);
12281 void __ovld vstorea_half3_rtn(double3 data, size_t offset, half *p);
12282 void __ovld vstorea_half4_rtn(double4 data, size_t offset, half *p);
12283 void __ovld vstorea_half8_rtn(double8 data, size_t offset, half *p);
12284 void __ovld vstorea_half16_rtn(double16 data, size_t offset, half *p);
12285 #endif //cl_khr_fp64
12286 
12287 #else
12288 void __ovld vstorea_half(float data, size_t offset, __global half *p);
12289 void __ovld vstorea_half2(float2 data, size_t offset, __global half *p);
12290 void __ovld vstorea_half3(float3 data, size_t offset, __global half *p);
12291 void __ovld vstorea_half4(float4 data, size_t offset, __global half *p);
12292 void __ovld vstorea_half8(float8 data, size_t offset, __global half *p);
12293 void __ovld vstorea_half16(float16 data, size_t offset, __global half *p);
12294 
12295 void __ovld vstorea_half_rte(float data, size_t offset, __global half *p);
12296 void __ovld vstorea_half2_rte(float2 data, size_t offset, __global half *p);
12297 void __ovld vstorea_half3_rte(float3 data, size_t offset, __global half *p);
12298 void __ovld vstorea_half4_rte(float4 data, size_t offset, __global half *p);
12299 void __ovld vstorea_half8_rte(float8 data, size_t offset, __global half *p);
12300 void __ovld vstorea_half16_rte(float16 data, size_t offset, __global half *p);
12301 
12302 void __ovld vstorea_half_rtz(float data, size_t offset, __global half *p);
12303 void __ovld vstorea_half2_rtz(float2 data, size_t offset, __global half *p);
12304 void __ovld vstorea_half3_rtz(float3 data, size_t offset, __global half *p);
12305 void __ovld vstorea_half4_rtz(float4 data, size_t offset, __global half *p);
12306 void __ovld vstorea_half8_rtz(float8 data, size_t offset, __global half *p);
12307 void __ovld vstorea_half16_rtz(float16 data, size_t offset, __global half *p);
12308 
12309 void __ovld vstorea_half_rtp(float data, size_t offset, __global half *p);
12310 void __ovld vstorea_half2_rtp(float2 data, size_t offset, __global half *p);
12311 void __ovld vstorea_half3_rtp(float3 data, size_t offset, __global half *p);
12312 void __ovld vstorea_half4_rtp(float4 data, size_t offset, __global half *p);
12313 void __ovld vstorea_half8_rtp(float8 data, size_t offset, __global half *p);
12314 void __ovld vstorea_half16_rtp(float16 data, size_t offset, __global half *p);
12315 
12316 void __ovld vstorea_half_rtn(float data, size_t offset, __global half *p);
12317 void __ovld vstorea_half2_rtn(float2 data, size_t offset, __global half *p);
12318 void __ovld vstorea_half3_rtn(float3 data, size_t offset, __global half *p);
12319 void __ovld vstorea_half4_rtn(float4 data, size_t offset, __global half *p);
12320 void __ovld vstorea_half8_rtn(float8 data, size_t offset, __global half *p);
12321 void __ovld vstorea_half16_rtn(float16 data, size_t offset, __global half *p);
12322 
12323 void __ovld vstorea_half(float data, size_t offset, __local half *p);
12324 void __ovld vstorea_half2(float2 data, size_t offset, __local half *p);
12325 void __ovld vstorea_half3(float3 data, size_t offset, __local half *p);
12326 void __ovld vstorea_half4(float4 data, size_t offset, __local half *p);
12327 void __ovld vstorea_half8(float8 data, size_t offset, __local half *p);
12328 void __ovld vstorea_half16(float16 data, size_t offset, __local half *p);
12329 
12330 void __ovld vstorea_half_rte(float data, size_t offset, __local half *p);
12331 void __ovld vstorea_half2_rte(float2 data, size_t offset, __local half *p);
12332 void __ovld vstorea_half3_rte(float3 data, size_t offset, __local half *p);
12333 void __ovld vstorea_half4_rte(float4 data, size_t offset, __local half *p);
12334 void __ovld vstorea_half8_rte(float8 data, size_t offset, __local half *p);
12335 void __ovld vstorea_half16_rte(float16 data, size_t offset, __local half *p);
12336 
12337 void __ovld vstorea_half_rtz(float data, size_t offset, __local half *p);
12338 void __ovld vstorea_half2_rtz(float2 data, size_t offset, __local half *p);
12339 void __ovld vstorea_half3_rtz(float3 data, size_t offset, __local half *p);
12340 void __ovld vstorea_half4_rtz(float4 data, size_t offset, __local half *p);
12341 void __ovld vstorea_half8_rtz(float8 data, size_t offset, __local half *p);
12342 void __ovld vstorea_half16_rtz(float16 data, size_t offset, __local half *p);
12343 
12344 void __ovld vstorea_half_rtp(float data, size_t offset, __local half *p);
12345 void __ovld vstorea_half2_rtp(float2 data, size_t offset, __local half *p);
12346 void __ovld vstorea_half3_rtp(float3 data, size_t offset, __local half *p);
12347 void __ovld vstorea_half4_rtp(float4 data, size_t offset, __local half *p);
12348 void __ovld vstorea_half8_rtp(float8 data, size_t offset, __local half *p);
12349 void __ovld vstorea_half16_rtp(float16 data, size_t offset, __local half *p);
12350 
12351 void __ovld vstorea_half_rtn(float data, size_t offset, __local half *p);
12352 void __ovld vstorea_half2_rtn(float2 data, size_t offset, __local half *p);
12353 void __ovld vstorea_half3_rtn(float3 data, size_t offset, __local half *p);
12354 void __ovld vstorea_half4_rtn(float4 data, size_t offset, __local half *p);
12355 void __ovld vstorea_half8_rtn(float8 data, size_t offset, __local half *p);
12356 void __ovld vstorea_half16_rtn(float16 data, size_t offset, __local half *p);
12357 
12358 void __ovld vstorea_half(float data, size_t offset, __private half *p);
12359 void __ovld vstorea_half2(float2 data, size_t offset, __private half *p);
12360 void __ovld vstorea_half3(float3 data, size_t offset, __private half *p);
12361 void __ovld vstorea_half4(float4 data, size_t offset, __private half *p);
12362 void __ovld vstorea_half8(float8 data, size_t offset, __private half *p);
12363 void __ovld vstorea_half16(float16 data, size_t offset, __private half *p);
12364 
12365 void __ovld vstorea_half_rte(float data, size_t offset, __private half *p);
12366 void __ovld vstorea_half2_rte(float2 data, size_t offset, __private half *p);
12367 void __ovld vstorea_half3_rte(float3 data, size_t offset, __private half *p);
12368 void __ovld vstorea_half4_rte(float4 data, size_t offset, __private half *p);
12369 void __ovld vstorea_half8_rte(float8 data, size_t offset, __private half *p);
12370 void __ovld vstorea_half16_rte(float16 data, size_t offset, __private half *p);
12371 
12372 void __ovld vstorea_half_rtz(float data, size_t offset, __private half *p);
12373 void __ovld vstorea_half2_rtz(float2 data, size_t offset, __private half *p);
12374 void __ovld vstorea_half3_rtz(float3 data, size_t offset, __private half *p);
12375 void __ovld vstorea_half4_rtz(float4 data, size_t offset, __private half *p);
12376 void __ovld vstorea_half8_rtz(float8 data, size_t offset, __private half *p);
12377 void __ovld vstorea_half16_rtz(float16 data, size_t offset, __private half *p);
12378 
12379 void __ovld vstorea_half_rtp(float data, size_t offset, __private half *p);
12380 void __ovld vstorea_half2_rtp(float2 data, size_t offset, __private half *p);
12381 void __ovld vstorea_half3_rtp(float3 data, size_t offset, __private half *p);
12382 void __ovld vstorea_half4_rtp(float4 data, size_t offset, __private half *p);
12383 void __ovld vstorea_half8_rtp(float8 data, size_t offset, __private half *p);
12384 void __ovld vstorea_half16_rtp(float16 data, size_t offset, __private half *p);
12385 
12386 void __ovld vstorea_half_rtn(float data, size_t offset, __private half *p);
12387 void __ovld vstorea_half2_rtn(float2 data, size_t offset, __private half *p);
12388 void __ovld vstorea_half3_rtn(float3 data, size_t offset, __private half *p);
12389 void __ovld vstorea_half4_rtn(float4 data, size_t offset, __private half *p);
12390 void __ovld vstorea_half8_rtn(float8 data, size_t offset, __private half *p);
12391 void __ovld vstorea_half16_rtn(float16 data, size_t offset, __private half *p);
12392 
12393 #ifdef cl_khr_fp64
12394 void __ovld vstorea_half(double data, size_t offset, __global half *p);
12395 void __ovld vstorea_half2(double2 data, size_t offset, __global half *p);
12396 void __ovld vstorea_half3(double3 data, size_t offset, __global half *p);
12397 void __ovld vstorea_half4(double4 data, size_t offset, __global half *p);
12398 void __ovld vstorea_half8(double8 data, size_t offset, __global half *p);
12399 void __ovld vstorea_half16(double16 data, size_t offset, __global half *p);
12400 
12401 void __ovld vstorea_half_rte(double data, size_t offset, __global half *p);
12402 void __ovld vstorea_half2_rte(double2 data, size_t offset, __global half *p);
12403 void __ovld vstorea_half3_rte(double3 data, size_t offset, __global half *p);
12404 void __ovld vstorea_half4_rte(double4 data, size_t offset, __global half *p);
12405 void __ovld vstorea_half8_rte(double8 data, size_t offset, __global half *p);
12406 void __ovld vstorea_half16_rte(double16 data, size_t offset, __global half *p);
12407 
12408 void __ovld vstorea_half_rtz(double data, size_t offset, __global half *p);
12409 void __ovld vstorea_half2_rtz(double2 data, size_t offset, __global half *p);
12410 void __ovld vstorea_half3_rtz(double3 data, size_t offset, __global half *p);
12411 void __ovld vstorea_half4_rtz(double4 data, size_t offset, __global half *p);
12412 void __ovld vstorea_half8_rtz(double8 data, size_t offset, __global half *p);
12413 void __ovld vstorea_half16_rtz(double16 data, size_t offset, __global half *p);
12414 
12415 void __ovld vstorea_half_rtp(double data, size_t offset, __global half *p);
12416 void __ovld vstorea_half2_rtp(double2 data, size_t offset, __global half *p);
12417 void __ovld vstorea_half3_rtp(double3 data, size_t offset, __global half *p);
12418 void __ovld vstorea_half4_rtp(double4 data, size_t offset, __global half *p);
12419 void __ovld vstorea_half8_rtp(double8 data, size_t offset, __global half *p);
12420 void __ovld vstorea_half16_rtp(double16 data, size_t offset, __global half *p);
12421 
12422 void __ovld vstorea_half_rtn(double data, size_t offset, __global half *p);
12423 void __ovld vstorea_half2_rtn(double2 data, size_t offset, __global half *p);
12424 void __ovld vstorea_half3_rtn(double3 data, size_t offset, __global half *p);
12425 void __ovld vstorea_half4_rtn(double4 data, size_t offset, __global half *p);
12426 void __ovld vstorea_half8_rtn(double8 data, size_t offset, __global half *p);
12427 void __ovld vstorea_half16_rtn(double16 data, size_t offset, __global half *p);
12428 
12429 void __ovld vstorea_half(double data, size_t offset, __local half *p);
12430 void __ovld vstorea_half2(double2 data, size_t offset, __local half *p);
12431 void __ovld vstorea_half3(double3 data, size_t offset, __local half *p);
12432 void __ovld vstorea_half4(double4 data, size_t offset, __local half *p);
12433 void __ovld vstorea_half8(double8 data, size_t offset, __local half *p);
12434 void __ovld vstorea_half16(double16 data, size_t offset, __local half *p);
12435 
12436 void __ovld vstorea_half_rte(double data, size_t offset, __local half *p);
12437 void __ovld vstorea_half2_rte(double2 data, size_t offset, __local half *p);
12438 void __ovld vstorea_half3_rte(double3 data, size_t offset, __local half *p);
12439 void __ovld vstorea_half4_rte(double4 data, size_t offset, __local half *p);
12440 void __ovld vstorea_half8_rte(double8 data, size_t offset, __local half *p);
12441 void __ovld vstorea_half16_rte(double16 data, size_t offset, __local half *p);
12442 
12443 void __ovld vstorea_half_rtz(double data, size_t offset, __local half *p);
12444 void __ovld vstorea_half2_rtz(double2 data, size_t offset, __local half *p);
12445 void __ovld vstorea_half3_rtz(double3 data, size_t offset, __local half *p);
12446 void __ovld vstorea_half4_rtz(double4 data, size_t offset, __local half *p);
12447 void __ovld vstorea_half8_rtz(double8 data, size_t offset, __local half *p);
12448 void __ovld vstorea_half16_rtz(double16 data, size_t offset, __local half *p);
12449 
12450 void __ovld vstorea_half_rtp(double data, size_t offset, __local half *p);
12451 void __ovld vstorea_half2_rtp(double2 data, size_t offset, __local half *p);
12452 void __ovld vstorea_half3_rtp(double3 data, size_t offset, __local half *p);
12453 void __ovld vstorea_half4_rtp(double4 data, size_t offset, __local half *p);
12454 void __ovld vstorea_half8_rtp(double8 data, size_t offset, __local half *p);
12455 void __ovld vstorea_half16_rtp(double16 data, size_t offset, __local half *p);
12456 
12457 void __ovld vstorea_half_rtn(double data, size_t offset, __local half *p);
12458 void __ovld vstorea_half2_rtn(double2 data, size_t offset, __local half *p);
12459 void __ovld vstorea_half3_rtn(double3 data, size_t offset, __local half *p);
12460 void __ovld vstorea_half4_rtn(double4 data, size_t offset, __local half *p);
12461 void __ovld vstorea_half8_rtn(double8 data, size_t offset, __local half *p);
12462 void __ovld vstorea_half16_rtn(double16 data, size_t offset, __local half *p);
12463 
12464 void __ovld vstorea_half(double data, size_t offset, __private half *p);
12465 void __ovld vstorea_half2(double2 data, size_t offset, __private half *p);
12466 void __ovld vstorea_half3(double3 data, size_t offset, __private half *p);
12467 void __ovld vstorea_half4(double4 data, size_t offset, __private half *p);
12468 void __ovld vstorea_half8(double8 data, size_t offset, __private half *p);
12469 void __ovld vstorea_half16(double16 data, size_t offset, __private half *p);
12470 
12471 void __ovld vstorea_half_rte(double data, size_t offset, __private half *p);
12472 void __ovld vstorea_half2_rte(double2 data, size_t offset, __private half *p);
12473 void __ovld vstorea_half3_rte(double3 data, size_t offset, __private half *p);
12474 void __ovld vstorea_half4_rte(double4 data, size_t offset, __private half *p);
12475 void __ovld vstorea_half8_rte(double8 data, size_t offset, __private half *p);
12476 void __ovld vstorea_half16_rte(double16 data, size_t offset, __private half *p);
12477 
12478 void __ovld vstorea_half_rtz(double data, size_t offset, __private half *p);
12479 void __ovld vstorea_half2_rtz(double2 data, size_t offset, __private half *p);
12480 void __ovld vstorea_half3_rtz(double3 data, size_t offset, __private half *p);
12481 void __ovld vstorea_half4_rtz(double4 data, size_t offset, __private half *p);
12482 void __ovld vstorea_half8_rtz(double8 data, size_t offset, __private half *p);
12483 void __ovld vstorea_half16_rtz(double16 data, size_t offset, __private half *p);
12484 
12485 void __ovld vstorea_half_rtp(double data, size_t offset, __private half *p);
12486 void __ovld vstorea_half2_rtp(double2 data, size_t offset, __private half *p);
12487 void __ovld vstorea_half3_rtp(double3 data, size_t offset, __private half *p);
12488 void __ovld vstorea_half4_rtp(double4 data, size_t offset, __private half *p);
12489 void __ovld vstorea_half8_rtp(double8 data, size_t offset, __private half *p);
12490 void __ovld vstorea_half16_rtp(double16 data, size_t offset, __private half *p);
12491 
12492 void __ovld vstorea_half_rtn(double data, size_t offset, __private half *p);
12493 void __ovld vstorea_half2_rtn(double2 data,size_t offset, __private half *p);
12494 void __ovld vstorea_half3_rtn(double3 data,size_t offset, __private half *p);
12495 void __ovld vstorea_half4_rtn(double4 data,size_t offset, __private half *p);
12496 void __ovld vstorea_half8_rtn(double8 data,size_t offset, __private half *p);
12497 void __ovld vstorea_half16_rtn(double16 data,size_t offset, __private half *p);
12498 #endif //cl_khr_fp64
12499 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
12500 
12501 // OpenCL v1.1 s6.11.8, v1.2 s6.12.8, v2.0 s6.13.8 - Synchronization Functions
12502 
12534 
12535 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
12538 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
12539 
12540 // OpenCL v1.1 s6.11.9, v1.2 s6.12.9 - Explicit Memory Fence Functions
12541 
12556 
12568 
12580 
12581 // OpenCL v2.0 s6.13.9 - Address Space Qualifier Functions
12582 
12583 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
12586 
12594 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
12595 
12596 // OpenCL v1.1 s6.11.10, v1.2 s6.12.10, v2.0 s6.13.10 - Async Copies from Global to Local Memory, Local to Global Memory, and Prefetch
12597 
12625 event_t __ovld async_work_group_copy(__local char *dst, const __global char *src, size_t num_elements, event_t event);
12626 event_t __ovld async_work_group_copy(__local uchar *dst, const __global uchar *src, size_t num_elements, event_t event);
12627 event_t __ovld async_work_group_copy(__local short *dst, const __global short *src, size_t num_elements, event_t event);
12628 event_t __ovld async_work_group_copy(__local ushort *dst, const __global ushort *src, size_t num_elements, event_t event);
12629 event_t __ovld async_work_group_copy(__local int *dst, const __global int *src, size_t num_elements, event_t event);
12630 event_t __ovld async_work_group_copy(__local uint *dst, const __global uint *src, size_t num_elements, event_t event);
12631 event_t __ovld async_work_group_copy(__local long *dst, const __global long *src, size_t num_elements, event_t event);
12632 event_t __ovld async_work_group_copy(__local ulong *dst, const __global ulong *src, size_t num_elements, event_t event);
12633 event_t __ovld async_work_group_copy(__local float *dst, const __global float *src, size_t num_elements, event_t event);
12634 event_t __ovld async_work_group_copy(__local char2 *dst, const __global char2 *src, size_t num_elements, event_t event);
12635 event_t __ovld async_work_group_copy(__local uchar2 *dst, const __global uchar2 *src, size_t num_elements, event_t event);
12636 event_t __ovld async_work_group_copy(__local short2 *dst, const __global short2 *src, size_t num_elements, event_t event);
12637 event_t __ovld async_work_group_copy(__local ushort2 *dst, const __global ushort2 *src, size_t num_elements, event_t event);
12638 event_t __ovld async_work_group_copy(__local int2 *dst, const __global int2 *src, size_t num_elements, event_t event);
12639 event_t __ovld async_work_group_copy(__local uint2 *dst, const __global uint2 *src, size_t num_elements, event_t event);
12640 event_t __ovld async_work_group_copy(__local long2 *dst, const __global long2 *src, size_t num_elements, event_t event);
12641 event_t __ovld async_work_group_copy(__local ulong2 *dst, const __global ulong2 *src, size_t num_elements, event_t event);
12642 event_t __ovld async_work_group_copy(__local float2 *dst, const __global float2 *src, size_t num_elements, event_t event);
12643 event_t __ovld async_work_group_copy(__local char3 *dst, const __global char3 *src, size_t num_elements, event_t event);
12644 event_t __ovld async_work_group_copy(__local uchar3 *dst, const __global uchar3 *src, size_t num_elements, event_t event);
12645 event_t __ovld async_work_group_copy(__local short3 *dst, const __global short3 *src, size_t num_elements, event_t event);
12646 event_t __ovld async_work_group_copy(__local ushort3 *dst, const __global ushort3 *src, size_t num_elements, event_t event);
12647 event_t __ovld async_work_group_copy(__local int3 *dst, const __global int3 *src, size_t num_elements, event_t event);
12648 event_t __ovld async_work_group_copy(__local uint3 *dst, const __global uint3 *src, size_t num_elements, event_t event);
12649 event_t __ovld async_work_group_copy(__local long3 *dst, const __global long3 *src, size_t num_elements, event_t event);
12650 event_t __ovld async_work_group_copy(__local ulong3 *dst, const __global ulong3 *src, size_t num_elements, event_t event);
12651 event_t __ovld async_work_group_copy(__local float3 *dst, const __global float3 *src, size_t num_elements, event_t event);
12652 event_t __ovld async_work_group_copy(__local char4 *dst, const __global char4 *src, size_t num_elements, event_t event);
12653 event_t __ovld async_work_group_copy(__local uchar4 *dst, const __global uchar4 *src, size_t num_elements, event_t event);
12654 event_t __ovld async_work_group_copy(__local short4 *dst, const __global short4 *src, size_t num_elements, event_t event);
12655 event_t __ovld async_work_group_copy(__local ushort4 *dst, const __global ushort4 *src, size_t num_elements, event_t event);
12656 event_t __ovld async_work_group_copy(__local int4 *dst, const __global int4 *src, size_t num_elements, event_t event);
12657 event_t __ovld async_work_group_copy(__local uint4 *dst, const __global uint4 *src, size_t num_elements, event_t event);
12658 event_t __ovld async_work_group_copy(__local long4 *dst, const __global long4 *src, size_t num_elements, event_t event);
12659 event_t __ovld async_work_group_copy(__local ulong4 *dst, const __global ulong4 *src, size_t num_elements, event_t event);
12660 event_t __ovld async_work_group_copy(__local float4 *dst, const __global float4 *src, size_t num_elements, event_t event);
12661 event_t __ovld async_work_group_copy(__local char8 *dst, const __global char8 *src, size_t num_elements, event_t event);
12662 event_t __ovld async_work_group_copy(__local uchar8 *dst, const __global uchar8 *src, size_t num_elements, event_t event);
12663 event_t __ovld async_work_group_copy(__local short8 *dst, const __global short8 *src, size_t num_elements, event_t event);
12664 event_t __ovld async_work_group_copy(__local ushort8 *dst, const __global ushort8 *src, size_t num_elements, event_t event);
12665 event_t __ovld async_work_group_copy(__local int8 *dst, const __global int8 *src, size_t num_elements, event_t event);
12666 event_t __ovld async_work_group_copy(__local uint8 *dst, const __global uint8 *src, size_t num_elements, event_t event);
12667 event_t __ovld async_work_group_copy(__local long8 *dst, const __global long8 *src, size_t num_elements, event_t event);
12668 event_t __ovld async_work_group_copy(__local ulong8 *dst, const __global ulong8 *src, size_t num_elements, event_t event);
12669 event_t __ovld async_work_group_copy(__local float8 *dst, const __global float8 *src, size_t num_elements, event_t event);
12670 event_t __ovld async_work_group_copy(__local char16 *dst, const __global char16 *src, size_t num_elements, event_t event);
12671 event_t __ovld async_work_group_copy(__local uchar16 *dst, const __global uchar16 *src, size_t num_elements, event_t event);
12672 event_t __ovld async_work_group_copy(__local short16 *dst, const __global short16 *src, size_t num_elements, event_t event);
12673 event_t __ovld async_work_group_copy(__local ushort16 *dst, const __global ushort16 *src, size_t num_elements, event_t event);
12674 event_t __ovld async_work_group_copy(__local int16 *dst, const __global int16 *src, size_t num_elements, event_t event);
12675 event_t __ovld async_work_group_copy(__local uint16 *dst, const __global uint16 *src, size_t num_elements, event_t event);
12676 event_t __ovld async_work_group_copy(__local long16 *dst, const __global long16 *src, size_t num_elements, event_t event);
12677 event_t __ovld async_work_group_copy(__local ulong16 *dst, const __global ulong16 *src, size_t num_elements, event_t event);
12678 event_t __ovld async_work_group_copy(__local float16 *dst, const __global float16 *src, size_t num_elements, event_t event);
12679 event_t __ovld async_work_group_copy(__global char *dst, const __local char *src, size_t num_elements, event_t event);
12680 event_t __ovld async_work_group_copy(__global uchar *dst, const __local uchar *src, size_t num_elements, event_t event);
12681 event_t __ovld async_work_group_copy(__global short *dst, const __local short *src, size_t num_elements, event_t event);
12682 event_t __ovld async_work_group_copy(__global ushort *dst, const __local ushort *src, size_t num_elements, event_t event);
12683 event_t __ovld async_work_group_copy(__global int *dst, const __local int *src, size_t num_elements, event_t event);
12684 event_t __ovld async_work_group_copy(__global uint *dst, const __local uint *src, size_t num_elements, event_t event);
12685 event_t __ovld async_work_group_copy(__global long *dst, const __local long *src, size_t num_elements, event_t event);
12686 event_t __ovld async_work_group_copy(__global ulong *dst, const __local ulong *src, size_t num_elements, event_t event);
12687 event_t __ovld async_work_group_copy(__global float *dst, const __local float *src, size_t num_elements, event_t event);
12688 event_t __ovld async_work_group_copy(__global char2 *dst, const __local char2 *src, size_t num_elements, event_t event);
12689 event_t __ovld async_work_group_copy(__global uchar2 *dst, const __local uchar2 *src, size_t num_elements, event_t event);
12690 event_t __ovld async_work_group_copy(__global short2 *dst, const __local short2 *src, size_t num_elements, event_t event);
12691 event_t __ovld async_work_group_copy(__global ushort2 *dst, const __local ushort2 *src, size_t num_elements, event_t event);
12692 event_t __ovld async_work_group_copy(__global int2 *dst, const __local int2 *src, size_t num_elements, event_t event);
12693 event_t __ovld async_work_group_copy(__global uint2 *dst, const __local uint2 *src, size_t num_elements, event_t event);
12694 event_t __ovld async_work_group_copy(__global long2 *dst, const __local long2 *src, size_t num_elements, event_t event);
12695 event_t __ovld async_work_group_copy(__global ulong2 *dst, const __local ulong2 *src, size_t num_elements, event_t event);
12696 event_t __ovld async_work_group_copy(__global float2 *dst, const __local float2 *src, size_t num_elements, event_t event);
12697 event_t __ovld async_work_group_copy(__global char3 *dst, const __local char3 *src, size_t num_elements, event_t event);
12698 event_t __ovld async_work_group_copy(__global uchar3 *dst, const __local uchar3 *src, size_t num_elements, event_t event);
12699 event_t __ovld async_work_group_copy(__global short3 *dst, const __local short3 *src, size_t num_elements, event_t event);
12700 event_t __ovld async_work_group_copy(__global ushort3 *dst, const __local ushort3 *src, size_t num_elements, event_t event);
12701 event_t __ovld async_work_group_copy(__global int3 *dst, const __local int3 *src, size_t num_elements, event_t event);
12702 event_t __ovld async_work_group_copy(__global uint3 *dst, const __local uint3 *src, size_t num_elements, event_t event);
12703 event_t __ovld async_work_group_copy(__global long3 *dst, const __local long3 *src, size_t num_elements, event_t event);
12704 event_t __ovld async_work_group_copy(__global ulong3 *dst, const __local ulong3 *src, size_t num_elements, event_t event);
12705 event_t __ovld async_work_group_copy(__global float3 *dst, const __local float3 *src, size_t num_elements, event_t event);
12706 event_t __ovld async_work_group_copy(__global char4 *dst, const __local char4 *src, size_t num_elements, event_t event);
12707 event_t __ovld async_work_group_copy(__global uchar4 *dst, const __local uchar4 *src, size_t num_elements, event_t event);
12708 event_t __ovld async_work_group_copy(__global short4 *dst, const __local short4 *src, size_t num_elements, event_t event);
12709 event_t __ovld async_work_group_copy(__global ushort4 *dst, const __local ushort4 *src, size_t num_elements, event_t event);
12710 event_t __ovld async_work_group_copy(__global int4 *dst, const __local int4 *src, size_t num_elements, event_t event);
12711 event_t __ovld async_work_group_copy(__global uint4 *dst, const __local uint4 *src, size_t num_elements, event_t event);
12712 event_t __ovld async_work_group_copy(__global long4 *dst, const __local long4 *src, size_t num_elements, event_t event);
12713 event_t __ovld async_work_group_copy(__global ulong4 *dst, const __local ulong4 *src, size_t num_elements, event_t event);
12714 event_t __ovld async_work_group_copy(__global float4 *dst, const __local float4 *src, size_t num_elements, event_t event);
12715 event_t __ovld async_work_group_copy(__global char8 *dst, const __local char8 *src, size_t num_elements, event_t event);
12716 event_t __ovld async_work_group_copy(__global uchar8 *dst, const __local uchar8 *src, size_t num_elements, event_t event);
12717 event_t __ovld async_work_group_copy(__global short8 *dst, const __local short8 *src, size_t num_elements, event_t event);
12718 event_t __ovld async_work_group_copy(__global ushort8 *dst, const __local ushort8 *src, size_t num_elements, event_t event);
12719 event_t __ovld async_work_group_copy(__global int8 *dst, const __local int8 *src, size_t num_elements, event_t event);
12720 event_t __ovld async_work_group_copy(__global uint8 *dst, const __local uint8 *src, size_t num_elements, event_t event);
12721 event_t __ovld async_work_group_copy(__global long8 *dst, const __local long8 *src, size_t num_elements, event_t event);
12722 event_t __ovld async_work_group_copy(__global ulong8 *dst, const __local ulong8 *src, size_t num_elements, event_t event);
12723 event_t __ovld async_work_group_copy(__global float8 *dst, const __local float8 *src, size_t num_elements, event_t event);
12724 event_t __ovld async_work_group_copy(__global char16 *dst, const __local char16 *src, size_t num_elements, event_t event);
12725 event_t __ovld async_work_group_copy(__global uchar16 *dst, const __local uchar16 *src, size_t num_elements, event_t event);
12726 event_t __ovld async_work_group_copy(__global short16 *dst, const __local short16 *src, size_t num_elements, event_t event);
12727 event_t __ovld async_work_group_copy(__global ushort16 *dst, const __local ushort16 *src, size_t num_elements, event_t event);
12728 event_t __ovld async_work_group_copy(__global int16 *dst, const __local int16 *src, size_t num_elements, event_t event);
12729 event_t __ovld async_work_group_copy(__global uint16 *dst, const __local uint16 *src, size_t num_elements, event_t event);
12730 event_t __ovld async_work_group_copy(__global long16 *dst, const __local long16 *src, size_t num_elements, event_t event);
12731 event_t __ovld async_work_group_copy(__global ulong16 *dst, const __local ulong16 *src, size_t num_elements, event_t event);
12732 event_t __ovld async_work_group_copy(__global float16 *dst, const __local float16 *src, size_t num_elements, event_t event);
12733 #ifdef cl_khr_fp64
12734 event_t __ovld async_work_group_copy(__local double *dst, const __global double *src, size_t num_elements, event_t event);
12735 event_t __ovld async_work_group_copy(__local double2 *dst, const __global double2 *src, size_t num_elements, event_t event);
12736 event_t __ovld async_work_group_copy(__local double3 *dst, const __global double3 *src, size_t num_elements, event_t event);
12737 event_t __ovld async_work_group_copy(__local double4 *dst, const __global double4 *src, size_t num_elements, event_t event);
12738 event_t __ovld async_work_group_copy(__local double8 *dst, const __global double8 *src, size_t num_elements, event_t event);
12739 event_t __ovld async_work_group_copy(__local double16 *dst, const __global double16 *src, size_t num_elements, event_t event);
12740 event_t __ovld async_work_group_copy(__global double *dst, const __local double *src, size_t num_elements, event_t event);
12741 event_t __ovld async_work_group_copy(__global double2 *dst, const __local double2 *src, size_t num_elements, event_t event);
12742 event_t __ovld async_work_group_copy(__global double3 *dst, const __local double3 *src, size_t num_elements, event_t event);
12743 event_t __ovld async_work_group_copy(__global double4 *dst, const __local double4 *src, size_t num_elements, event_t event);
12744 event_t __ovld async_work_group_copy(__global double8 *dst, const __local double8 *src, size_t num_elements, event_t event);
12745 event_t __ovld async_work_group_copy(__global double16 *dst, const __local double16 *src, size_t num_elements, event_t event);
12746 #endif //cl_khr_fp64
12747 #ifdef cl_khr_fp16
12748 event_t __ovld async_work_group_copy(__local half *dst, const __global half *src, size_t num_elements, event_t event);
12749 event_t __ovld async_work_group_copy(__local half2 *dst, const __global half2 *src, size_t num_elements, event_t event);
12750 event_t __ovld async_work_group_copy(__local half3 *dst, const __global half3 *src, size_t num_elements, event_t event);
12751 event_t __ovld async_work_group_copy(__local half4 *dst, const __global half4 *src, size_t num_elements, event_t event);
12752 event_t __ovld async_work_group_copy(__local half8 *dst, const __global half8 *src, size_t num_elements, event_t event);
12753 event_t __ovld async_work_group_copy(__local half16 *dst, const __global half16 *src, size_t num_elements, event_t event);
12754 event_t __ovld async_work_group_copy(__global half *dst, const __local half *src, size_t num_elements, event_t event);
12755 event_t __ovld async_work_group_copy(__global half2 *dst, const __local half2 *src, size_t num_elements, event_t event);
12756 event_t __ovld async_work_group_copy(__global half3 *dst, const __local half3 *src, size_t num_elements, event_t event);
12757 event_t __ovld async_work_group_copy(__global half4 *dst, const __local half4 *src, size_t num_elements, event_t event);
12758 event_t __ovld async_work_group_copy(__global half8 *dst, const __local half8 *src, size_t num_elements, event_t event);
12759 event_t __ovld async_work_group_copy(__global half16 *dst, const __local half16 *src, size_t num_elements, event_t event);
12760 #endif //cl_khr_fp16
12761 
12788 event_t __ovld async_work_group_strided_copy(__local char *dst, const __global char *src, size_t num_elements, size_t src_stride, event_t event);
12789 event_t __ovld async_work_group_strided_copy(__local uchar *dst, const __global uchar *src, size_t num_elements, size_t src_stride, event_t event);
12790 event_t __ovld async_work_group_strided_copy(__local short *dst, const __global short *src, size_t num_elements, size_t src_stride, event_t event);
12791 event_t __ovld async_work_group_strided_copy(__local ushort *dst, const __global ushort *src, size_t num_elements, size_t src_stride, event_t event);
12792 event_t __ovld async_work_group_strided_copy(__local int *dst, const __global int *src, size_t num_elements, size_t src_stride, event_t event);
12793 event_t __ovld async_work_group_strided_copy(__local uint *dst, const __global uint *src, size_t num_elements, size_t src_stride, event_t event);
12794 event_t __ovld async_work_group_strided_copy(__local long *dst, const __global long *src, size_t num_elements, size_t src_stride, event_t event);
12795 event_t __ovld async_work_group_strided_copy(__local ulong *dst, const __global ulong *src, size_t num_elements, size_t src_stride, event_t event);
12796 event_t __ovld async_work_group_strided_copy(__local float *dst, const __global float *src, size_t num_elements, size_t src_stride, event_t event);
12797 event_t __ovld async_work_group_strided_copy(__local char2 *dst, const __global char2 *src, size_t num_elements, size_t src_stride, event_t event);
12798 event_t __ovld async_work_group_strided_copy(__local uchar2 *dst, const __global uchar2 *src, size_t num_elements, size_t src_stride, event_t event);
12799 event_t __ovld async_work_group_strided_copy(__local short2 *dst, const __global short2 *src, size_t num_elements, size_t src_stride, event_t event);
12800 event_t __ovld async_work_group_strided_copy(__local ushort2 *dst, const __global ushort2 *src, size_t num_elements, size_t src_stride, event_t event);
12801 event_t __ovld async_work_group_strided_copy(__local int2 *dst, const __global int2 *src, size_t num_elements, size_t src_stride, event_t event);
12802 event_t __ovld async_work_group_strided_copy(__local uint2 *dst, const __global uint2 *src, size_t num_elements, size_t src_stride, event_t event);
12803 event_t __ovld async_work_group_strided_copy(__local long2 *dst, const __global long2 *src, size_t num_elements, size_t src_stride, event_t event);
12804 event_t __ovld async_work_group_strided_copy(__local ulong2 *dst, const __global ulong2 *src, size_t num_elements, size_t src_stride, event_t event);
12805 event_t __ovld async_work_group_strided_copy(__local float2 *dst, const __global float2 *src, size_t num_elements, size_t src_stride, event_t event);
12806 event_t __ovld async_work_group_strided_copy(__local char3 *dst, const __global char3 *src, size_t num_elements, size_t src_stride, event_t event);
12807 event_t __ovld async_work_group_strided_copy(__local uchar3 *dst, const __global uchar3 *src, size_t num_elements, size_t src_stride, event_t event);
12808 event_t __ovld async_work_group_strided_copy(__local short3 *dst, const __global short3 *src, size_t num_elements, size_t src_stride, event_t event);
12809 event_t __ovld async_work_group_strided_copy(__local ushort3 *dst, const __global ushort3 *src, size_t num_elements, size_t src_stride, event_t event);
12810 event_t __ovld async_work_group_strided_copy(__local int3 *dst, const __global int3 *src, size_t num_elements, size_t src_stride, event_t event);
12811 event_t __ovld async_work_group_strided_copy(__local uint3 *dst, const __global uint3 *src, size_t num_elements, size_t src_stride, event_t event);
12812 event_t __ovld async_work_group_strided_copy(__local long3 *dst, const __global long3 *src, size_t num_elements, size_t src_stride, event_t event);
12813 event_t __ovld async_work_group_strided_copy(__local ulong3 *dst, const __global ulong3 *src, size_t num_elements, size_t src_stride, event_t event);
12814 event_t __ovld async_work_group_strided_copy(__local float3 *dst, const __global float3 *src, size_t num_elements, size_t src_stride, event_t event);
12815 event_t __ovld async_work_group_strided_copy(__local char4 *dst, const __global char4 *src, size_t num_elements, size_t src_stride, event_t event);
12816 event_t __ovld async_work_group_strided_copy(__local uchar4 *dst, const __global uchar4 *src, size_t num_elements, size_t src_stride, event_t event);
12817 event_t __ovld async_work_group_strided_copy(__local short4 *dst, const __global short4 *src, size_t num_elements, size_t src_stride, event_t event);
12818 event_t __ovld async_work_group_strided_copy(__local ushort4 *dst, const __global ushort4 *src, size_t num_elements, size_t src_stride, event_t event);
12819 event_t __ovld async_work_group_strided_copy(__local int4 *dst, const __global int4 *src, size_t num_elements, size_t src_stride, event_t event);
12820 event_t __ovld async_work_group_strided_copy(__local uint4 *dst, const __global uint4 *src, size_t num_elements, size_t src_stride, event_t event);
12821 event_t __ovld async_work_group_strided_copy(__local long4 *dst, const __global long4 *src, size_t num_elements, size_t src_stride, event_t event);
12822 event_t __ovld async_work_group_strided_copy(__local ulong4 *dst, const __global ulong4 *src, size_t num_elements, size_t src_stride, event_t event);
12823 event_t __ovld async_work_group_strided_copy(__local float4 *dst, const __global float4 *src, size_t num_elements, size_t src_stride, event_t event);
12824 event_t __ovld async_work_group_strided_copy(__local char8 *dst, const __global char8 *src, size_t num_elements, size_t src_stride, event_t event);
12825 event_t __ovld async_work_group_strided_copy(__local uchar8 *dst, const __global uchar8 *src, size_t num_elements, size_t src_stride, event_t event);
12826 event_t __ovld async_work_group_strided_copy(__local short8 *dst, const __global short8 *src, size_t num_elements, size_t src_stride, event_t event);
12827 event_t __ovld async_work_group_strided_copy(__local ushort8 *dst, const __global ushort8 *src, size_t num_elements, size_t src_stride, event_t event);
12828 event_t __ovld async_work_group_strided_copy(__local int8 *dst, const __global int8 *src, size_t num_elements, size_t src_stride, event_t event);
12829 event_t __ovld async_work_group_strided_copy(__local uint8 *dst, const __global uint8 *src, size_t num_elements, size_t src_stride, event_t event);
12830 event_t __ovld async_work_group_strided_copy(__local long8 *dst, const __global long8 *src, size_t num_elements, size_t src_stride, event_t event);
12831 event_t __ovld async_work_group_strided_copy(__local ulong8 *dst, const __global ulong8 *src, size_t num_elements, size_t src_stride, event_t event);
12832 event_t __ovld async_work_group_strided_copy(__local float8 *dst, const __global float8 *src, size_t num_elements, size_t src_stride, event_t event);
12833 event_t __ovld async_work_group_strided_copy(__local char16 *dst, const __global char16 *src, size_t num_elements, size_t src_stride, event_t event);
12834 event_t __ovld async_work_group_strided_copy(__local uchar16 *dst, const __global uchar16 *src, size_t num_elements, size_t src_stride, event_t event);
12835 event_t __ovld async_work_group_strided_copy(__local short16 *dst, const __global short16 *src, size_t num_elements, size_t src_stride, event_t event);
12836 event_t __ovld async_work_group_strided_copy(__local ushort16 *dst, const __global ushort16 *src, size_t num_elements, size_t src_stride, event_t event);
12837 event_t __ovld async_work_group_strided_copy(__local int16 *dst, const __global int16 *src, size_t num_elements, size_t src_stride, event_t event);
12838 event_t __ovld async_work_group_strided_copy(__local uint16 *dst, const __global uint16 *src, size_t num_elements, size_t src_stride, event_t event);
12839 event_t __ovld async_work_group_strided_copy(__local long16 *dst, const __global long16 *src, size_t num_elements, size_t src_stride, event_t event);
12840 event_t __ovld async_work_group_strided_copy(__local ulong16 *dst, const __global ulong16 *src, size_t num_elements, size_t src_stride, event_t event);
12841 event_t __ovld async_work_group_strided_copy(__local float16 *dst, const __global float16 *src, size_t num_elements, size_t src_stride, event_t event);
12842 event_t __ovld async_work_group_strided_copy(__global char *dst, const __local char *src, size_t num_elements, size_t dst_stride, event_t event);
12843 event_t __ovld async_work_group_strided_copy(__global uchar *dst, const __local uchar *src, size_t num_elements, size_t dst_stride, event_t event);
12844 event_t __ovld async_work_group_strided_copy(__global short *dst, const __local short *src, size_t num_elements, size_t dst_stride, event_t event);
12845 event_t __ovld async_work_group_strided_copy(__global ushort *dst, const __local ushort *src, size_t num_elements, size_t dst_stride, event_t event);
12846 event_t __ovld async_work_group_strided_copy(__global int *dst, const __local int *src, size_t num_elements, size_t dst_stride, event_t event);
12847 event_t __ovld async_work_group_strided_copy(__global uint *dst, const __local uint *src, size_t num_elements, size_t dst_stride, event_t event);
12848 event_t __ovld async_work_group_strided_copy(__global long *dst, const __local long *src, size_t num_elements, size_t dst_stride, event_t event);
12849 event_t __ovld async_work_group_strided_copy(__global ulong *dst, const __local ulong *src, size_t num_elements, size_t dst_stride, event_t event);
12850 event_t __ovld async_work_group_strided_copy(__global float *dst, const __local float *src, size_t num_elements, size_t dst_stride, event_t event);
12851 event_t __ovld async_work_group_strided_copy(__global char2 *dst, const __local char2 *src, size_t num_elements, size_t dst_stride, event_t event);
12852 event_t __ovld async_work_group_strided_copy(__global uchar2 *dst, const __local uchar2 *src, size_t num_elements, size_t dst_stride, event_t event);
12853 event_t __ovld async_work_group_strided_copy(__global short2 *dst, const __local short2 *src, size_t num_elements, size_t dst_stride, event_t event);
12854 event_t __ovld async_work_group_strided_copy(__global ushort2 *dst, const __local ushort2 *src, size_t num_elements, size_t dst_stride, event_t event);
12855 event_t __ovld async_work_group_strided_copy(__global int2 *dst, const __local int2 *src, size_t num_elements, size_t dst_stride, event_t event);
12856 event_t __ovld async_work_group_strided_copy(__global uint2 *dst, const __local uint2 *src, size_t num_elements, size_t dst_stride, event_t event);
12857 event_t __ovld async_work_group_strided_copy(__global long2 *dst, const __local long2 *src, size_t num_elements, size_t dst_stride, event_t event);
12858 event_t __ovld async_work_group_strided_copy(__global ulong2 *dst, const __local ulong2 *src, size_t num_elements, size_t dst_stride, event_t event);
12859 event_t __ovld async_work_group_strided_copy(__global float2 *dst, const __local float2 *src, size_t num_elements, size_t dst_stride, event_t event);
12860 event_t __ovld async_work_group_strided_copy(__global char3 *dst, const __local char3 *src, size_t num_elements, size_t dst_stride, event_t event);
12861 event_t __ovld async_work_group_strided_copy(__global uchar3 *dst, const __local uchar3 *src, size_t num_elements, size_t dst_stride, event_t event);
12862 event_t __ovld async_work_group_strided_copy(__global short3 *dst, const __local short3 *src, size_t num_elements, size_t dst_stride, event_t event);
12863 event_t __ovld async_work_group_strided_copy(__global ushort3 *dst, const __local ushort3 *src, size_t num_elements, size_t dst_stride, event_t event);
12864 event_t __ovld async_work_group_strided_copy(__global int3 *dst, const __local int3 *src, size_t num_elements, size_t dst_stride, event_t event);
12865 event_t __ovld async_work_group_strided_copy(__global uint3 *dst, const __local uint3 *src, size_t num_elements, size_t dst_stride, event_t event);
12866 event_t __ovld async_work_group_strided_copy(__global long3 *dst, const __local long3 *src, size_t num_elements, size_t dst_stride, event_t event);
12867 event_t __ovld async_work_group_strided_copy(__global ulong3 *dst, const __local ulong3 *src, size_t num_elements, size_t dst_stride, event_t event);
12868 event_t __ovld async_work_group_strided_copy(__global float3 *dst, const __local float3 *src, size_t num_elements, size_t dst_stride, event_t event);
12869 event_t __ovld async_work_group_strided_copy(__global char4 *dst, const __local char4 *src, size_t num_elements, size_t dst_stride, event_t event);
12870 event_t __ovld async_work_group_strided_copy(__global uchar4 *dst, const __local uchar4 *src, size_t num_elements, size_t dst_stride, event_t event);
12871 event_t __ovld async_work_group_strided_copy(__global short4 *dst, const __local short4 *src, size_t num_elements, size_t dst_stride, event_t event);
12872 event_t __ovld async_work_group_strided_copy(__global ushort4 *dst, const __local ushort4 *src, size_t num_elements, size_t dst_stride, event_t event);
12873 event_t __ovld async_work_group_strided_copy(__global int4 *dst, const __local int4 *src, size_t num_elements, size_t dst_stride, event_t event);
12874 event_t __ovld async_work_group_strided_copy(__global uint4 *dst, const __local uint4 *src, size_t num_elements, size_t dst_stride, event_t event);
12875 event_t __ovld async_work_group_strided_copy(__global long4 *dst, const __local long4 *src, size_t num_elements, size_t dst_stride, event_t event);
12876 event_t __ovld async_work_group_strided_copy(__global ulong4 *dst, const __local ulong4 *src, size_t num_elements, size_t dst_stride, event_t event);
12877 event_t __ovld async_work_group_strided_copy(__global float4 *dst, const __local float4 *src, size_t num_elements, size_t dst_stride, event_t event);
12878 event_t __ovld async_work_group_strided_copy(__global char8 *dst, const __local char8 *src, size_t num_elements, size_t dst_stride, event_t event);
12879 event_t __ovld async_work_group_strided_copy(__global uchar8 *dst, const __local uchar8 *src, size_t num_elements, size_t dst_stride, event_t event);
12880 event_t __ovld async_work_group_strided_copy(__global short8 *dst, const __local short8 *src, size_t num_elements, size_t dst_stride, event_t event);
12881 event_t __ovld async_work_group_strided_copy(__global ushort8 *dst, const __local ushort8 *src, size_t num_elements, size_t dst_stride, event_t event);
12882 event_t __ovld async_work_group_strided_copy(__global int8 *dst, const __local int8 *src, size_t num_elements, size_t dst_stride, event_t event);
12883 event_t __ovld async_work_group_strided_copy(__global uint8 *dst, const __local uint8 *src, size_t num_elements, size_t dst_stride, event_t event);
12884 event_t __ovld async_work_group_strided_copy(__global long8 *dst, const __local long8 *src, size_t num_elements, size_t dst_stride, event_t event);
12885 event_t __ovld async_work_group_strided_copy(__global ulong8 *dst, const __local ulong8 *src, size_t num_elements, size_t dst_stride, event_t event);
12886 event_t __ovld async_work_group_strided_copy(__global float8 *dst, const __local float8 *src, size_t num_elements, size_t dst_stride, event_t event);
12887 event_t __ovld async_work_group_strided_copy(__global char16 *dst, const __local char16 *src, size_t num_elements, size_t dst_stride, event_t event);
12888 event_t __ovld async_work_group_strided_copy(__global uchar16 *dst, const __local uchar16 *src, size_t num_elements, size_t dst_stride, event_t event);
12889 event_t __ovld async_work_group_strided_copy(__global short16 *dst, const __local short16 *src, size_t num_elements, size_t dst_stride, event_t event);
12890 event_t __ovld async_work_group_strided_copy(__global ushort16 *dst, const __local ushort16 *src, size_t num_elements, size_t dst_stride, event_t event);
12891 event_t __ovld async_work_group_strided_copy(__global int16 *dst, const __local int16 *src, size_t num_elements, size_t dst_stride, event_t event);
12892 event_t __ovld async_work_group_strided_copy(__global uint16 *dst, const __local uint16 *src, size_t num_elements, size_t dst_stride, event_t event);
12893 event_t __ovld async_work_group_strided_copy(__global long16 *dst, const __local long16 *src, size_t num_elements, size_t dst_stride, event_t event);
12894 event_t __ovld async_work_group_strided_copy(__global ulong16 *dst, const __local ulong16 *src, size_t num_elements, size_t dst_stride, event_t event);
12895 event_t __ovld async_work_group_strided_copy(__global float16 *dst, const __local float16 *src, size_t num_elements, size_t dst_stride, event_t event);
12896 #ifdef cl_khr_fp64
12897 event_t __ovld async_work_group_strided_copy(__local double *dst, const __global double *src, size_t num_elements, size_t src_stride, event_t event);
12898 event_t __ovld async_work_group_strided_copy(__local double2 *dst, const __global double2 *src, size_t num_elements, size_t src_stride, event_t event);
12899 event_t __ovld async_work_group_strided_copy(__local double3 *dst, const __global double3 *src, size_t num_elements, size_t src_stride, event_t event);
12900 event_t __ovld async_work_group_strided_copy(__local double4 *dst, const __global double4 *src, size_t num_elements, size_t src_stride, event_t event);
12901 event_t __ovld async_work_group_strided_copy(__local double8 *dst, const __global double8 *src, size_t num_elements, size_t src_stride, event_t event);
12902 event_t __ovld async_work_group_strided_copy(__local double16 *dst, const __global double16 *src, size_t num_elements, size_t src_stride, event_t event);
12903 event_t __ovld async_work_group_strided_copy(__global double *dst, const __local double *src, size_t num_elements, size_t dst_stride, event_t event);
12904 event_t __ovld async_work_group_strided_copy(__global double2 *dst, const __local double2 *src, size_t num_elements, size_t dst_stride, event_t event);
12905 event_t __ovld async_work_group_strided_copy(__global double3 *dst, const __local double3 *src, size_t num_elements, size_t dst_stride, event_t event);
12906 event_t __ovld async_work_group_strided_copy(__global double4 *dst, const __local double4 *src, size_t num_elements, size_t dst_stride, event_t event);
12907 event_t __ovld async_work_group_strided_copy(__global double8 *dst, const __local double8 *src, size_t num_elements, size_t dst_stride, event_t event);
12908 event_t __ovld async_work_group_strided_copy(__global double16 *dst, const __local double16 *src, size_t num_elements, size_t dst_stride, event_t event);
12909 #endif //cl_khr_fp64
12910 #ifdef cl_khr_fp16
12911 event_t __ovld async_work_group_strided_copy(__local half *dst, const __global half *src, size_t num_elements, size_t src_stride, event_t event);
12912 event_t __ovld async_work_group_strided_copy(__local half2 *dst, const __global half2 *src, size_t num_elements, size_t src_stride, event_t event);
12913 event_t __ovld async_work_group_strided_copy(__local half3 *dst, const __global half3 *src, size_t num_elements, size_t src_stride, event_t event);
12914 event_t __ovld async_work_group_strided_copy(__local half4 *dst, const __global half4 *src, size_t num_elements, size_t src_stride, event_t event);
12915 event_t __ovld async_work_group_strided_copy(__local half8 *dst, const __global half8 *src, size_t num_elements, size_t src_stride, event_t event);
12916 event_t __ovld async_work_group_strided_copy(__local half16 *dst, const __global half16 *src, size_t num_elements, size_t src_stride, event_t event);
12917 event_t __ovld async_work_group_strided_copy(__global half *dst, const __local half *src, size_t num_elements, size_t dst_stride, event_t event);
12918 event_t __ovld async_work_group_strided_copy(__global half2 *dst, const __local half2 *src, size_t num_elements, size_t dst_stride, event_t event);
12919 event_t __ovld async_work_group_strided_copy(__global half3 *dst, const __local half3 *src, size_t num_elements, size_t dst_stride, event_t event);
12920 event_t __ovld async_work_group_strided_copy(__global half4 *dst, const __local half4 *src, size_t num_elements, size_t dst_stride, event_t event);
12921 event_t __ovld async_work_group_strided_copy(__global half8 *dst, const __local half8 *src, size_t num_elements, size_t dst_stride, event_t event);
12922 event_t __ovld async_work_group_strided_copy(__global half16 *dst, const __local half16 *src, size_t num_elements, size_t dst_stride, event_t event);
12923 #endif //cl_khr_fp16
12924 
12936 void __ovld wait_group_events(int num_events, event_t *event_list);
12937 
12945 void __ovld prefetch(const __global char *p, size_t num_elements);
12946 void __ovld prefetch(const __global uchar *p, size_t num_elements);
12947 void __ovld prefetch(const __global short *p, size_t num_elements);
12948 void __ovld prefetch(const __global ushort *p, size_t num_elements);
12949 void __ovld prefetch(const __global int *p, size_t num_elements);
12950 void __ovld prefetch(const __global uint *p, size_t num_elements);
12951 void __ovld prefetch(const __global long *p, size_t num_elements);
12952 void __ovld prefetch(const __global ulong *p, size_t num_elements);
12953 void __ovld prefetch(const __global float *p, size_t num_elements);
12954 void __ovld prefetch(const __global char2 *p, size_t num_elements);
12955 void __ovld prefetch(const __global uchar2 *p, size_t num_elements);
12956 void __ovld prefetch(const __global short2 *p, size_t num_elements);
12957 void __ovld prefetch(const __global ushort2 *p, size_t num_elements);
12958 void __ovld prefetch(const __global int2 *p, size_t num_elements);
12959 void __ovld prefetch(const __global uint2 *p, size_t num_elements);
12960 void __ovld prefetch(const __global long2 *p, size_t num_elements);
12961 void __ovld prefetch(const __global ulong2 *p, size_t num_elements);
12962 void __ovld prefetch(const __global float2 *p, size_t num_elements);
12963 void __ovld prefetch(const __global char3 *p, size_t num_elements);
12964 void __ovld prefetch(const __global uchar3 *p, size_t num_elements);
12965 void __ovld prefetch(const __global short3 *p, size_t num_elements);
12966 void __ovld prefetch(const __global ushort3 *p, size_t num_elements);
12967 void __ovld prefetch(const __global int3 *p, size_t num_elements);
12968 void __ovld prefetch(const __global uint3 *p, size_t num_elements);
12969 void __ovld prefetch(const __global long3 *p, size_t num_elements);
12970 void __ovld prefetch(const __global ulong3 *p, size_t num_elements);
12971 void __ovld prefetch(const __global float3 *p, size_t num_elements);
12972 void __ovld prefetch(const __global char4 *p, size_t num_elements);
12973 void __ovld prefetch(const __global uchar4 *p, size_t num_elements);
12974 void __ovld prefetch(const __global short4 *p, size_t num_elements);
12975 void __ovld prefetch(const __global ushort4 *p, size_t num_elements);
12976 void __ovld prefetch(const __global int4 *p, size_t num_elements);
12977 void __ovld prefetch(const __global uint4 *p, size_t num_elements);
12978 void __ovld prefetch(const __global long4 *p, size_t num_elements);
12979 void __ovld prefetch(const __global ulong4 *p, size_t num_elements);
12980 void __ovld prefetch(const __global float4 *p, size_t num_elements);
12981 void __ovld prefetch(const __global char8 *p, size_t num_elements);
12982 void __ovld prefetch(const __global uchar8 *p, size_t num_elements);
12983 void __ovld prefetch(const __global short8 *p, size_t num_elements);
12984 void __ovld prefetch(const __global ushort8 *p, size_t num_elements);
12985 void __ovld prefetch(const __global int8 *p, size_t num_elements);
12986 void __ovld prefetch(const __global uint8 *p, size_t num_elements);
12987 void __ovld prefetch(const __global long8 *p, size_t num_elements);
12988 void __ovld prefetch(const __global ulong8 *p, size_t num_elements);
12989 void __ovld prefetch(const __global float8 *p, size_t num_elements);
12990 void __ovld prefetch(const __global char16 *p, size_t num_elements);
12991 void __ovld prefetch(const __global uchar16 *p, size_t num_elements);
12992 void __ovld prefetch(const __global short16 *p, size_t num_elements);
12993 void __ovld prefetch(const __global ushort16 *p, size_t num_elements);
12994 void __ovld prefetch(const __global int16 *p, size_t num_elements);
12995 void __ovld prefetch(const __global uint16 *p, size_t num_elements);
12996 void __ovld prefetch(const __global long16 *p, size_t num_elements);
12997 void __ovld prefetch(const __global ulong16 *p, size_t num_elements);
12998 void __ovld prefetch(const __global float16 *p, size_t num_elements);
12999 #ifdef cl_khr_fp64
13000 void __ovld prefetch(const __global double *p, size_t num_elements);
13001 void __ovld prefetch(const __global double2 *p, size_t num_elements);
13002 void __ovld prefetch(const __global double3 *p, size_t num_elements);
13003 void __ovld prefetch(const __global double4 *p, size_t num_elements);
13004 void __ovld prefetch(const __global double8 *p, size_t num_elements);
13005 void __ovld prefetch(const __global double16 *p, size_t num_elements);
13006 #endif //cl_khr_fp64
13007 #ifdef cl_khr_fp16
13008 void __ovld prefetch(const __global half *p, size_t num_elements);
13009 void __ovld prefetch(const __global half2 *p, size_t num_elements);
13010 void __ovld prefetch(const __global half3 *p, size_t num_elements);
13011 void __ovld prefetch(const __global half4 *p, size_t num_elements);
13012 void __ovld prefetch(const __global half8 *p, size_t num_elements);
13013 void __ovld prefetch(const __global half16 *p, size_t num_elements);
13014 #endif // cl_khr_fp16
13015 
13016 // OpenCL v1.1 s6.11.1, v1.2 s6.12.11 - Atomic Functions
13017 
13018 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
13019 #pragma OPENCL EXTENSION cl_khr_int64_base_atomics : enable
13020 #pragma OPENCL EXTENSION cl_khr_int64_extended_atomics : enable
13021 #endif
13028 int __ovld atomic_add(volatile __global int *p, int val);
13029 unsigned int __ovld atomic_add(volatile __global unsigned int *p, unsigned int val);
13030 int __ovld atomic_add(volatile __local int *p, int val);
13031 unsigned int __ovld atomic_add(volatile __local unsigned int *p, unsigned int val);
13032 #ifdef __OPENCL_CPP_VERSION__
13033 int __ovld atomic_add(volatile int *p, int val);
13034 unsigned int __ovld atomic_add(volatile unsigned int *p, unsigned int val);
13035 #endif
13036 
13037 #if defined(cl_khr_global_int32_base_atomics)
13038 int __ovld atom_add(volatile __global int *p, int val);
13039 unsigned int __ovld atom_add(volatile __global unsigned int *p, unsigned int val);
13040 #endif
13041 #if defined(cl_khr_local_int32_base_atomics)
13042 int __ovld atom_add(volatile __local int *p, int val);
13043 unsigned int __ovld atom_add(volatile __local unsigned int *p, unsigned int val);
13044 #endif
13045 
13046 #if defined(cl_khr_int64_base_atomics)
13047 long __ovld atom_add(volatile __global long *p, long val);
13048 unsigned long __ovld atom_add(volatile __global unsigned long *p, unsigned long val);
13049 long __ovld atom_add(volatile __local long *p, long val);
13050 unsigned long __ovld atom_add(volatile __local unsigned long *p, unsigned long val);
13051 #endif
13052 
13058 int __ovld atomic_sub(volatile __global int *p, int val);
13059 unsigned int __ovld atomic_sub(volatile __global unsigned int *p, unsigned int val);
13060 int __ovld atomic_sub(volatile __local int *p, int val);
13061 unsigned int __ovld atomic_sub(volatile __local unsigned int *p, unsigned int val);
13062 #ifdef __OPENCL_CPP_VERSION__
13063 int __ovld atomic_sub(volatile int *p, int val);
13064 unsigned int __ovld atomic_sub(volatile unsigned int *p, unsigned int val);
13065 #endif
13066 
13067 #if defined(cl_khr_global_int32_base_atomics)
13068 int __ovld atom_sub(volatile __global int *p, int val);
13069 unsigned int __ovld atom_sub(volatile __global unsigned int *p, unsigned int val);
13070 #endif
13071 #if defined(cl_khr_local_int32_base_atomics)
13072 int __ovld atom_sub(volatile __local int *p, int val);
13073 unsigned int __ovld atom_sub(volatile __local unsigned int *p, unsigned int val);
13074 #endif
13075 
13076 #if defined(cl_khr_int64_base_atomics)
13077 long __ovld atom_sub(volatile __global long *p, long val);
13078 unsigned long __ovld atom_sub(volatile __global unsigned long *p, unsigned long val);
13079 long __ovld atom_sub(volatile __local long *p, long val);
13080 unsigned long __ovld atom_sub(volatile __local unsigned long *p, unsigned long val);
13081 #endif
13082 
13088 int __ovld atomic_xchg(volatile __global int *p, int val);
13089 unsigned int __ovld atomic_xchg(volatile __global unsigned int *p, unsigned int val);
13090 int __ovld atomic_xchg(volatile __local int *p, int val);
13091 unsigned int __ovld atomic_xchg(volatile __local unsigned int *p, unsigned int val);
13092 float __ovld atomic_xchg(volatile __global float *p, float val);
13093 float __ovld atomic_xchg(volatile __local float *p, float val);
13094 #ifdef __OPENCL_CPP_VERSION__
13095 int __ovld atomic_xchg(volatile int *p, int val);
13096 unsigned int __ovld atomic_xchg(volatile unsigned int *p, unsigned int val);
13097 float __ovld atomic_xchg(volatile float *p, float val);
13098 #endif
13099 
13100 #if defined(cl_khr_global_int32_base_atomics)
13101 int __ovld atom_xchg(volatile __global int *p, int val);
13102 unsigned int __ovld atom_xchg(volatile __global unsigned int *p, unsigned int val);
13103 #endif
13104 #if defined(cl_khr_local_int32_base_atomics)
13105 int __ovld atom_xchg(volatile __local int *p, int val);
13106 unsigned int __ovld atom_xchg(volatile __local unsigned int *p, unsigned int val);
13107 #endif
13108 
13109 #if defined(cl_khr_int64_base_atomics)
13110 long __ovld atom_xchg(volatile __global long *p, long val);
13111 long __ovld atom_xchg(volatile __local long *p, long val);
13112 unsigned long __ovld atom_xchg(volatile __global unsigned long *p, unsigned long val);
13113 unsigned long __ovld atom_xchg(volatile __local unsigned long *p, unsigned long val);
13114 #endif
13115 
13122 int __ovld atomic_inc(volatile __global int *p);
13123 unsigned int __ovld atomic_inc(volatile __global unsigned int *p);
13124 int __ovld atomic_inc(volatile __local int *p);
13125 unsigned int __ovld atomic_inc(volatile __local unsigned int *p);
13126 #ifdef __OPENCL_CPP_VERSION__
13127 int __ovld atomic_inc(volatile int *p);
13128 unsigned int __ovld atomic_inc(volatile unsigned int *p);
13129 #endif
13130 
13131 #if defined(cl_khr_global_int32_base_atomics)
13132 int __ovld atom_inc(volatile __global int *p);
13133 unsigned int __ovld atom_inc(volatile __global unsigned int *p);
13134 #endif
13135 #if defined(cl_khr_local_int32_base_atomics)
13136 int __ovld atom_inc(volatile __local int *p);
13137 unsigned int __ovld atom_inc(volatile __local unsigned int *p);
13138 #endif
13139 
13140 #if defined(cl_khr_int64_base_atomics)
13141 long __ovld atom_inc(volatile __global long *p);
13142 unsigned long __ovld atom_inc(volatile __global unsigned long *p);
13143 long __ovld atom_inc(volatile __local long *p);
13144 unsigned long __ovld atom_inc(volatile __local unsigned long *p);
13145 #endif
13146 
13153 int __ovld atomic_dec(volatile __global int *p);
13154 unsigned int __ovld atomic_dec(volatile __global unsigned int *p);
13155 int __ovld atomic_dec(volatile __local int *p);
13156 unsigned int __ovld atomic_dec(volatile __local unsigned int *p);
13157 #ifdef __OPENCL_CPP_VERSION__
13158 int __ovld atomic_dec(volatile int *p);
13159 unsigned int __ovld atomic_dec(volatile unsigned int *p);
13160 #endif
13161 
13162 #if defined(cl_khr_global_int32_base_atomics)
13163 int __ovld atom_dec(volatile __global int *p);
13164 unsigned int __ovld atom_dec(volatile __global unsigned int *p);
13165 #endif
13166 #if defined(cl_khr_local_int32_base_atomics)
13167 int __ovld atom_dec(volatile __local int *p);
13168 unsigned int __ovld atom_dec(volatile __local unsigned int *p);
13169 #endif
13170 
13171 #if defined(cl_khr_int64_base_atomics)
13172 long __ovld atom_dec(volatile __global long *p);
13173 unsigned long __ovld atom_dec(volatile __global unsigned long *p);
13174 long __ovld atom_dec(volatile __local long *p);
13175 unsigned long __ovld atom_dec(volatile __local unsigned long *p);
13176 #endif
13177 
13185 int __ovld atomic_cmpxchg(volatile __global int *p, int cmp, int val);
13186 unsigned int __ovld atomic_cmpxchg(volatile __global unsigned int *p, unsigned int cmp, unsigned int val);
13187 int __ovld atomic_cmpxchg(volatile __local int *p, int cmp, int val);
13188 unsigned int __ovld atomic_cmpxchg(volatile __local unsigned int *p, unsigned int cmp, unsigned int val);
13189 #ifdef __OPENCL_CPP_VERSION__
13190 int __ovld atomic_cmpxchg(volatile int *p, int cmp, int val);
13191 unsigned int __ovld atomic_cmpxchg(volatile unsigned int *p, unsigned int cmp, unsigned int val);
13192 #endif
13193 
13194 #if defined(cl_khr_global_int32_base_atomics)
13195 int __ovld atom_cmpxchg(volatile __global int *p, int cmp, int val);
13196 unsigned int __ovld atom_cmpxchg(volatile __global unsigned int *p, unsigned int cmp, unsigned int val);
13197 #endif
13198 #if defined(cl_khr_local_int32_base_atomics)
13199 int __ovld atom_cmpxchg(volatile __local int *p, int cmp, int val);
13200 unsigned int __ovld atom_cmpxchg(volatile __local unsigned int *p, unsigned int cmp, unsigned int val);
13201 #endif
13202 
13203 #if defined(cl_khr_int64_base_atomics)
13204 long __ovld atom_cmpxchg(volatile __global long *p, long cmp, long val);
13205 unsigned long __ovld atom_cmpxchg(volatile __global unsigned long *p, unsigned long cmp, unsigned long val);
13206 long __ovld atom_cmpxchg(volatile __local long *p, long cmp, long val);
13207 unsigned long __ovld atom_cmpxchg(volatile __local unsigned long *p, unsigned long cmp, unsigned long val);
13208 #endif
13209 
13217 int __ovld atomic_min(volatile __global int *p, int val);
13218 unsigned int __ovld atomic_min(volatile __global unsigned int *p, unsigned int val);
13219 int __ovld atomic_min(volatile __local int *p, int val);
13220 unsigned int __ovld atomic_min(volatile __local unsigned int *p, unsigned int val);
13221 #ifdef __OPENCL_CPP_VERSION__
13222 int __ovld atomic_min(volatile int *p, int val);
13223 unsigned int __ovld atomic_min(volatile unsigned int *p, unsigned int val);
13224 #endif
13225 
13226 #if defined(cl_khr_global_int32_extended_atomics)
13227 int __ovld atom_min(volatile __global int *p, int val);
13228 unsigned int __ovld atom_min(volatile __global unsigned int *p, unsigned int val);
13229 #endif
13230 #if defined(cl_khr_local_int32_extended_atomics)
13231 int __ovld atom_min(volatile __local int *p, int val);
13232 unsigned int __ovld atom_min(volatile __local unsigned int *p, unsigned int val);
13233 #endif
13234 
13235 #if defined(cl_khr_int64_extended_atomics)
13236 long __ovld atom_min(volatile __global long *p, long val);
13237 unsigned long __ovld atom_min(volatile __global unsigned long *p, unsigned long val);
13238 long __ovld atom_min(volatile __local long *p, long val);
13239 unsigned long __ovld atom_min(volatile __local unsigned long *p, unsigned long val);
13240 #endif
13241 
13249 int __ovld atomic_max(volatile __global int *p, int val);
13250 unsigned int __ovld atomic_max(volatile __global unsigned int *p, unsigned int val);
13251 int __ovld atomic_max(volatile __local int *p, int val);
13252 unsigned int __ovld atomic_max(volatile __local unsigned int *p, unsigned int val);
13253 #ifdef __OPENCL_CPP_VERSION__
13254 int __ovld atomic_max(volatile int *p, int val);
13255 unsigned int __ovld atomic_max(volatile unsigned int *p, unsigned int val);
13256 #endif
13257 
13258 #if defined(cl_khr_global_int32_extended_atomics)
13259 int __ovld atom_max(volatile __global int *p, int val);
13260 unsigned int __ovld atom_max(volatile __global unsigned int *p, unsigned int val);
13261 #endif
13262 #if defined(cl_khr_local_int32_extended_atomics)
13263 int __ovld atom_max(volatile __local int *p, int val);
13264 unsigned int __ovld atom_max(volatile __local unsigned int *p, unsigned int val);
13265 #endif
13266 
13267 #if defined(cl_khr_int64_extended_atomics)
13268 long __ovld atom_max(volatile __global long *p, long val);
13269 unsigned long __ovld atom_max(volatile __global unsigned long *p, unsigned long val);
13270 long __ovld atom_max(volatile __local long *p, long val);
13271 unsigned long __ovld atom_max(volatile __local unsigned long *p, unsigned long val);
13272 #endif
13273 
13280 int __ovld atomic_and(volatile __global int *p, int val);
13281 unsigned int __ovld atomic_and(volatile __global unsigned int *p, unsigned int val);
13282 int __ovld atomic_and(volatile __local int *p, int val);
13283 unsigned int __ovld atomic_and(volatile __local unsigned int *p, unsigned int val);
13284 #ifdef __OPENCL_CPP_VERSION__
13285 int __ovld atomic_and(volatile int *p, int val);
13286 unsigned int __ovld atomic_and(volatile unsigned int *p, unsigned int val);
13287 #endif
13288 
13289 #if defined(cl_khr_global_int32_extended_atomics)
13290 int __ovld atom_and(volatile __global int *p, int val);
13291 unsigned int __ovld atom_and(volatile __global unsigned int *p, unsigned int val);
13292 #endif
13293 #if defined(cl_khr_local_int32_extended_atomics)
13294 int __ovld atom_and(volatile __local int *p, int val);
13295 unsigned int __ovld atom_and(volatile __local unsigned int *p, unsigned int val);
13296 #endif
13297 
13298 #if defined(cl_khr_int64_extended_atomics)
13299 long __ovld atom_and(volatile __global long *p, long val);
13300 unsigned long __ovld atom_and(volatile __global unsigned long *p, unsigned long val);
13301 long __ovld atom_and(volatile __local long *p, long val);
13302 unsigned long __ovld atom_and(volatile __local unsigned long *p, unsigned long val);
13303 #endif
13304 
13311 int __ovld atomic_or(volatile __global int *p, int val);
13312 unsigned int __ovld atomic_or(volatile __global unsigned int *p, unsigned int val);
13313 int __ovld atomic_or(volatile __local int *p, int val);
13314 unsigned int __ovld atomic_or(volatile __local unsigned int *p, unsigned int val);
13315 #ifdef __OPENCL_CPP_VERSION__
13316 int __ovld atomic_or(volatile int *p, int val);
13317 unsigned int __ovld atomic_or(volatile unsigned int *p, unsigned int val);
13318 #endif
13319 
13320 #if defined(cl_khr_global_int32_extended_atomics)
13321 int __ovld atom_or(volatile __global int *p, int val);
13322 unsigned int __ovld atom_or(volatile __global unsigned int *p, unsigned int val);
13323 #endif
13324 #if defined(cl_khr_local_int32_extended_atomics)
13325 int __ovld atom_or(volatile __local int *p, int val);
13326 unsigned int __ovld atom_or(volatile __local unsigned int *p, unsigned int val);
13327 #endif
13328 
13329 #if defined(cl_khr_int64_extended_atomics)
13330 long __ovld atom_or(volatile __global long *p, long val);
13331 unsigned long __ovld atom_or(volatile __global unsigned long *p, unsigned long val);
13332 long __ovld atom_or(volatile __local long *p, long val);
13333 unsigned long __ovld atom_or(volatile __local unsigned long *p, unsigned long val);
13334 #endif
13335 
13342 int __ovld atomic_xor(volatile __global int *p, int val);
13343 unsigned int __ovld atomic_xor(volatile __global unsigned int *p, unsigned int val);
13344 int __ovld atomic_xor(volatile __local int *p, int val);
13345 unsigned int __ovld atomic_xor(volatile __local unsigned int *p, unsigned int val);
13346 #ifdef __OPENCL_CPP_VERSION__
13347 int __ovld atomic_xor(volatile int *p, int val);
13348 unsigned int __ovld atomic_xor(volatile unsigned int *p, unsigned int val);
13349 #endif
13350 
13351 #if defined(cl_khr_global_int32_extended_atomics)
13352 int __ovld atom_xor(volatile __global int *p, int val);
13353 unsigned int __ovld atom_xor(volatile __global unsigned int *p, unsigned int val);
13354 #endif
13355 #if defined(cl_khr_local_int32_extended_atomics)
13356 int __ovld atom_xor(volatile __local int *p, int val);
13357 unsigned int __ovld atom_xor(volatile __local unsigned int *p, unsigned int val);
13358 #endif
13359 
13360 #if defined(cl_khr_int64_extended_atomics)
13361 long __ovld atom_xor(volatile __global long *p, long val);
13362 unsigned long __ovld atom_xor(volatile __global unsigned long *p, unsigned long val);
13363 long __ovld atom_xor(volatile __local long *p, long val);
13364 unsigned long __ovld atom_xor(volatile __local unsigned long *p, unsigned long val);
13365 #endif
13366 
13367 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
13368 #pragma OPENCL EXTENSION cl_khr_int64_base_atomics : disable
13369 #pragma OPENCL EXTENSION cl_khr_int64_extended_atomics : disable
13370 #endif
13371 
13372 // OpenCL v2.0 s6.13.11 - Atomics Functions
13373 
13374 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
13375 
13376 // double atomics support requires extensions cl_khr_int64_base_atomics and cl_khr_int64_extended_atomics
13377 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
13378 #pragma OPENCL EXTENSION cl_khr_int64_base_atomics : enable
13379 #pragma OPENCL EXTENSION cl_khr_int64_extended_atomics : enable
13380 #endif
13381 
13382 // atomic_init()
13383 void __ovld atomic_init(volatile atomic_int *object, int value);
13384 void __ovld atomic_init(volatile atomic_uint *object, uint value);
13385 void __ovld atomic_init(volatile atomic_float *object, float value);
13386 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
13387 void __ovld atomic_init(volatile atomic_long *object, long value);
13388 void __ovld atomic_init(volatile atomic_ulong *object, ulong value);
13389 #ifdef cl_khr_fp64
13390 void __ovld atomic_init(volatile atomic_double *object, double value);
13391 #endif //cl_khr_fp64
13392 #endif
13393 
13394 // atomic_work_item_fence()
13396 
13397 // atomic_fetch()
13398 
13399 int __ovld atomic_fetch_add(volatile atomic_int *object, int operand);
13400 int __ovld atomic_fetch_add_explicit(volatile atomic_int *object, int operand, memory_order order);
13401 int __ovld atomic_fetch_add_explicit(volatile atomic_int *object, int operand, memory_order order, memory_scope scope);
13402 uint __ovld atomic_fetch_add(volatile atomic_uint *object, uint operand);
13403 uint __ovld atomic_fetch_add_explicit(volatile atomic_uint *object, uint operand, memory_order order);
13404 uint __ovld atomic_fetch_add_explicit(volatile atomic_uint *object, uint operand, memory_order order, memory_scope scope);
13405 int __ovld atomic_fetch_sub(volatile atomic_int *object, int operand);
13406 int __ovld atomic_fetch_sub_explicit(volatile atomic_int *object, int operand, memory_order order);
13407 int __ovld atomic_fetch_sub_explicit(volatile atomic_int *object, int operand, memory_order order, memory_scope scope);
13408 uint __ovld atomic_fetch_sub(volatile atomic_uint *object, uint operand);
13409 uint __ovld atomic_fetch_sub_explicit(volatile atomic_uint *object, uint operand, memory_order order);
13410 uint __ovld atomic_fetch_sub_explicit(volatile atomic_uint *object, uint operand, memory_order order, memory_scope scope);
13411 int __ovld atomic_fetch_or(volatile atomic_int *object, int operand);
13412 int __ovld atomic_fetch_or_explicit(volatile atomic_int *object, int operand, memory_order order);
13413 int __ovld atomic_fetch_or_explicit(volatile atomic_int *object, int operand, memory_order order, memory_scope scope);
13414 uint __ovld atomic_fetch_or(volatile atomic_uint *object, uint operand);
13415 uint __ovld atomic_fetch_or_explicit(volatile atomic_uint *object, uint operand, memory_order order);
13416 uint __ovld atomic_fetch_or_explicit(volatile atomic_uint *object, uint operand, memory_order order, memory_scope scope);
13417 int __ovld atomic_fetch_xor(volatile atomic_int *object, int operand);
13418 int __ovld atomic_fetch_xor_explicit(volatile atomic_int *object, int operand, memory_order order);
13419 int __ovld atomic_fetch_xor_explicit(volatile atomic_int *object, int operand, memory_order order, memory_scope scope);
13420 uint __ovld atomic_fetch_xor(volatile atomic_uint *object, uint operand);
13421 uint __ovld atomic_fetch_xor_explicit(volatile atomic_uint *object, uint operand, memory_order order);
13422 uint __ovld atomic_fetch_xor_explicit(volatile atomic_uint *object, uint operand, memory_order order, memory_scope scope);
13423 int __ovld atomic_fetch_and(volatile atomic_int *object, int operand);
13424 int __ovld atomic_fetch_and_explicit(volatile atomic_int *object, int operand, memory_order order);
13425 int __ovld atomic_fetch_and_explicit(volatile atomic_int *object, int operand, memory_order order, memory_scope scope);
13426 uint __ovld atomic_fetch_and(volatile atomic_uint *object, uint operand);
13427 uint __ovld atomic_fetch_and_explicit(volatile atomic_uint *object, uint operand, memory_order order);
13428 uint __ovld atomic_fetch_and_explicit(volatile atomic_uint *object, uint operand, memory_order order, memory_scope scope);
13429 int __ovld atomic_fetch_min(volatile atomic_int *object, int operand);
13430 int __ovld atomic_fetch_min_explicit(volatile atomic_int *object, int operand, memory_order order);
13431 int __ovld atomic_fetch_min_explicit(volatile atomic_int *object, int operand, memory_order order, memory_scope scope);
13432 uint __ovld atomic_fetch_min(volatile atomic_uint *object, uint operand);
13433 uint __ovld atomic_fetch_min_explicit(volatile atomic_uint *object, uint operand, memory_order order);
13434 uint __ovld atomic_fetch_min_explicit(volatile atomic_uint *object, uint operand, memory_order order, memory_scope scope);
13435 int __ovld atomic_fetch_max(volatile atomic_int *object, int operand);
13436 int __ovld atomic_fetch_max_explicit(volatile atomic_int *object, int operand, memory_order order);
13437 int __ovld atomic_fetch_max_explicit(volatile atomic_int *object, int operand, memory_order order, memory_scope scope);
13438 uint __ovld atomic_fetch_max(volatile atomic_uint *object, uint operand);
13439 uint __ovld atomic_fetch_max_explicit(volatile atomic_uint *object, uint operand, memory_order order);
13440 uint __ovld atomic_fetch_max_explicit(volatile atomic_uint *object, uint operand, memory_order order, memory_scope scope);
13441 
13442 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
13443 long __ovld atomic_fetch_add(volatile atomic_long *object, long operand);
13444 long __ovld atomic_fetch_add_explicit(volatile atomic_long *object, long operand, memory_order order);
13445 long __ovld atomic_fetch_add_explicit(volatile atomic_long *object, long operand, memory_order order, memory_scope scope);
13446 ulong __ovld atomic_fetch_add(volatile atomic_ulong *object, ulong operand);
13447 ulong __ovld atomic_fetch_add_explicit(volatile atomic_ulong *object, ulong operand, memory_order order);
13448 ulong __ovld atomic_fetch_add_explicit(volatile atomic_ulong *object, ulong operand, memory_order order, memory_scope scope);
13449 long __ovld atomic_fetch_sub(volatile atomic_long *object, long operand);
13450 long __ovld atomic_fetch_sub_explicit(volatile atomic_long *object, long operand, memory_order order);
13451 long __ovld atomic_fetch_sub_explicit(volatile atomic_long *object, long operand, memory_order order, memory_scope scope);
13452 ulong __ovld atomic_fetch_sub(volatile atomic_ulong *object, ulong operand);
13453 ulong __ovld atomic_fetch_sub_explicit(volatile atomic_ulong *object, ulong operand, memory_order order);
13454 ulong __ovld atomic_fetch_sub_explicit(volatile atomic_ulong *object, ulong operand, memory_order order, memory_scope scope);
13455 long __ovld atomic_fetch_or(volatile atomic_long *object, long operand);
13456 long __ovld atomic_fetch_or_explicit(volatile atomic_long *object, long operand, memory_order order);
13457 long __ovld atomic_fetch_or_explicit(volatile atomic_long *object, long operand, memory_order order, memory_scope scope);
13458 ulong __ovld atomic_fetch_or(volatile atomic_ulong *object, ulong operand);
13459 ulong __ovld atomic_fetch_or_explicit(volatile atomic_ulong *object, ulong operand, memory_order order);
13460 ulong __ovld atomic_fetch_or_explicit(volatile atomic_ulong *object, ulong operand, memory_order order, memory_scope scope);
13461 long __ovld atomic_fetch_xor(volatile atomic_long *object, long operand);
13462 long __ovld atomic_fetch_xor_explicit(volatile atomic_long *object, long operand, memory_order order);
13463 long __ovld atomic_fetch_xor_explicit(volatile atomic_long *object, long operand, memory_order order, memory_scope scope);
13464 ulong __ovld atomic_fetch_xor(volatile atomic_ulong *object, ulong operand);
13465 ulong __ovld atomic_fetch_xor_explicit(volatile atomic_ulong *object, ulong operand, memory_order order);
13466 ulong __ovld atomic_fetch_xor_explicit(volatile atomic_ulong *object, ulong operand, memory_order order, memory_scope scope);
13467 long __ovld atomic_fetch_and(volatile atomic_long *object, long operand);
13468 long __ovld atomic_fetch_and_explicit(volatile atomic_long *object, long operand, memory_order order);
13469 long __ovld atomic_fetch_and_explicit(volatile atomic_long *object, long operand, memory_order order, memory_scope scope);
13470 ulong __ovld atomic_fetch_and(volatile atomic_ulong *object, ulong operand);
13471 ulong __ovld atomic_fetch_and_explicit(volatile atomic_ulong *object, ulong operand, memory_order order);
13472 ulong __ovld atomic_fetch_and_explicit(volatile atomic_ulong *object, ulong operand, memory_order order, memory_scope scope);
13473 long __ovld atomic_fetch_min(volatile atomic_long *object, long operand);
13474 long __ovld atomic_fetch_min_explicit(volatile atomic_long *object, long operand, memory_order order);
13475 long __ovld atomic_fetch_min_explicit(volatile atomic_long *object, long operand, memory_order order, memory_scope scope);
13476 ulong __ovld atomic_fetch_min(volatile atomic_ulong *object, ulong operand);
13477 ulong __ovld atomic_fetch_min_explicit(volatile atomic_ulong *object, ulong operand, memory_order order);
13478 ulong __ovld atomic_fetch_min_explicit(volatile atomic_ulong *object, ulong operand, memory_order order, memory_scope scope);
13479 long __ovld atomic_fetch_max(volatile atomic_long *object, long operand);
13480 long __ovld atomic_fetch_max_explicit(volatile atomic_long *object, long operand, memory_order order);
13481 long __ovld atomic_fetch_max_explicit(volatile atomic_long *object, long operand, memory_order order, memory_scope scope);
13482 ulong __ovld atomic_fetch_max(volatile atomic_ulong *object, ulong operand);
13483 ulong __ovld atomic_fetch_max_explicit(volatile atomic_ulong *object, ulong operand, memory_order order);
13484 ulong __ovld atomic_fetch_max_explicit(volatile atomic_ulong *object, ulong operand, memory_order order, memory_scope scope);
13485 #endif //defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
13486 
13487 // OpenCL v2.0 s6.13.11.7.5:
13488 // add/sub: atomic type argument can be uintptr_t/intptr_t, value type argument can be ptrdiff_t.
13489 // or/xor/and/min/max: atomic type argument can be intptr_t/uintptr_t, value type argument can be intptr_t/uintptr_t.
13490 
13491 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
13492 uintptr_t __ovld atomic_fetch_add(volatile atomic_uintptr_t *object, ptrdiff_t operand);
13493 uintptr_t __ovld atomic_fetch_add_explicit(volatile atomic_uintptr_t *object, ptrdiff_t operand, memory_order order);
13494 uintptr_t __ovld atomic_fetch_add_explicit(volatile atomic_uintptr_t *object, ptrdiff_t operand, memory_order order, memory_scope scope);
13495 uintptr_t __ovld atomic_fetch_sub(volatile atomic_uintptr_t *object, ptrdiff_t operand);
13496 uintptr_t __ovld atomic_fetch_sub_explicit(volatile atomic_uintptr_t *object, ptrdiff_t operand, memory_order order);
13497 uintptr_t __ovld atomic_fetch_sub_explicit(volatile atomic_uintptr_t *object, ptrdiff_t operand, memory_order order, memory_scope scope);
13498 
13499 uintptr_t __ovld atomic_fetch_or(volatile atomic_uintptr_t *object, intptr_t operand);
13500 uintptr_t __ovld atomic_fetch_or_explicit(volatile atomic_uintptr_t *object, intptr_t operand, memory_order order);
13501 uintptr_t __ovld atomic_fetch_or_explicit(volatile atomic_uintptr_t *object, intptr_t operand, memory_order order, memory_scope scope);
13502 uintptr_t __ovld atomic_fetch_xor(volatile atomic_uintptr_t *object, intptr_t operand);
13503 uintptr_t __ovld atomic_fetch_xor_explicit(volatile atomic_uintptr_t *object, intptr_t operand, memory_order order);
13504 uintptr_t __ovld atomic_fetch_xor_explicit(volatile atomic_uintptr_t *object, intptr_t operand, memory_order order, memory_scope scope);
13505 uintptr_t __ovld atomic_fetch_and(volatile atomic_uintptr_t *object, intptr_t operand);
13506 uintptr_t __ovld atomic_fetch_and_explicit(volatile atomic_uintptr_t *object, intptr_t operand, memory_order order);
13507 uintptr_t __ovld atomic_fetch_and_explicit(volatile atomic_uintptr_t *object, intptr_t operand, memory_order order, memory_scope scope);
13508 uintptr_t __ovld atomic_fetch_min(volatile atomic_uintptr_t *object, intptr_t opermax);
13509 uintptr_t __ovld atomic_fetch_min_explicit(volatile atomic_uintptr_t *object, intptr_t opermax, memory_order minder);
13510 uintptr_t __ovld atomic_fetch_min_explicit(volatile atomic_uintptr_t *object, intptr_t opermax, memory_order minder, memory_scope scope);
13511 uintptr_t __ovld atomic_fetch_max(volatile atomic_uintptr_t *object, intptr_t opermax);
13512 uintptr_t __ovld atomic_fetch_max_explicit(volatile atomic_uintptr_t *object, intptr_t opermax, memory_order minder);
13513 uintptr_t __ovld atomic_fetch_max_explicit(volatile atomic_uintptr_t *object, intptr_t opermax, memory_order minder, memory_scope scope);
13514 
13515 intptr_t __ovld atomic_fetch_or(volatile atomic_intptr_t *object, uintptr_t operand);
13516 intptr_t __ovld atomic_fetch_or_explicit(volatile atomic_intptr_t *object, uintptr_t operand, memory_order order);
13517 intptr_t __ovld atomic_fetch_or_explicit(volatile atomic_intptr_t *object, uintptr_t operand, memory_order order, memory_scope scope);
13518 intptr_t __ovld atomic_fetch_xor(volatile atomic_intptr_t *object, uintptr_t operand);
13519 intptr_t __ovld atomic_fetch_xor_explicit(volatile atomic_intptr_t *object, uintptr_t operand, memory_order order);
13520 intptr_t __ovld atomic_fetch_xor_explicit(volatile atomic_intptr_t *object, uintptr_t operand, memory_order order, memory_scope scope);
13521 intptr_t __ovld atomic_fetch_and(volatile atomic_intptr_t *object, uintptr_t operand);
13522 intptr_t __ovld atomic_fetch_and_explicit(volatile atomic_intptr_t *object, uintptr_t operand, memory_order order);
13523 intptr_t __ovld atomic_fetch_and_explicit(volatile atomic_intptr_t *object, uintptr_t operand, memory_order order, memory_scope scope);
13524 intptr_t __ovld atomic_fetch_min(volatile atomic_intptr_t *object, uintptr_t opermax);
13525 intptr_t __ovld atomic_fetch_min_explicit(volatile atomic_intptr_t *object, uintptr_t opermax, memory_order minder);
13526 intptr_t __ovld atomic_fetch_min_explicit(volatile atomic_intptr_t *object, uintptr_t opermax, memory_order minder, memory_scope scope);
13527 intptr_t __ovld atomic_fetch_max(volatile atomic_intptr_t *object, uintptr_t opermax);
13528 intptr_t __ovld atomic_fetch_max_explicit(volatile atomic_intptr_t *object, uintptr_t opermax, memory_order minder);
13529 intptr_t __ovld atomic_fetch_max_explicit(volatile atomic_intptr_t *object, uintptr_t opermax, memory_order minder, memory_scope scope);
13530 #endif
13531 
13532 // atomic_store()
13533 
13534 void __ovld atomic_store(volatile atomic_int *object, int desired);
13535 void __ovld atomic_store_explicit(volatile atomic_int *object, int desired, memory_order order);
13536 void __ovld atomic_store_explicit(volatile atomic_int *object, int desired, memory_order order, memory_scope scope);
13537 void __ovld atomic_store(volatile atomic_uint *object, uint desired);
13538 void __ovld atomic_store_explicit(volatile atomic_uint *object, uint desired, memory_order order);
13539 void __ovld atomic_store_explicit(volatile atomic_uint *object, uint desired, memory_order order, memory_scope scope);
13540 void __ovld atomic_store(volatile atomic_float *object, float desired);
13541 void __ovld atomic_store_explicit(volatile atomic_float *object, float desired, memory_order order);
13542 void __ovld atomic_store_explicit(volatile atomic_float *object, float desired, memory_order order, memory_scope scope);
13543 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
13544 #ifdef cl_khr_fp64
13545 void __ovld atomic_store(volatile atomic_double *object, double desired);
13546 void __ovld atomic_store_explicit(volatile atomic_double *object, double desired, memory_order order);
13547 void __ovld atomic_store_explicit(volatile atomic_double *object, double desired, memory_order order, memory_scope scope);
13548 #endif //cl_khr_fp64
13549 void __ovld atomic_store(volatile atomic_long *object, long desired);
13550 void __ovld atomic_store_explicit(volatile atomic_long *object, long desired, memory_order order);
13551 void __ovld atomic_store_explicit(volatile atomic_long *object, long desired, memory_order order, memory_scope scope);
13552 void __ovld atomic_store(volatile atomic_ulong *object, ulong desired);
13553 void __ovld atomic_store_explicit(volatile atomic_ulong *object, ulong desired, memory_order order);
13554 void __ovld atomic_store_explicit(volatile atomic_ulong *object, ulong desired, memory_order order, memory_scope scope);
13555 #endif
13556 
13557 // atomic_load()
13558 
13559 int __ovld atomic_load(volatile atomic_int *object);
13560 int __ovld atomic_load_explicit(volatile atomic_int *object, memory_order order);
13561 int __ovld atomic_load_explicit(volatile atomic_int *object, memory_order order, memory_scope scope);
13562 uint __ovld atomic_load(volatile atomic_uint *object);
13563 uint __ovld atomic_load_explicit(volatile atomic_uint *object, memory_order order);
13564 uint __ovld atomic_load_explicit(volatile atomic_uint *object, memory_order order, memory_scope scope);
13565 float __ovld atomic_load(volatile atomic_float *object);
13566 float __ovld atomic_load_explicit(volatile atomic_float *object, memory_order order);
13567 float __ovld atomic_load_explicit(volatile atomic_float *object, memory_order order, memory_scope scope);
13568 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
13569 #ifdef cl_khr_fp64
13570 double __ovld atomic_load(volatile atomic_double *object);
13571 double __ovld atomic_load_explicit(volatile atomic_double *object, memory_order order);
13572 double __ovld atomic_load_explicit(volatile atomic_double *object, memory_order order, memory_scope scope);
13573 #endif //cl_khr_fp64
13574 long __ovld atomic_load(volatile atomic_long *object);
13575 long __ovld atomic_load_explicit(volatile atomic_long *object, memory_order order);
13576 long __ovld atomic_load_explicit(volatile atomic_long *object, memory_order order, memory_scope scope);
13577 ulong __ovld atomic_load(volatile atomic_ulong *object);
13578 ulong __ovld atomic_load_explicit(volatile atomic_ulong *object, memory_order order);
13579 ulong __ovld atomic_load_explicit(volatile atomic_ulong *object, memory_order order, memory_scope scope);
13580 #endif
13581 
13582 // atomic_exchange()
13583 
13584 int __ovld atomic_exchange(volatile atomic_int *object, int desired);
13585 int __ovld atomic_exchange_explicit(volatile atomic_int *object, int desired, memory_order order);
13586 int __ovld atomic_exchange_explicit(volatile atomic_int *object, int desired, memory_order order, memory_scope scope);
13587 uint __ovld atomic_exchange(volatile atomic_uint *object, uint desired);
13588 uint __ovld atomic_exchange_explicit(volatile atomic_uint *object, uint desired, memory_order order);
13589 uint __ovld atomic_exchange_explicit(volatile atomic_uint *object, uint desired, memory_order order, memory_scope scope);
13590 float __ovld atomic_exchange(volatile atomic_float *object, float desired);
13591 float __ovld atomic_exchange_explicit(volatile atomic_float *object, float desired, memory_order order);
13592 float __ovld atomic_exchange_explicit(volatile atomic_float *object, float desired, memory_order order, memory_scope scope);
13593 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
13594 #ifdef cl_khr_fp64
13595 double __ovld atomic_exchange(volatile atomic_double *object, double desired);
13596 double __ovld atomic_exchange_explicit(volatile atomic_double *object, double desired, memory_order order);
13597 double __ovld atomic_exchange_explicit(volatile atomic_double *object, double desired, memory_order order, memory_scope scope);
13598 #endif //cl_khr_fp64
13599 long __ovld atomic_exchange(volatile atomic_long *object, long desired);
13600 long __ovld atomic_exchange_explicit(volatile atomic_long *object, long desired, memory_order order);
13601 long __ovld atomic_exchange_explicit(volatile atomic_long *object, long desired, memory_order order, memory_scope scope);
13602 ulong __ovld atomic_exchange(volatile atomic_ulong *object, ulong desired);
13603 ulong __ovld atomic_exchange_explicit(volatile atomic_ulong *object, ulong desired, memory_order order);
13604 ulong __ovld atomic_exchange_explicit(volatile atomic_ulong *object, ulong desired, memory_order order, memory_scope scope);
13605 #endif
13606 
13607 // atomic_compare_exchange_strong() and atomic_compare_exchange_weak()
13608 
13609 bool __ovld atomic_compare_exchange_strong(volatile atomic_int *object, int *expected, int desired);
13610 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_int *object, int *expected,
13611  int desired, memory_order success, memory_order failure);
13612 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_int *object, int *expected,
13613  int desired, memory_order success, memory_order failure, memory_scope scope);
13614 bool __ovld atomic_compare_exchange_strong(volatile atomic_uint *object, uint *expected, uint desired);
13615 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_uint *object, uint *expected,
13616  uint desired, memory_order success, memory_order failure);
13617 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_uint *object, uint *expected,
13618  uint desired, memory_order success, memory_order failure, memory_scope scope);
13619 bool __ovld atomic_compare_exchange_weak(volatile atomic_int *object, int *expected, int desired);
13620 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_int *object, int *expected,
13621  int desired, memory_order success, memory_order failure);
13622 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_int *object, int *expected,
13623  int desired, memory_order success, memory_order failure, memory_scope scope);
13624 bool __ovld atomic_compare_exchange_weak(volatile atomic_uint *object, uint *expected, uint desired);
13625 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_uint *object, uint *expected,
13626  uint desired, memory_order success, memory_order failure);
13627 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_uint *object, uint *expected,
13628  uint desired, memory_order success, memory_order failure, memory_scope scope);
13629 bool __ovld atomic_compare_exchange_strong(volatile atomic_float *object, float *expected, float desired);
13630 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_float *object, float *expected,
13631  float desired, memory_order success, memory_order failure);
13632 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_float *object, float *expected,
13633  float desired, memory_order success, memory_order failure, memory_scope scope);
13634 bool __ovld atomic_compare_exchange_weak(volatile atomic_float *object, float *expected, float desired);
13635 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_float *object, float *expected,
13636  float desired, memory_order success, memory_order failure);
13637 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_float *object, float *expected,
13638  float desired, memory_order success, memory_order failure, memory_scope scope);
13639 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
13640 #ifdef cl_khr_fp64
13641 bool __ovld atomic_compare_exchange_strong(volatile atomic_double *object, double *expected, double desired);
13642 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_double *object, double *expected,
13643  double desired, memory_order success, memory_order failure);
13644 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_double *object, double *expected,
13645  double desired, memory_order success, memory_order failure, memory_scope scope);
13646 bool __ovld atomic_compare_exchange_weak(volatile atomic_double *object, double *expected, double desired);
13647 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_double *object, double *expected,
13648  double desired, memory_order success, memory_order failure);
13649 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_double *object, double *expected,
13650  double desired, memory_order success, memory_order failure, memory_scope scope);
13651 #endif //cl_khr_fp64
13652 bool __ovld atomic_compare_exchange_strong(volatile atomic_long *object, long *expected, long desired);
13653 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_long *object, long *expected,
13654  long desired, memory_order success, memory_order failure);
13655 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_long *object, long *expected,
13656  long desired, memory_order success, memory_order failure, memory_scope scope);
13657 bool __ovld atomic_compare_exchange_weak(volatile atomic_long *object, long *expected, long desired);
13658 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_long *object, long *expected,
13659  long desired, memory_order success, memory_order failure);
13660 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_long *object, long *expected,
13661  long desired, memory_order success, memory_order failure, memory_scope scope);
13662 bool __ovld atomic_compare_exchange_strong(volatile atomic_ulong *object, ulong *expected, ulong desired);
13663 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_ulong *object, ulong *expected,
13664  ulong desired, memory_order success, memory_order failure);
13665 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_ulong *object, ulong *expected,
13666  ulong desired, memory_order success, memory_order failure, memory_scope scope);
13667 bool __ovld atomic_compare_exchange_weak(volatile atomic_ulong *object, ulong *expected, ulong desired);
13668 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_ulong *object, ulong *expected,
13669  ulong desired, memory_order success, memory_order failure);
13670 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_ulong *object, ulong *expected,
13671  ulong desired, memory_order success, memory_order failure, memory_scope scope);
13672 #endif
13673 
13674 // atomic_flag_test_and_set() and atomic_flag_clear()
13675 
13679 void __ovld atomic_flag_clear(volatile atomic_flag *object);
13682 
13683 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
13684 
13685 // OpenCL v1.1 s6.11.12, v1.2 s6.12.12, v2.0 s6.13.12 - Miscellaneous Vector Functions
13686 
13729 char2 __ovld __cnfn shuffle(char2 x, uchar2 mask);
13730 char2 __ovld __cnfn shuffle(char4 x, uchar2 mask);
13731 char2 __ovld __cnfn shuffle(char8 x, uchar2 mask);
13732 char2 __ovld __cnfn shuffle(char16 x, uchar2 mask);
13733 
13734 uchar2 __ovld __cnfn shuffle(uchar2 x, uchar2 mask);
13735 uchar2 __ovld __cnfn shuffle(uchar4 x, uchar2 mask);
13736 uchar2 __ovld __cnfn shuffle(uchar8 x, uchar2 mask);
13737 uchar2 __ovld __cnfn shuffle(uchar16 x, uchar2 mask);
13738 
13739 short2 __ovld __cnfn shuffle(short2 x, ushort2 mask);
13740 short2 __ovld __cnfn shuffle(short4 x, ushort2 mask);
13741 short2 __ovld __cnfn shuffle(short8 x, ushort2 mask);
13742 short2 __ovld __cnfn shuffle(short16 x, ushort2 mask);
13743 
13744 ushort2 __ovld __cnfn shuffle(ushort2 x, ushort2 mask);
13745 ushort2 __ovld __cnfn shuffle(ushort4 x, ushort2 mask);
13746 ushort2 __ovld __cnfn shuffle(ushort8 x, ushort2 mask);
13747 ushort2 __ovld __cnfn shuffle(ushort16 x, ushort2 mask);
13748 
13749 int2 __ovld __cnfn shuffle(int2 x, uint2 mask);
13750 int2 __ovld __cnfn shuffle(int4 x, uint2 mask);
13751 int2 __ovld __cnfn shuffle(int8 x, uint2 mask);
13752 int2 __ovld __cnfn shuffle(int16 x, uint2 mask);
13753 
13754 uint2 __ovld __cnfn shuffle(uint2 x, uint2 mask);
13755 uint2 __ovld __cnfn shuffle(uint4 x, uint2 mask);
13756 uint2 __ovld __cnfn shuffle(uint8 x, uint2 mask);
13757 uint2 __ovld __cnfn shuffle(uint16 x, uint2 mask);
13758 
13759 long2 __ovld __cnfn shuffle(long2 x, ulong2 mask);
13760 long2 __ovld __cnfn shuffle(long4 x, ulong2 mask);
13761 long2 __ovld __cnfn shuffle(long8 x, ulong2 mask);
13762 long2 __ovld __cnfn shuffle(long16 x, ulong2 mask);
13763 
13764 ulong2 __ovld __cnfn shuffle(ulong2 x, ulong2 mask);
13765 ulong2 __ovld __cnfn shuffle(ulong4 x, ulong2 mask);
13766 ulong2 __ovld __cnfn shuffle(ulong8 x, ulong2 mask);
13767 ulong2 __ovld __cnfn shuffle(ulong16 x, ulong2 mask);
13768 
13769 float2 __ovld __cnfn shuffle(float2 x, uint2 mask);
13770 float2 __ovld __cnfn shuffle(float4 x, uint2 mask);
13771 float2 __ovld __cnfn shuffle(float8 x, uint2 mask);
13772 float2 __ovld __cnfn shuffle(float16 x, uint2 mask);
13773 
13774 char4 __ovld __cnfn shuffle(char2 x, uchar4 mask);
13775 char4 __ovld __cnfn shuffle(char4 x, uchar4 mask);
13776 char4 __ovld __cnfn shuffle(char8 x, uchar4 mask);
13777 char4 __ovld __cnfn shuffle(char16 x, uchar4 mask);
13778 
13779 uchar4 __ovld __cnfn shuffle(uchar2 x, uchar4 mask);
13780 uchar4 __ovld __cnfn shuffle(uchar4 x, uchar4 mask);
13781 uchar4 __ovld __cnfn shuffle(uchar8 x, uchar4 mask);
13782 uchar4 __ovld __cnfn shuffle(uchar16 x, uchar4 mask);
13783 
13784 short4 __ovld __cnfn shuffle(short2 x, ushort4 mask);
13785 short4 __ovld __cnfn shuffle(short4 x, ushort4 mask);
13786 short4 __ovld __cnfn shuffle(short8 x, ushort4 mask);
13787 short4 __ovld __cnfn shuffle(short16 x, ushort4 mask);
13788 
13789 ushort4 __ovld __cnfn shuffle(ushort2 x, ushort4 mask);
13790 ushort4 __ovld __cnfn shuffle(ushort4 x, ushort4 mask);
13791 ushort4 __ovld __cnfn shuffle(ushort8 x, ushort4 mask);
13792 ushort4 __ovld __cnfn shuffle(ushort16 x, ushort4 mask);
13793 
13794 int4 __ovld __cnfn shuffle(int2 x, uint4 mask);
13795 int4 __ovld __cnfn shuffle(int4 x, uint4 mask);
13796 int4 __ovld __cnfn shuffle(int8 x, uint4 mask);
13797 int4 __ovld __cnfn shuffle(int16 x, uint4 mask);
13798 
13799 uint4 __ovld __cnfn shuffle(uint2 x, uint4 mask);
13800 uint4 __ovld __cnfn shuffle(uint4 x, uint4 mask);
13801 uint4 __ovld __cnfn shuffle(uint8 x, uint4 mask);
13802 uint4 __ovld __cnfn shuffle(uint16 x, uint4 mask);
13803 
13804 long4 __ovld __cnfn shuffle(long2 x, ulong4 mask);
13805 long4 __ovld __cnfn shuffle(long4 x, ulong4 mask);
13806 long4 __ovld __cnfn shuffle(long8 x, ulong4 mask);
13807 long4 __ovld __cnfn shuffle(long16 x, ulong4 mask);
13808 
13809 ulong4 __ovld __cnfn shuffle(ulong2 x, ulong4 mask);
13810 ulong4 __ovld __cnfn shuffle(ulong4 x, ulong4 mask);
13811 ulong4 __ovld __cnfn shuffle(ulong8 x, ulong4 mask);
13812 ulong4 __ovld __cnfn shuffle(ulong16 x, ulong4 mask);
13813 
13814 float4 __ovld __cnfn shuffle(float2 x, uint4 mask);
13815 float4 __ovld __cnfn shuffle(float4 x, uint4 mask);
13816 float4 __ovld __cnfn shuffle(float8 x, uint4 mask);
13817 float4 __ovld __cnfn shuffle(float16 x, uint4 mask);
13818 
13819 char8 __ovld __cnfn shuffle(char2 x, uchar8 mask);
13820 char8 __ovld __cnfn shuffle(char4 x, uchar8 mask);
13821 char8 __ovld __cnfn shuffle(char8 x, uchar8 mask);
13822 char8 __ovld __cnfn shuffle(char16 x, uchar8 mask);
13823 
13824 uchar8 __ovld __cnfn shuffle(uchar2 x, uchar8 mask);
13825 uchar8 __ovld __cnfn shuffle(uchar4 x, uchar8 mask);
13826 uchar8 __ovld __cnfn shuffle(uchar8 x, uchar8 mask);
13827 uchar8 __ovld __cnfn shuffle(uchar16 x, uchar8 mask);
13828 
13829 short8 __ovld __cnfn shuffle(short2 x, ushort8 mask);
13830 short8 __ovld __cnfn shuffle(short4 x, ushort8 mask);
13831 short8 __ovld __cnfn shuffle(short8 x, ushort8 mask);
13832 short8 __ovld __cnfn shuffle(short16 x, ushort8 mask);
13833 
13834 ushort8 __ovld __cnfn shuffle(ushort2 x, ushort8 mask);
13835 ushort8 __ovld __cnfn shuffle(ushort4 x, ushort8 mask);
13836 ushort8 __ovld __cnfn shuffle(ushort8 x, ushort8 mask);
13837 ushort8 __ovld __cnfn shuffle(ushort16 x, ushort8 mask);
13838 
13843 
13848 
13849 long8 __ovld __cnfn shuffle(long2 x, ulong8 mask);
13850 long8 __ovld __cnfn shuffle(long4 x, ulong8 mask);
13851 long8 __ovld __cnfn shuffle(long8 x, ulong8 mask);
13852 long8 __ovld __cnfn shuffle(long16 x, ulong8 mask);
13853 
13854 ulong8 __ovld __cnfn shuffle(ulong2 x, ulong8 mask);
13855 ulong8 __ovld __cnfn shuffle(ulong4 x, ulong8 mask);
13856 ulong8 __ovld __cnfn shuffle(ulong8 x, ulong8 mask);
13857 ulong8 __ovld __cnfn shuffle(ulong16 x, ulong8 mask);
13858 
13859 float8 __ovld __cnfn shuffle(float2 x, uint8 mask);
13860 float8 __ovld __cnfn shuffle(float4 x, uint8 mask);
13861 float8 __ovld __cnfn shuffle(float8 x, uint8 mask);
13862 float8 __ovld __cnfn shuffle(float16 x, uint8 mask);
13863 
13864 char16 __ovld __cnfn shuffle(char2 x, uchar16 mask);
13865 char16 __ovld __cnfn shuffle(char4 x, uchar16 mask);
13866 char16 __ovld __cnfn shuffle(char8 x, uchar16 mask);
13867 char16 __ovld __cnfn shuffle(char16 x, uchar16 mask);
13868 
13869 uchar16 __ovld __cnfn shuffle(uchar2 x, uchar16 mask);
13870 uchar16 __ovld __cnfn shuffle(uchar4 x, uchar16 mask);
13871 uchar16 __ovld __cnfn shuffle(uchar8 x, uchar16 mask);
13872 uchar16 __ovld __cnfn shuffle(uchar16 x, uchar16 mask);
13873 
13874 short16 __ovld __cnfn shuffle(short2 x, ushort16 mask);
13875 short16 __ovld __cnfn shuffle(short4 x, ushort16 mask);
13876 short16 __ovld __cnfn shuffle(short8 x, ushort16 mask);
13877 short16 __ovld __cnfn shuffle(short16 x, ushort16 mask);
13878 
13879 ushort16 __ovld __cnfn shuffle(ushort2 x, ushort16 mask);
13880 ushort16 __ovld __cnfn shuffle(ushort4 x, ushort16 mask);
13881 ushort16 __ovld __cnfn shuffle(ushort8 x, ushort16 mask);
13882 ushort16 __ovld __cnfn shuffle(ushort16 x, ushort16 mask);
13883 
13888 
13893 
13894 long16 __ovld __cnfn shuffle(long2 x, ulong16 mask);
13895 long16 __ovld __cnfn shuffle(long4 x, ulong16 mask);
13896 long16 __ovld __cnfn shuffle(long8 x, ulong16 mask);
13897 long16 __ovld __cnfn shuffle(long16 x, ulong16 mask);
13898 
13899 ulong16 __ovld __cnfn shuffle(ulong2 x, ulong16 mask);
13900 ulong16 __ovld __cnfn shuffle(ulong4 x, ulong16 mask);
13901 ulong16 __ovld __cnfn shuffle(ulong8 x, ulong16 mask);
13902 ulong16 __ovld __cnfn shuffle(ulong16 x, ulong16 mask);
13903 
13904 float16 __ovld __cnfn shuffle(float2 x, uint16 mask);
13905 float16 __ovld __cnfn shuffle(float4 x, uint16 mask);
13906 float16 __ovld __cnfn shuffle(float8 x, uint16 mask);
13907 float16 __ovld __cnfn shuffle(float16 x, uint16 mask);
13908 
13909 #ifdef cl_khr_fp64
13910 double2 __ovld __cnfn shuffle(double2 x, ulong2 mask);
13911 double2 __ovld __cnfn shuffle(double4 x, ulong2 mask);
13912 double2 __ovld __cnfn shuffle(double8 x, ulong2 mask);
13913 double2 __ovld __cnfn shuffle(double16 x, ulong2 mask);
13914 
13915 double4 __ovld __cnfn shuffle(double2 x, ulong4 mask);
13916 double4 __ovld __cnfn shuffle(double4 x, ulong4 mask);
13917 double4 __ovld __cnfn shuffle(double8 x, ulong4 mask);
13918 double4 __ovld __cnfn shuffle(double16 x, ulong4 mask);
13919 
13920 double8 __ovld __cnfn shuffle(double2 x, ulong8 mask);
13921 double8 __ovld __cnfn shuffle(double4 x, ulong8 mask);
13922 double8 __ovld __cnfn shuffle(double8 x, ulong8 mask);
13923 double8 __ovld __cnfn shuffle(double16 x, ulong8 mask);
13924 
13925 double16 __ovld __cnfn shuffle(double2 x, ulong16 mask);
13926 double16 __ovld __cnfn shuffle(double4 x, ulong16 mask);
13927 double16 __ovld __cnfn shuffle(double8 x, ulong16 mask);
13928 double16 __ovld __cnfn shuffle(double16 x, ulong16 mask);
13929 #endif //cl_khr_fp64
13930 
13931 #ifdef cl_khr_fp16
13932 half2 __ovld __cnfn shuffle(half2 x, ushort2 mask);
13933 half2 __ovld __cnfn shuffle(half4 x, ushort2 mask);
13934 half2 __ovld __cnfn shuffle(half8 x, ushort2 mask);
13935 half2 __ovld __cnfn shuffle(half16 x, ushort2 mask);
13936 
13937 half4 __ovld __cnfn shuffle(half2 x, ushort4 mask);
13938 half4 __ovld __cnfn shuffle(half4 x, ushort4 mask);
13939 half4 __ovld __cnfn shuffle(half8 x, ushort4 mask);
13940 half4 __ovld __cnfn shuffle(half16 x, ushort4 mask);
13941 
13942 half8 __ovld __cnfn shuffle(half2 x, ushort8 mask);
13943 half8 __ovld __cnfn shuffle(half4 x, ushort8 mask);
13944 half8 __ovld __cnfn shuffle(half8 x, ushort8 mask);
13945 half8 __ovld __cnfn shuffle(half16 x, ushort8 mask);
13946 
13947 half16 __ovld __cnfn shuffle(half2 x, ushort16 mask);
13948 half16 __ovld __cnfn shuffle(half4 x, ushort16 mask);
13949 half16 __ovld __cnfn shuffle(half8 x, ushort16 mask);
13950 half16 __ovld __cnfn shuffle(half16 x, ushort16 mask);
13951 #endif //cl_khr_fp16
13952 
13953 char2 __ovld __cnfn shuffle2(char2 x, char2 y, uchar2 mask);
13954 char2 __ovld __cnfn shuffle2(char4 x, char4 y, uchar2 mask);
13955 char2 __ovld __cnfn shuffle2(char8 x, char8 y, uchar2 mask);
13956 char2 __ovld __cnfn shuffle2(char16 x, char16 y, uchar2 mask);
13957 
13958 uchar2 __ovld __cnfn shuffle2(uchar2 x, uchar2 y, uchar2 mask);
13959 uchar2 __ovld __cnfn shuffle2(uchar4 x, uchar4 y, uchar2 mask);
13960 uchar2 __ovld __cnfn shuffle2(uchar8 x, uchar8 y, uchar2 mask);
13961 uchar2 __ovld __cnfn shuffle2(uchar16 x, uchar16 y, uchar2 mask);
13962 
13963 short2 __ovld __cnfn shuffle2(short2 x, short2 y, ushort2 mask);
13964 short2 __ovld __cnfn shuffle2(short4 x, short4 y, ushort2 mask);
13965 short2 __ovld __cnfn shuffle2(short8 x, short8 y, ushort2 mask);
13966 short2 __ovld __cnfn shuffle2(short16 x, short16 y, ushort2 mask);
13967 
13968 ushort2 __ovld __cnfn shuffle2(ushort2 x, ushort2 y, ushort2 mask);
13969 ushort2 __ovld __cnfn shuffle2(ushort4 x, ushort4 y, ushort2 mask);
13970 ushort2 __ovld __cnfn shuffle2(ushort8 x, ushort8 y, ushort2 mask);
13971 ushort2 __ovld __cnfn shuffle2(ushort16 x, ushort16 y, ushort2 mask);
13972 
13973 int2 __ovld __cnfn shuffle2(int2 x, int2 y, uint2 mask);
13974 int2 __ovld __cnfn shuffle2(int4 x, int4 y, uint2 mask);
13975 int2 __ovld __cnfn shuffle2(int8 x, int8 y, uint2 mask);
13976 int2 __ovld __cnfn shuffle2(int16 x, int16 y, uint2 mask);
13977 
13978 uint2 __ovld __cnfn shuffle2(uint2 x, uint2 y, uint2 mask);
13979 uint2 __ovld __cnfn shuffle2(uint4 x, uint4 y, uint2 mask);
13980 uint2 __ovld __cnfn shuffle2(uint8 x, uint8 y, uint2 mask);
13981 uint2 __ovld __cnfn shuffle2(uint16 x, uint16 y, uint2 mask);
13982 
13983 long2 __ovld __cnfn shuffle2(long2 x, long2 y, ulong2 mask);
13984 long2 __ovld __cnfn shuffle2(long4 x, long4 y, ulong2 mask);
13985 long2 __ovld __cnfn shuffle2(long8 x, long8 y, ulong2 mask);
13986 long2 __ovld __cnfn shuffle2(long16 x, long16 y, ulong2 mask);
13987 
13988 ulong2 __ovld __cnfn shuffle2(ulong2 x, ulong2 y, ulong2 mask);
13989 ulong2 __ovld __cnfn shuffle2(ulong4 x, ulong4 y, ulong2 mask);
13990 ulong2 __ovld __cnfn shuffle2(ulong8 x, ulong8 y, ulong2 mask);
13991 ulong2 __ovld __cnfn shuffle2(ulong16 x, ulong16 y, ulong2 mask);
13992 
13993 float2 __ovld __cnfn shuffle2(float2 x, float2 y, uint2 mask);
13994 float2 __ovld __cnfn shuffle2(float4 x, float4 y, uint2 mask);
13995 float2 __ovld __cnfn shuffle2(float8 x, float8 y, uint2 mask);
13996 float2 __ovld __cnfn shuffle2(float16 x, float16 y, uint2 mask);
13997 
13998 char4 __ovld __cnfn shuffle2(char2 x, char2 y, uchar4 mask);
13999 char4 __ovld __cnfn shuffle2(char4 x, char4 y, uchar4 mask);
14000 char4 __ovld __cnfn shuffle2(char8 x, char8 y, uchar4 mask);
14001 char4 __ovld __cnfn shuffle2(char16 x, char16 y, uchar4 mask);
14002 
14003 uchar4 __ovld __cnfn shuffle2(uchar2 x, uchar2 y, uchar4 mask);
14004 uchar4 __ovld __cnfn shuffle2(uchar4 x, uchar4 y, uchar4 mask);
14005 uchar4 __ovld __cnfn shuffle2(uchar8 x, uchar8 y, uchar4 mask);
14006 uchar4 __ovld __cnfn shuffle2(uchar16 x, uchar16 y, uchar4 mask);
14007 
14008 short4 __ovld __cnfn shuffle2(short2 x, short2 y, ushort4 mask);
14009 short4 __ovld __cnfn shuffle2(short4 x, short4 y, ushort4 mask);
14010 short4 __ovld __cnfn shuffle2(short8 x, short8 y, ushort4 mask);
14011 short4 __ovld __cnfn shuffle2(short16 x, short16 y, ushort4 mask);
14012 
14013 ushort4 __ovld __cnfn shuffle2(ushort2 x, ushort2 y, ushort4 mask);
14014 ushort4 __ovld __cnfn shuffle2(ushort4 x, ushort4 y, ushort4 mask);
14015 ushort4 __ovld __cnfn shuffle2(ushort8 x, ushort8 y, ushort4 mask);
14016 ushort4 __ovld __cnfn shuffle2(ushort16 x, ushort16 y, ushort4 mask);
14017 
14018 int4 __ovld __cnfn shuffle2(int2 x, int2 y, uint4 mask);
14019 int4 __ovld __cnfn shuffle2(int4 x, int4 y, uint4 mask);
14020 int4 __ovld __cnfn shuffle2(int8 x, int8 y, uint4 mask);
14021 int4 __ovld __cnfn shuffle2(int16 x, int16 y, uint4 mask);
14022 
14023 uint4 __ovld __cnfn shuffle2(uint2 x, uint2 y, uint4 mask);
14024 uint4 __ovld __cnfn shuffle2(uint4 x, uint4 y, uint4 mask);
14025 uint4 __ovld __cnfn shuffle2(uint8 x, uint8 y, uint4 mask);
14026 uint4 __ovld __cnfn shuffle2(uint16 x, uint16 y, uint4 mask);
14027 
14028 long4 __ovld __cnfn shuffle2(long2 x, long2 y, ulong4 mask);
14029 long4 __ovld __cnfn shuffle2(long4 x, long4 y, ulong4 mask);
14030 long4 __ovld __cnfn shuffle2(long8 x, long8 y, ulong4 mask);
14031 long4 __ovld __cnfn shuffle2(long16 x, long16 y, ulong4 mask);
14032 
14033 ulong4 __ovld __cnfn shuffle2(ulong2 x, ulong2 y, ulong4 mask);
14034 ulong4 __ovld __cnfn shuffle2(ulong4 x, ulong4 y, ulong4 mask);
14035 ulong4 __ovld __cnfn shuffle2(ulong8 x, ulong8 y, ulong4 mask);
14036 ulong4 __ovld __cnfn shuffle2(ulong16 x, ulong16 y, ulong4 mask);
14037 
14038 float4 __ovld __cnfn shuffle2(float2 x, float2 y, uint4 mask);
14039 float4 __ovld __cnfn shuffle2(float4 x, float4 y, uint4 mask);
14040 float4 __ovld __cnfn shuffle2(float8 x, float8 y, uint4 mask);
14041 float4 __ovld __cnfn shuffle2(float16 x, float16 y, uint4 mask);
14042 
14043 char8 __ovld __cnfn shuffle2(char2 x, char2 y, uchar8 mask);
14044 char8 __ovld __cnfn shuffle2(char4 x, char4 y, uchar8 mask);
14045 char8 __ovld __cnfn shuffle2(char8 x, char8 y, uchar8 mask);
14046 char8 __ovld __cnfn shuffle2(char16 x, char16 y, uchar8 mask);
14047 
14048 uchar8 __ovld __cnfn shuffle2(uchar2 x, uchar2 y, uchar8 mask);
14049 uchar8 __ovld __cnfn shuffle2(uchar4 x, uchar4 y, uchar8 mask);
14050 uchar8 __ovld __cnfn shuffle2(uchar8 x, uchar8 y, uchar8 mask);
14051 uchar8 __ovld __cnfn shuffle2(uchar16 x, uchar16 y, uchar8 mask);
14052 
14053 short8 __ovld __cnfn shuffle2(short2 x, short2 y, ushort8 mask);
14054 short8 __ovld __cnfn shuffle2(short4 x, short4 y, ushort8 mask);
14055 short8 __ovld __cnfn shuffle2(short8 x, short8 y, ushort8 mask);
14056 short8 __ovld __cnfn shuffle2(short16 x, short16 y, ushort8 mask);
14057 
14058 ushort8 __ovld __cnfn shuffle2(ushort2 x, ushort2 y, ushort8 mask);
14059 ushort8 __ovld __cnfn shuffle2(ushort4 x, ushort4 y, ushort8 mask);
14060 ushort8 __ovld __cnfn shuffle2(ushort8 x, ushort8 y, ushort8 mask);
14061 ushort8 __ovld __cnfn shuffle2(ushort16 x, ushort16 y, ushort8 mask);
14062 
14063 int8 __ovld __cnfn shuffle2(int2 x, int2 y, uint8 mask);
14064 int8 __ovld __cnfn shuffle2(int4 x, int4 y, uint8 mask);
14067 
14068 uint8 __ovld __cnfn shuffle2(uint2 x, uint2 y, uint8 mask);
14069 uint8 __ovld __cnfn shuffle2(uint4 x, uint4 y, uint8 mask);
14072 
14073 long8 __ovld __cnfn shuffle2(long2 x, long2 y, ulong8 mask);
14074 long8 __ovld __cnfn shuffle2(long4 x, long4 y, ulong8 mask);
14075 long8 __ovld __cnfn shuffle2(long8 x, long8 y, ulong8 mask);
14076 long8 __ovld __cnfn shuffle2(long16 x, long16 y, ulong8 mask);
14077 
14078 ulong8 __ovld __cnfn shuffle2(ulong2 x, ulong2 y, ulong8 mask);
14079 ulong8 __ovld __cnfn shuffle2(ulong4 x, ulong4 y, ulong8 mask);
14080 ulong8 __ovld __cnfn shuffle2(ulong8 x, ulong8 y, ulong8 mask);
14081 ulong8 __ovld __cnfn shuffle2(ulong16 x, ulong16 y, ulong8 mask);
14082 
14083 float8 __ovld __cnfn shuffle2(float2 x, float2 y, uint8 mask);
14084 float8 __ovld __cnfn shuffle2(float4 x, float4 y, uint8 mask);
14085 float8 __ovld __cnfn shuffle2(float8 x, float8 y, uint8 mask);
14086 float8 __ovld __cnfn shuffle2(float16 x, float16 y, uint8 mask);
14087 
14088 char16 __ovld __cnfn shuffle2(char2 x, char2 y, uchar16 mask);
14089 char16 __ovld __cnfn shuffle2(char4 x, char4 y, uchar16 mask);
14090 char16 __ovld __cnfn shuffle2(char8 x, char8 y, uchar16 mask);
14091 char16 __ovld __cnfn shuffle2(char16 x, char16 y, uchar16 mask);
14092 
14093 uchar16 __ovld __cnfn shuffle2(uchar2 x, uchar2 y, uchar16 mask);
14094 uchar16 __ovld __cnfn shuffle2(uchar4 x, uchar4 y, uchar16 mask);
14095 uchar16 __ovld __cnfn shuffle2(uchar8 x, uchar8 y, uchar16 mask);
14096 uchar16 __ovld __cnfn shuffle2(uchar16 x, uchar16 y, uchar16 mask);
14097 
14098 short16 __ovld __cnfn shuffle2(short2 x, short2 y, ushort16 mask);
14099 short16 __ovld __cnfn shuffle2(short4 x, short4 y, ushort16 mask);
14100 short16 __ovld __cnfn shuffle2(short8 x, short8 y, ushort16 mask);
14101 short16 __ovld __cnfn shuffle2(short16 x, short16 y, ushort16 mask);
14102 
14103 ushort16 __ovld __cnfn shuffle2(ushort2 x, ushort2 y, ushort16 mask);
14104 ushort16 __ovld __cnfn shuffle2(ushort4 x, ushort4 y, ushort16 mask);
14105 ushort16 __ovld __cnfn shuffle2(ushort8 x, ushort8 y, ushort16 mask);
14106 ushort16 __ovld __cnfn shuffle2(ushort16 x, ushort16 y, ushort16 mask);
14107 
14108 int16 __ovld __cnfn shuffle2(int2 x, int2 y, uint16 mask);
14109 int16 __ovld __cnfn shuffle2(int4 x, int4 y, uint16 mask);
14112 
14113 uint16 __ovld __cnfn shuffle2(uint2 x, uint2 y, uint16 mask);
14114 uint16 __ovld __cnfn shuffle2(uint4 x, uint4 y, uint16 mask);
14117 
14118 long16 __ovld __cnfn shuffle2(long2 x, long2 y, ulong16 mask);
14119 long16 __ovld __cnfn shuffle2(long4 x, long4 y, ulong16 mask);
14120 long16 __ovld __cnfn shuffle2(long8 x, long8 y, ulong16 mask);
14121 long16 __ovld __cnfn shuffle2(long16 x, long16 y, ulong16 mask);
14122 
14123 ulong16 __ovld __cnfn shuffle2(ulong2 x, ulong2 y, ulong16 mask);
14124 ulong16 __ovld __cnfn shuffle2(ulong4 x, ulong4 y, ulong16 mask);
14125 ulong16 __ovld __cnfn shuffle2(ulong8 x, ulong8 y, ulong16 mask);
14126 ulong16 __ovld __cnfn shuffle2(ulong16 x, ulong16 y, ulong16 mask);
14127 
14128 float16 __ovld __cnfn shuffle2(float2 x, float2 y, uint16 mask);
14129 float16 __ovld __cnfn shuffle2(float4 x, float4 y, uint16 mask);
14130 float16 __ovld __cnfn shuffle2(float8 x, float8 y, uint16 mask);
14131 float16 __ovld __cnfn shuffle2(float16 x, float16 y, uint16 mask);
14132 
14133 #ifdef cl_khr_fp64
14134 double2 __ovld __cnfn shuffle2(double2 x, double2 y, ulong2 mask);
14135 double2 __ovld __cnfn shuffle2(double4 x, double4 y, ulong2 mask);
14136 double2 __ovld __cnfn shuffle2(double8 x, double8 y, ulong2 mask);
14137 double2 __ovld __cnfn shuffle2(double16 x, double16 y, ulong2 mask);
14138 
14139 double4 __ovld __cnfn shuffle2(double2 x, double2 y, ulong4 mask);
14140 double4 __ovld __cnfn shuffle2(double4 x, double4 y, ulong4 mask);
14141 double4 __ovld __cnfn shuffle2(double8 x, double8 y, ulong4 mask);
14142 double4 __ovld __cnfn shuffle2(double16 x, double16 y, ulong4 mask);
14143 
14144 double8 __ovld __cnfn shuffle2(double2 x, double2 y, ulong8 mask);
14145 double8 __ovld __cnfn shuffle2(double4 x, double4 y, ulong8 mask);
14146 double8 __ovld __cnfn shuffle2(double8 x, double8 y, ulong8 mask);
14147 double8 __ovld __cnfn shuffle2(double16 x, double16 y, ulong8 mask);
14148 
14149 double16 __ovld __cnfn shuffle2(double2 x, double2 y, ulong16 mask);
14150 double16 __ovld __cnfn shuffle2(double4 x, double4 y, ulong16 mask);
14151 double16 __ovld __cnfn shuffle2(double8 x, double8 y, ulong16 mask);
14152 double16 __ovld __cnfn shuffle2(double16 x, double16 y, ulong16 mask);
14153 #endif //cl_khr_fp64
14154 
14155 #ifdef cl_khr_fp16
14156 half2 __ovld __cnfn shuffle2(half2 x, half2 y, ushort2 mask);
14157 half2 __ovld __cnfn shuffle2(half4 x, half4 y, ushort2 mask);
14158 half2 __ovld __cnfn shuffle2(half8 x, half8 y, ushort2 mask);
14159 half2 __ovld __cnfn shuffle2(half16 x, half16 y, ushort2 mask);
14160 
14161 half4 __ovld __cnfn shuffle2(half2 x, half2 y, ushort4 mask);
14162 half4 __ovld __cnfn shuffle2(half4 x, half4 y, ushort4 mask);
14163 half4 __ovld __cnfn shuffle2(half8 x, half8 y, ushort4 mask);
14164 half4 __ovld __cnfn shuffle2(half16 x, half16 y, ushort4 mask);
14165 
14166 half8 __ovld __cnfn shuffle2(half2 x, half2 y, ushort8 mask);
14167 half8 __ovld __cnfn shuffle2(half4 x, half4 y, ushort8 mask);
14168 half8 __ovld __cnfn shuffle2(half8 x, half8 y, ushort8 mask);
14169 half8 __ovld __cnfn shuffle2(half16 x, half16 y, ushort8 mask);
14170 
14171 half16 __ovld __cnfn shuffle2(half2 x, half2 y, ushort16 mask);
14172 half16 __ovld __cnfn shuffle2(half4 x, half4 y, ushort16 mask);
14173 half16 __ovld __cnfn shuffle2(half8 x, half8 y, ushort16 mask);
14174 half16 __ovld __cnfn shuffle2(half16 x, half16 y, ushort16 mask);
14175 #endif //cl_khr_fp16
14176 
14177 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_1_2)
14178 // OpenCL v1.2 s6.12.13, v2.0 s6.13.13 - printf
14179 
14180 int printf(__constant const char* st, ...) __attribute__((format(printf, 1, 2)));
14181 #endif
14182 
14183 // OpenCL v1.1 s6.11.3, v1.2 s6.12.14, v2.0 s6.13.14 - Image Read and Write Functions
14184 
14185 #ifdef cl_khr_gl_msaa_sharing
14186 #pragma OPENCL EXTENSION cl_khr_gl_msaa_sharing : enable
14187 #endif //cl_khr_gl_msaa_sharing
14188 
14282 float4 __purefn __ovld read_imagef(read_only image2d_t image, sampler_t sampler, int2 coord);
14283 float4 __purefn __ovld read_imagef(read_only image2d_t image, sampler_t sampler, float2 coord);
14284 
14285 int4 __purefn __ovld read_imagei(read_only image2d_t image, sampler_t sampler, int2 coord);
14286 int4 __purefn __ovld read_imagei(read_only image2d_t image, sampler_t sampler, float2 coord);
14287 uint4 __purefn __ovld read_imageui(read_only image2d_t image, sampler_t sampler, int2 coord);
14288 uint4 __purefn __ovld read_imageui(read_only image2d_t image, sampler_t sampler, float2 coord);
14289 
14290 float4 __purefn __ovld read_imagef(read_only image3d_t image, sampler_t sampler, int4 coord);
14291 float4 __purefn __ovld read_imagef(read_only image3d_t image, sampler_t sampler, float4 coord);
14292 
14293 int4 __purefn __ovld read_imagei(read_only image3d_t image, sampler_t sampler, int4 coord);
14294 int4 __purefn __ovld read_imagei(read_only image3d_t image, sampler_t sampler, float4 coord);
14295 uint4 __purefn __ovld read_imageui(read_only image3d_t image, sampler_t sampler, int4 coord);
14296 uint4 __purefn __ovld read_imageui(read_only image3d_t image, sampler_t sampler, float4 coord);
14297 
14298 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_1_2)
14299 float4 __purefn __ovld read_imagef(read_only image2d_array_t image_array, sampler_t sampler, int4 coord);
14300 float4 __purefn __ovld read_imagef(read_only image2d_array_t image_array, sampler_t sampler, float4 coord);
14301 
14302 int4 __purefn __ovld read_imagei(read_only image2d_array_t image_array, sampler_t sampler, int4 coord);
14303 int4 __purefn __ovld read_imagei(read_only image2d_array_t image_array, sampler_t sampler, float4 coord);
14304 uint4 __purefn __ovld read_imageui(read_only image2d_array_t image_array, sampler_t sampler, int4 coord);
14305 uint4 __purefn __ovld read_imageui(read_only image2d_array_t image_array, sampler_t sampler, float4 coord);
14306 #endif // defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_1_2)
14307 
14308 float4 __purefn __ovld read_imagef(read_only image1d_t image, sampler_t sampler, int coord);
14309 float4 __purefn __ovld read_imagef(read_only image1d_t image, sampler_t sampler, float coord);
14310 
14311 int4 __purefn __ovld read_imagei(read_only image1d_t image, sampler_t sampler, int coord);
14312 int4 __purefn __ovld read_imagei(read_only image1d_t image, sampler_t sampler, float coord);
14313 uint4 __purefn __ovld read_imageui(read_only image1d_t image, sampler_t sampler, int coord);
14314 uint4 __purefn __ovld read_imageui(read_only image1d_t image, sampler_t sampler, float coord);
14315 
14316 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_1_2)
14317 float4 __purefn __ovld read_imagef(read_only image1d_array_t image_array, sampler_t sampler, int2 coord);
14318 float4 __purefn __ovld read_imagef(read_only image1d_array_t image_array, sampler_t sampler, float2 coord);
14319 
14320 int4 __purefn __ovld read_imagei(read_only image1d_array_t image_array, sampler_t sampler, int2 coord);
14321 int4 __purefn __ovld read_imagei(read_only image1d_array_t image_array, sampler_t sampler, float2 coord);
14322 uint4 __purefn __ovld read_imageui(read_only image1d_array_t image_array, sampler_t sampler, int2 coord);
14323 uint4 __purefn __ovld read_imageui(read_only image1d_array_t image_array, sampler_t sampler, float2 coord);
14324 #endif // defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_1_2)
14325 
14326 #ifdef cl_khr_depth_images
14327 float __purefn __ovld read_imagef(read_only image2d_depth_t image, sampler_t sampler, float2 coord);
14328 float __purefn __ovld read_imagef(read_only image2d_depth_t image, sampler_t sampler, int2 coord);
14329 
14330 float __purefn __ovld read_imagef(read_only image2d_array_depth_t image, sampler_t sampler, float4 coord);
14331 float __purefn __ovld read_imagef(read_only image2d_array_depth_t image, sampler_t sampler, int4 coord);
14332 #endif //cl_khr_depth_images
14333 
14334 #if defined(cl_khr_gl_msaa_sharing)
14335 float4 __purefn __ovld read_imagef(read_only image2d_msaa_t image, int2 coord, int sample);
14336 int4 __purefn __ovld read_imagei(read_only image2d_msaa_t image, int2 coord, int sample);
14337 uint4 __purefn __ovld read_imageui(read_only image2d_msaa_t image, int2 coord, int sample);
14338 
14339 float __purefn __ovld read_imagef(read_only image2d_msaa_depth_t image, int2 coord, int sample);
14340 
14341 float4 __purefn __ovld read_imagef(read_only image2d_array_msaa_t image, int4 coord, int sample);
14342 int4 __purefn __ovld read_imagei(read_only image2d_array_msaa_t image, int4 coord, int sample);
14343 uint4 __purefn __ovld read_imageui(read_only image2d_array_msaa_t image, int4 coord, int sample);
14344 
14345 float __purefn __ovld read_imagef(read_only image2d_array_msaa_depth_t image, int4 coord, int sample);
14346 #endif //cl_khr_gl_msaa_sharing
14347 
14348 // OpenCL Extension v2.0 s9.18 - Mipmaps
14349 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
14350 #ifdef cl_khr_mipmap_image
14351 
14352 float4 __purefn __ovld read_imagef(read_only image1d_t image, sampler_t sampler, float coord, float lod);
14353 int4 __purefn __ovld read_imagei(read_only image1d_t image, sampler_t sampler, float coord, float lod);
14354 uint4 __purefn __ovld read_imageui(read_only image1d_t image, sampler_t sampler, float coord, float lod);
14355 
14356 float4 __purefn __ovld read_imagef(read_only image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
14357 int4 __purefn __ovld read_imagei(read_only image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
14358 uint4 __purefn __ovld read_imageui(read_only image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
14359 
14360 float4 __purefn __ovld read_imagef(read_only image2d_t image, sampler_t sampler, float2 coord, float lod);
14361 int4 __purefn __ovld read_imagei(read_only image2d_t image, sampler_t sampler, float2 coord, float lod);
14362 uint4 __purefn __ovld read_imageui(read_only image2d_t image, sampler_t sampler, float2 coord, float lod);
14363 
14364 float __purefn __ovld read_imagef(read_only image2d_depth_t image, sampler_t sampler, float2 coord, float lod);
14365 
14366 float4 __purefn __ovld read_imagef(read_only image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
14367 int4 __purefn __ovld read_imagei(read_only image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
14368 uint4 __purefn __ovld read_imageui(read_only image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
14369 
14370 float __purefn __ovld read_imagef(read_only image2d_array_depth_t image, sampler_t sampler, float4 coord, float lod);
14371 
14372 float4 __purefn __ovld read_imagef(read_only image3d_t image, sampler_t sampler, float4 coord, float lod);
14373 int4 __purefn __ovld read_imagei(read_only image3d_t image, sampler_t sampler, float4 coord, float lod);
14374 uint4 __purefn __ovld read_imageui(read_only image3d_t image, sampler_t sampler, float4 coord, float lod);
14375 
14376 float4 __purefn __ovld read_imagef(read_only image1d_t image, sampler_t sampler, float coord, float gradientX, float gradientY);
14377 int4 __purefn __ovld read_imagei(read_only image1d_t image, sampler_t sampler, float coord, float gradientX, float gradientY);
14378 uint4 __purefn __ovld read_imageui(read_only image1d_t image, sampler_t sampler, float coord, float gradientX, float gradientY);
14379 
14380 float4 __purefn __ovld read_imagef(read_only image1d_array_t image_array, sampler_t sampler, float2 coord, float gradientX, float gradientY);
14381 int4 __purefn __ovld read_imagei(read_only image1d_array_t image_array, sampler_t sampler, float2 coord, float gradientX, float gradientY);
14382 uint4 __purefn __ovld read_imageui(read_only image1d_array_t image_array, sampler_t sampler, float2 coord, float gradientX, float gradientY);
14383 
14384 float4 __purefn __ovld read_imagef(read_only image2d_t image, sampler_t sampler, float2 coord, float2 gradientX, float2 gradientY);
14385 int4 __purefn __ovld read_imagei(read_only image2d_t image, sampler_t sampler, float2 coord, float2 gradientX, float2 gradientY);
14386 uint4 __purefn __ovld read_imageui(read_only image2d_t image, sampler_t sampler, float2 coord, float2 gradientX, float2 gradientY);
14387 
14388 float __purefn __ovld read_imagef(read_only image2d_depth_t image, sampler_t sampler, float2 coord, float2 gradientX, float2 gradientY);
14389 
14390 float4 __purefn __ovld read_imagef(read_only image2d_array_t image_array, sampler_t sampler, float4 coord, float2 gradientX, float2 gradientY);
14391 int4 __purefn __ovld read_imagei(read_only image2d_array_t image_array, sampler_t sampler, float4 coord, float2 gradientX, float2 gradientY);
14392 uint4 __purefn __ovld read_imageui(read_only image2d_array_t image_array, sampler_t sampler, float4 coord, float2 gradientX, float2 gradientY);
14393 
14394 float __purefn __ovld read_imagef(read_only image2d_array_depth_t image, sampler_t sampler, float4 coord, float2 gradientX, float2 gradientY);
14395 
14396 float4 __purefn __ovld read_imagef(read_only image3d_t image, sampler_t sampler, float4 coord, float4 gradientX, float4 gradientY);
14397 int4 __purefn __ovld read_imagei(read_only image3d_t image, sampler_t sampler, float4 coord, float4 gradientX, float4 gradientY);
14398 uint4 __purefn __ovld read_imageui(read_only image3d_t image, sampler_t sampler, float4 coord, float4 gradientX, float4 gradientY);
14399 
14400 #endif //cl_khr_mipmap_image
14401 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
14402 
14403 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_1_2)
14404 
14409 float4 __purefn __ovld read_imagef(read_only image1d_t image, int coord);
14410 int4 __purefn __ovld read_imagei(read_only image1d_t image, int coord);
14411 uint4 __purefn __ovld read_imageui(read_only image1d_t image, int coord);
14412 
14413 float4 __purefn __ovld read_imagef(read_only image1d_buffer_t image, int coord);
14414 int4 __purefn __ovld read_imagei(read_only image1d_buffer_t image, int coord);
14415 uint4 __purefn __ovld read_imageui(read_only image1d_buffer_t image, int coord);
14416 
14417 float4 __purefn __ovld read_imagef(read_only image1d_array_t image, int2 coord);
14418 int4 __purefn __ovld read_imagei(read_only image1d_array_t image, int2 coord);
14419 uint4 __purefn __ovld read_imageui(read_only image1d_array_t image, int2 coord);
14420 
14421 float4 __purefn __ovld read_imagef(read_only image2d_t image, int2 coord);
14422 int4 __purefn __ovld read_imagei(read_only image2d_t image, int2 coord);
14423 uint4 __purefn __ovld read_imageui(read_only image2d_t image, int2 coord);
14424 
14425 float4 __purefn __ovld read_imagef(read_only image2d_array_t image, int4 coord);
14426 int4 __purefn __ovld read_imagei(read_only image2d_array_t image, int4 coord);
14427 uint4 __purefn __ovld read_imageui(read_only image2d_array_t image, int4 coord);
14428 
14429 #ifdef cl_khr_depth_images
14430 float __purefn __ovld read_imagef(read_only image2d_depth_t image, int2 coord);
14431 float __purefn __ovld read_imagef(read_only image2d_array_depth_t image, int4 coord);
14432 #endif //cl_khr_depth_images
14433 
14434 float4 __purefn __ovld read_imagef(read_only image3d_t image, int4 coord);
14435 int4 __purefn __ovld read_imagei(read_only image3d_t image, int4 coord);
14436 uint4 __purefn __ovld read_imageui(read_only image3d_t image, int4 coord);
14437 
14438 #endif // defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_1_2)
14439 
14440 // Image read functions returning half4 type
14441 #ifdef cl_khr_fp16
14442 half4 __purefn __ovld read_imageh(read_only image1d_t image, sampler_t sampler, int coord);
14443 half4 __purefn __ovld read_imageh(read_only image1d_t image, sampler_t sampler, float coord);
14444 half4 __purefn __ovld read_imageh(read_only image2d_t image, sampler_t sampler, int2 coord);
14445 half4 __purefn __ovld read_imageh(read_only image2d_t image, sampler_t sampler, float2 coord);
14446 half4 __purefn __ovld read_imageh(read_only image3d_t image, sampler_t sampler, int4 coord);
14447 half4 __purefn __ovld read_imageh(read_only image3d_t image, sampler_t sampler, float4 coord);
14448 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_1_2)
14449 half4 __purefn __ovld read_imageh(read_only image1d_array_t image, sampler_t sampler, int2 coord);
14450 half4 __purefn __ovld read_imageh(read_only image1d_array_t image, sampler_t sampler, float2 coord);
14451 half4 __purefn __ovld read_imageh(read_only image2d_array_t image, sampler_t sampler, int4 coord);
14452 half4 __purefn __ovld read_imageh(read_only image2d_array_t image, sampler_t sampler, float4 coord);
14456 half4 __purefn __ovld read_imageh(read_only image1d_t image, int coord);
14457 half4 __purefn __ovld read_imageh(read_only image2d_t image, int2 coord);
14458 half4 __purefn __ovld read_imageh(read_only image3d_t image, int4 coord);
14459 half4 __purefn __ovld read_imageh(read_only image1d_array_t image, int2 coord);
14460 half4 __purefn __ovld read_imageh(read_only image2d_array_t image, int4 coord);
14461 half4 __purefn __ovld read_imageh(read_only image1d_buffer_t image, int coord);
14462 #endif // defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_1_2)
14463 #endif //cl_khr_fp16
14464 
14465 // Image read functions for read_write images
14466 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
14467 float4 __purefn __ovld read_imagef(read_write image1d_t image, int coord);
14468 int4 __purefn __ovld read_imagei(read_write image1d_t image, int coord);
14469 uint4 __purefn __ovld read_imageui(read_write image1d_t image, int coord);
14470 
14471 float4 __purefn __ovld read_imagef(read_write image1d_buffer_t image, int coord);
14472 int4 __purefn __ovld read_imagei(read_write image1d_buffer_t image, int coord);
14473 uint4 __purefn __ovld read_imageui(read_write image1d_buffer_t image, int coord);
14474 
14475 float4 __purefn __ovld read_imagef(read_write image1d_array_t image, int2 coord);
14476 int4 __purefn __ovld read_imagei(read_write image1d_array_t image, int2 coord);
14477 uint4 __purefn __ovld read_imageui(read_write image1d_array_t image, int2 coord);
14478 
14479 float4 __purefn __ovld read_imagef(read_write image2d_t image, int2 coord);
14480 int4 __purefn __ovld read_imagei(read_write image2d_t image, int2 coord);
14481 uint4 __purefn __ovld read_imageui(read_write image2d_t image, int2 coord);
14482 
14483 float4 __purefn __ovld read_imagef(read_write image2d_array_t image, int4 coord);
14484 int4 __purefn __ovld read_imagei(read_write image2d_array_t image, int4 coord);
14485 uint4 __purefn __ovld read_imageui(read_write image2d_array_t image, int4 coord);
14486 
14487 float4 __purefn __ovld read_imagef(read_write image3d_t image, int4 coord);
14488 int4 __purefn __ovld read_imagei(read_write image3d_t image, int4 coord);
14489 uint4 __purefn __ovld read_imageui(read_write image3d_t image, int4 coord);
14490 
14491 #ifdef cl_khr_depth_images
14492 float __purefn __ovld read_imagef(read_write image2d_depth_t image, int2 coord);
14493 float __purefn __ovld read_imagef(read_write image2d_array_depth_t image, int4 coord);
14494 #endif //cl_khr_depth_images
14495 
14496 #if cl_khr_gl_msaa_sharing
14497 float4 __purefn __ovld read_imagef(read_write image2d_msaa_t image, int2 coord, int sample);
14498 int4 __purefn __ovld read_imagei(read_write image2d_msaa_t image, int2 coord, int sample);
14499 uint4 __purefn __ovld read_imageui(read_write image2d_msaa_t image, int2 coord, int sample);
14500 
14501 float4 __purefn __ovld read_imagef(read_write image2d_array_msaa_t image, int4 coord, int sample);
14502 int4 __purefn __ovld read_imagei(read_write image2d_array_msaa_t image, int4 coord, int sample);
14503 uint4 __purefn __ovld read_imageui(read_write image2d_array_msaa_t image, int4 coord, int sample);
14504 
14505 float __purefn __ovld read_imagef(read_write image2d_msaa_depth_t image, int2 coord, int sample);
14506 float __purefn __ovld read_imagef(read_write image2d_array_msaa_depth_t image, int4 coord, int sample);
14507 #endif //cl_khr_gl_msaa_sharing
14508 
14509 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
14510 #ifdef cl_khr_mipmap_image
14511 float4 __purefn __ovld read_imagef(read_write image1d_t image, sampler_t sampler, float coord, float lod);
14512 int4 __purefn __ovld read_imagei(read_write image1d_t image, sampler_t sampler, float coord, float lod);
14513 uint4 __purefn __ovld read_imageui(read_write image1d_t image, sampler_t sampler, float coord, float lod);
14514 
14515 float4 __purefn __ovld read_imagef(read_write image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
14516 int4 __purefn __ovld read_imagei(read_write image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
14517 uint4 __purefn __ovld read_imageui(read_write image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
14518 
14519 float4 __purefn __ovld read_imagef(read_write image2d_t image, sampler_t sampler, float2 coord, float lod);
14520 int4 __purefn __ovld read_imagei(read_write image2d_t image, sampler_t sampler, float2 coord, float lod);
14521 uint4 __purefn __ovld read_imageui(read_write image2d_t image, sampler_t sampler, float2 coord, float lod);
14522 
14523 float __purefn __ovld read_imagef(read_write image2d_depth_t image, sampler_t sampler, float2 coord, float lod);
14524 
14525 float4 __purefn __ovld read_imagef(read_write image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
14526 int4 __purefn __ovld read_imagei(read_write image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
14527 uint4 __purefn __ovld read_imageui(read_write image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
14528 
14529 float __purefn __ovld read_imagef(read_write image2d_array_depth_t image, sampler_t sampler, float4 coord, float lod);
14530 
14531 float4 __purefn __ovld read_imagef(read_write image3d_t image, sampler_t sampler, float4 coord, float lod);
14532 int4 __purefn __ovld read_imagei(read_write image3d_t image, sampler_t sampler, float4 coord, float lod);
14533 uint4 __purefn __ovld read_imageui(read_write image3d_t image, sampler_t sampler, float4 coord, float lod);
14534 
14535 float4 __purefn __ovld read_imagef(read_write image1d_t image, sampler_t sampler, float coord, float gradientX, float gradientY);
14536 int4 __purefn __ovld read_imagei(read_write image1d_t image, sampler_t sampler, float coord, float gradientX, float gradientY);
14537 uint4 __purefn __ovld read_imageui(read_write image1d_t image, sampler_t sampler, float coord, float gradientX, float gradientY);
14538 
14539 float4 __purefn __ovld read_imagef(read_write image1d_array_t image_array, sampler_t sampler, float2 coord, float gradientX, float gradientY);
14540 int4 __purefn __ovld read_imagei(read_write image1d_array_t image_array, sampler_t sampler, float2 coord, float gradientX, float gradientY);
14541 uint4 __purefn __ovld read_imageui(read_write image1d_array_t image_array, sampler_t sampler, float2 coord, float gradientX, float gradientY);
14542 
14543 float4 __purefn __ovld read_imagef(read_write image2d_t image, sampler_t sampler, float2 coord, float2 gradientX, float2 gradientY);
14544 int4 __purefn __ovld read_imagei(read_write image2d_t image, sampler_t sampler, float2 coord, float2 gradientX, float2 gradientY);
14545 uint4 __purefn __ovld read_imageui(read_write image2d_t image, sampler_t sampler, float2 coord, float2 gradientX, float2 gradientY);
14546 
14547 float __purefn __ovld read_imagef(read_write image2d_depth_t image, sampler_t sampler, float2 coord, float2 gradientX, float2 gradientY);
14548 
14549 float4 __purefn __ovld read_imagef(read_write image2d_array_t image_array, sampler_t sampler, float4 coord, float2 gradientX, float2 gradientY);
14550 int4 __purefn __ovld read_imagei(read_write image2d_array_t image_array, sampler_t sampler, float4 coord, float2 gradientX, float2 gradientY);
14551 uint4 __purefn __ovld read_imageui(read_write image2d_array_t image_array, sampler_t sampler, float4 coord, float2 gradientX, float2 gradientY);
14552 
14553 float __purefn __ovld read_imagef(read_write image2d_array_depth_t image, sampler_t sampler, float4 coord, float2 gradientX, float2 gradientY);
14554 
14555 float4 __purefn __ovld read_imagef(read_write image3d_t image, sampler_t sampler, float4 coord, float4 gradientX, float4 gradientY);
14556 int4 __purefn __ovld read_imagei(read_write image3d_t image, sampler_t sampler, float4 coord, float4 gradientX, float4 gradientY);
14557 uint4 __purefn __ovld read_imageui(read_write image3d_t image, sampler_t sampler, float4 coord, float4 gradientX, float4 gradientY);
14558 
14559 #endif //cl_khr_mipmap_image
14560 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
14561 
14562 // Image read functions returning half4 type
14563 #ifdef cl_khr_fp16
14564 half4 __purefn __ovld read_imageh(read_write image1d_t image, int coord);
14565 half4 __purefn __ovld read_imageh(read_write image2d_t image, int2 coord);
14566 half4 __purefn __ovld read_imageh(read_write image3d_t image, int4 coord);
14567 half4 __purefn __ovld read_imageh(read_write image1d_array_t image, int2 coord);
14568 half4 __purefn __ovld read_imageh(read_write image2d_array_t image, int4 coord);
14569 half4 __purefn __ovld read_imageh(read_write image1d_buffer_t image, int coord);
14570 #endif //cl_khr_fp16
14571 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
14572 
14640 void __ovld write_imagef(write_only image2d_t image, int2 coord, float4 color);
14641 void __ovld write_imagei(write_only image2d_t image, int2 coord, int4 color);
14642 void __ovld write_imageui(write_only image2d_t image, int2 coord, uint4 color);
14643 
14644 void __ovld write_imagef(write_only image2d_array_t image_array, int4 coord, float4 color);
14645 void __ovld write_imagei(write_only image2d_array_t image_array, int4 coord, int4 color);
14646 void __ovld write_imageui(write_only image2d_array_t image_array, int4 coord, uint4 color);
14647 
14648 void __ovld write_imagef(write_only image1d_t image, int coord, float4 color);
14649 void __ovld write_imagei(write_only image1d_t image, int coord, int4 color);
14650 void __ovld write_imageui(write_only image1d_t image, int coord, uint4 color);
14651 
14652 void __ovld write_imagef(write_only image1d_buffer_t image, int coord, float4 color);
14653 void __ovld write_imagei(write_only image1d_buffer_t image, int coord, int4 color);
14654 void __ovld write_imageui(write_only image1d_buffer_t image, int coord, uint4 color);
14655 
14656 void __ovld write_imagef(write_only image1d_array_t image_array, int2 coord, float4 color);
14657 void __ovld write_imagei(write_only image1d_array_t image_array, int2 coord, int4 color);
14658 void __ovld write_imageui(write_only image1d_array_t image_array, int2 coord, uint4 color);
14659 
14660 #ifdef cl_khr_3d_image_writes
14661 void __ovld write_imagef(write_only image3d_t image, int4 coord, float4 color);
14662 void __ovld write_imagei(write_only image3d_t image, int4 coord, int4 color);
14663 void __ovld write_imageui(write_only image3d_t image, int4 coord, uint4 color);
14664 #endif
14665 
14666 #ifdef cl_khr_depth_images
14667 void __ovld write_imagef(write_only image2d_depth_t image, int2 coord, float color);
14668 void __ovld write_imagef(write_only image2d_array_depth_t image, int4 coord, float color);
14669 #endif //cl_khr_depth_images
14670 
14671 // OpenCL Extension v2.0 s9.18 - Mipmaps
14672 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
14673 #if defined(cl_khr_mipmap_image_writes)
14674 void __ovld write_imagef(write_only image1d_t image, int coord, int lod, float4 color);
14675 void __ovld write_imagei(write_only image1d_t image, int coord, int lod, int4 color);
14676 void __ovld write_imageui(write_only image1d_t image, int coord, int lod, uint4 color);
14677 
14678 void __ovld write_imagef(write_only image1d_array_t image_array, int2 coord, int lod, float4 color);
14679 void __ovld write_imagei(write_only image1d_array_t image_array, int2 coord, int lod, int4 color);
14680 void __ovld write_imageui(write_only image1d_array_t image_array, int2 coord, int lod, uint4 color);
14681 
14682 void __ovld write_imagef(write_only image2d_t image, int2 coord, int lod, float4 color);
14683 void __ovld write_imagei(write_only image2d_t image, int2 coord, int lod, int4 color);
14684 void __ovld write_imageui(write_only image2d_t image, int2 coord, int lod, uint4 color);
14685 
14686 void __ovld write_imagef(write_only image2d_array_t image_array, int4 coord, int lod, float4 color);
14687 void __ovld write_imagei(write_only image2d_array_t image_array, int4 coord, int lod, int4 color);
14688 void __ovld write_imageui(write_only image2d_array_t image_array, int4 coord, int lod, uint4 color);
14689 
14690 void __ovld write_imagef(write_only image2d_depth_t image, int2 coord, int lod, float depth);
14691 void __ovld write_imagef(write_only image2d_array_depth_t image, int4 coord, int lod, float depth);
14692 
14693 #ifdef cl_khr_3d_image_writes
14694 void __ovld write_imagef(write_only image3d_t image, int4 coord, int lod, float4 color);
14695 void __ovld write_imagei(write_only image3d_t image, int4 coord, int lod, int4 color);
14696 void __ovld write_imageui(write_only image3d_t image, int4 coord, int lod, uint4 color);
14697 #endif //cl_khr_3d_image_writes
14698 
14699 #endif //defined(cl_khr_mipmap_image_writes)
14700 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
14701 
14702 // Image write functions for half4 type
14703 #ifdef cl_khr_fp16
14704 void __ovld write_imageh(write_only image1d_t image, int coord, half4 color);
14705 void __ovld write_imageh(write_only image2d_t image, int2 coord, half4 color);
14706 #ifdef cl_khr_3d_image_writes
14707 void __ovld write_imageh(write_only image3d_t image, int4 coord, half4 color);
14708 #endif
14709 void __ovld write_imageh(write_only image1d_array_t image, int2 coord, half4 color);
14710 void __ovld write_imageh(write_only image2d_array_t image, int4 coord, half4 color);
14711 void __ovld write_imageh(write_only image1d_buffer_t image, int coord, half4 color);
14712 #endif //cl_khr_fp16
14713 
14714 // Image write functions for read_write images
14715 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
14716 void __ovld write_imagef(read_write image2d_t image, int2 coord, float4 color);
14717 void __ovld write_imagei(read_write image2d_t image, int2 coord, int4 color);
14718 void __ovld write_imageui(read_write image2d_t image, int2 coord, uint4 color);
14719 
14720 void __ovld write_imagef(read_write image2d_array_t image_array, int4 coord, float4 color);
14721 void __ovld write_imagei(read_write image2d_array_t image_array, int4 coord, int4 color);
14722 void __ovld write_imageui(read_write image2d_array_t image_array, int4 coord, uint4 color);
14723 
14724 void __ovld write_imagef(read_write image1d_t image, int coord, float4 color);
14725 void __ovld write_imagei(read_write image1d_t image, int coord, int4 color);
14726 void __ovld write_imageui(read_write image1d_t image, int coord, uint4 color);
14727 
14728 void __ovld write_imagef(read_write image1d_buffer_t image, int coord, float4 color);
14729 void __ovld write_imagei(read_write image1d_buffer_t image, int coord, int4 color);
14730 void __ovld write_imageui(read_write image1d_buffer_t image, int coord, uint4 color);
14731 
14732 void __ovld write_imagef(read_write image1d_array_t image_array, int2 coord, float4 color);
14733 void __ovld write_imagei(read_write image1d_array_t image_array, int2 coord, int4 color);
14734 void __ovld write_imageui(read_write image1d_array_t image_array, int2 coord, uint4 color);
14735 
14736 #ifdef cl_khr_3d_image_writes
14737 void __ovld write_imagef(read_write image3d_t image, int4 coord, float4 color);
14738 void __ovld write_imagei(read_write image3d_t image, int4 coord, int4 color);
14739 void __ovld write_imageui(read_write image3d_t image, int4 coord, uint4 color);
14740 #endif
14741 
14742 #ifdef cl_khr_depth_images
14743 void __ovld write_imagef(read_write image2d_depth_t image, int2 coord, float color);
14744 void __ovld write_imagef(read_write image2d_array_depth_t image, int4 coord, float color);
14745 #endif //cl_khr_depth_images
14746 
14747 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
14748 #if defined(cl_khr_mipmap_image_writes)
14749 void __ovld write_imagef(read_write image1d_t image, int coord, int lod, float4 color);
14750 void __ovld write_imagei(read_write image1d_t image, int coord, int lod, int4 color);
14751 void __ovld write_imageui(read_write image1d_t image, int coord, int lod, uint4 color);
14752 
14753 void __ovld write_imagef(read_write image1d_array_t image_array, int2 coord, int lod, float4 color);
14754 void __ovld write_imagei(read_write image1d_array_t image_array, int2 coord, int lod, int4 color);
14755 void __ovld write_imageui(read_write image1d_array_t image_array, int2 coord, int lod, uint4 color);
14756 
14757 void __ovld write_imagef(read_write image2d_t image, int2 coord, int lod, float4 color);
14758 void __ovld write_imagei(read_write image2d_t image, int2 coord, int lod, int4 color);
14759 void __ovld write_imageui(read_write image2d_t image, int2 coord, int lod, uint4 color);
14760 
14761 void __ovld write_imagef(read_write image2d_array_t image_array, int4 coord, int lod, float4 color);
14762 void __ovld write_imagei(read_write image2d_array_t image_array, int4 coord, int lod, int4 color);
14763 void __ovld write_imageui(read_write image2d_array_t image_array, int4 coord, int lod, uint4 color);
14764 
14765 void __ovld write_imagef(read_write image2d_depth_t image, int2 coord, int lod, float color);
14766 void __ovld write_imagef(read_write image2d_array_depth_t image, int4 coord, int lod, float color);
14767 
14768 #ifdef cl_khr_3d_image_writes
14769 void __ovld write_imagef(read_write image3d_t image, int4 coord, int lod, float4 color);
14770 void __ovld write_imagei(read_write image3d_t image, int4 coord, int lod, int4 color);
14771 void __ovld write_imageui(read_write image3d_t image, int4 coord, int lod, uint4 color);
14772 #endif //cl_khr_3d_image_writes
14773 
14774 #endif //cl_khr_mipmap_image_writes
14775 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
14776 
14777 // Image write functions for half4 type
14778 #ifdef cl_khr_fp16
14779 void __ovld write_imageh(read_write image1d_t image, int coord, half4 color);
14780 void __ovld write_imageh(read_write image2d_t image, int2 coord, half4 color);
14781 #ifdef cl_khr_3d_image_writes
14782 void __ovld write_imageh(read_write image3d_t image, int4 coord, half4 color);
14783 #endif
14784 void __ovld write_imageh(read_write image1d_array_t image, int2 coord, half4 color);
14785 void __ovld write_imageh(read_write image2d_array_t image, int4 coord, half4 color);
14786 void __ovld write_imageh(read_write image1d_buffer_t image, int coord, half4 color);
14787 #endif //cl_khr_fp16
14788 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
14789 
14790 // Note: In OpenCL v1.0/1.1/1.2, image argument of image query builtin functions does not have
14791 // access qualifier, which by default assume read_only access qualifier. Image query builtin
14792 // functions with write_only image argument should also be declared.
14793 
14798 int __ovld __cnfn get_image_width(read_only image1d_t image);
14799 int __ovld __cnfn get_image_width(read_only image1d_buffer_t image);
14800 int __ovld __cnfn get_image_width(read_only image2d_t image);
14801 #ifdef cl_khr_3d_image_writes
14802 int __ovld __cnfn get_image_width(read_only image3d_t image);
14803 #endif
14804 int __ovld __cnfn get_image_width(read_only image1d_array_t image);
14805 int __ovld __cnfn get_image_width(read_only image2d_array_t image);
14806 #ifdef cl_khr_depth_images
14807 int __ovld __cnfn get_image_width(read_only image2d_depth_t image);
14808 int __ovld __cnfn get_image_width(read_only image2d_array_depth_t image);
14809 #endif //cl_khr_depth_images
14810 #if defined(cl_khr_gl_msaa_sharing)
14811 int __ovld __cnfn get_image_width(read_only image2d_msaa_t image);
14812 int __ovld __cnfn get_image_width(read_only image2d_msaa_depth_t image);
14813 int __ovld __cnfn get_image_width(read_only image2d_array_msaa_t image);
14814 int __ovld __cnfn get_image_width(read_only image2d_array_msaa_depth_t image);
14815 #endif //cl_khr_gl_msaa_sharing
14816 
14817 int __ovld __cnfn get_image_width(write_only image1d_t image);
14818 int __ovld __cnfn get_image_width(write_only image1d_buffer_t image);
14819 int __ovld __cnfn get_image_width(write_only image2d_t image);
14820 #ifdef cl_khr_3d_image_writes
14821 int __ovld __cnfn get_image_width(write_only image3d_t image);
14822 #endif
14823 int __ovld __cnfn get_image_width(write_only image1d_array_t image);
14824 int __ovld __cnfn get_image_width(write_only image2d_array_t image);
14825 #ifdef cl_khr_depth_images
14826 int __ovld __cnfn get_image_width(write_only image2d_depth_t image);
14827 int __ovld __cnfn get_image_width(write_only image2d_array_depth_t image);
14828 #endif //cl_khr_depth_images
14829 #if defined(cl_khr_gl_msaa_sharing)
14830 int __ovld __cnfn get_image_width(write_only image2d_msaa_t image);
14831 int __ovld __cnfn get_image_width(write_only image2d_msaa_depth_t image);
14832 int __ovld __cnfn get_image_width(write_only image2d_array_msaa_t image);
14833 int __ovld __cnfn get_image_width(write_only image2d_array_msaa_depth_t image);
14834 #endif //cl_khr_gl_msaa_sharing
14835 
14836 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
14837 int __ovld __cnfn get_image_width(read_write image1d_t image);
14838 int __ovld __cnfn get_image_width(read_write image1d_buffer_t image);
14839 int __ovld __cnfn get_image_width(read_write image2d_t image);
14840 int __ovld __cnfn get_image_width(read_write image3d_t image);
14841 int __ovld __cnfn get_image_width(read_write image1d_array_t image);
14842 int __ovld __cnfn get_image_width(read_write image2d_array_t image);
14843 #ifdef cl_khr_depth_images
14844 int __ovld __cnfn get_image_width(read_write image2d_depth_t image);
14845 int __ovld __cnfn get_image_width(read_write image2d_array_depth_t image);
14846 #endif //cl_khr_depth_images
14847 #if defined(cl_khr_gl_msaa_sharing)
14848 int __ovld __cnfn get_image_width(read_write image2d_msaa_t image);
14849 int __ovld __cnfn get_image_width(read_write image2d_msaa_depth_t image);
14850 int __ovld __cnfn get_image_width(read_write image2d_array_msaa_t image);
14851 int __ovld __cnfn get_image_width(read_write image2d_array_msaa_depth_t image);
14852 #endif //cl_khr_gl_msaa_sharing
14853 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
14854 
14858 int __ovld __cnfn get_image_height(read_only image2d_t image);
14859 int __ovld __cnfn get_image_height(read_only image3d_t image);
14860 int __ovld __cnfn get_image_height(read_only image2d_array_t image);
14861 #ifdef cl_khr_depth_images
14862 int __ovld __cnfn get_image_height(read_only image2d_depth_t image);
14863 int __ovld __cnfn get_image_height(read_only image2d_array_depth_t image);
14864 #endif //cl_khr_depth_images
14865 #if defined(cl_khr_gl_msaa_sharing)
14866 int __ovld __cnfn get_image_height(read_only image2d_msaa_t image);
14867 int __ovld __cnfn get_image_height(read_only image2d_msaa_depth_t image);
14868 int __ovld __cnfn get_image_height(read_only image2d_array_msaa_t image);
14869 int __ovld __cnfn get_image_height(read_only image2d_array_msaa_depth_t image);
14870 #endif //cl_khr_gl_msaa_sharing
14871 
14872 int __ovld __cnfn get_image_height(write_only image2d_t image);
14873 #ifdef cl_khr_3d_image_writes
14874 int __ovld __cnfn get_image_height(write_only image3d_t image);
14875 #endif
14876 int __ovld __cnfn get_image_height(write_only image2d_array_t image);
14877 #ifdef cl_khr_depth_images
14878 int __ovld __cnfn get_image_height(write_only image2d_depth_t image);
14879 int __ovld __cnfn get_image_height(write_only image2d_array_depth_t image);
14880 #endif //cl_khr_depth_images
14881 #if defined(cl_khr_gl_msaa_sharing)
14882 int __ovld __cnfn get_image_height(write_only image2d_msaa_t image);
14883 int __ovld __cnfn get_image_height(write_only image2d_msaa_depth_t image);
14884 int __ovld __cnfn get_image_height(write_only image2d_array_msaa_t image);
14885 int __ovld __cnfn get_image_height(write_only image2d_array_msaa_depth_t image);
14886 #endif //cl_khr_gl_msaa_sharing
14887 
14888 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
14889 int __ovld __cnfn get_image_height(read_write image2d_t image);
14890 int __ovld __cnfn get_image_height(read_write image3d_t image);
14891 int __ovld __cnfn get_image_height(read_write image2d_array_t image);
14892 #ifdef cl_khr_depth_images
14893 int __ovld __cnfn get_image_height(read_write image2d_depth_t image);
14894 int __ovld __cnfn get_image_height(read_write image2d_array_depth_t image);
14895 #endif //cl_khr_depth_images
14896 #if defined(cl_khr_gl_msaa_sharing)
14897 int __ovld __cnfn get_image_height(read_write image2d_msaa_t image);
14898 int __ovld __cnfn get_image_height(read_write image2d_msaa_depth_t image);
14899 int __ovld __cnfn get_image_height(read_write image2d_array_msaa_t image);
14900 int __ovld __cnfn get_image_height(read_write image2d_array_msaa_depth_t image);
14901 #endif //cl_khr_gl_msaa_sharing
14902 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
14903 
14907 int __ovld __cnfn get_image_depth(read_only image3d_t image);
14908 
14909 #ifdef cl_khr_3d_image_writes
14910 int __ovld __cnfn get_image_depth(write_only image3d_t image);
14911 #endif
14912 
14913 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
14914 int __ovld __cnfn get_image_depth(read_write image3d_t image);
14915 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
14916 
14917 // OpenCL Extension v2.0 s9.18 - Mipmaps
14918 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
14919 #ifdef cl_khr_mipmap_image
14924 int __ovld get_image_num_mip_levels(read_only image1d_t image);
14925 int __ovld get_image_num_mip_levels(read_only image2d_t image);
14926 int __ovld get_image_num_mip_levels(read_only image3d_t image);
14927 
14928 int __ovld get_image_num_mip_levels(write_only image1d_t image);
14929 int __ovld get_image_num_mip_levels(write_only image2d_t image);
14930 #ifdef cl_khr_3d_image_writes
14931 int __ovld get_image_num_mip_levels(write_only image3d_t image);
14932 #endif
14933 
14934 int __ovld get_image_num_mip_levels(read_write image1d_t image);
14935 int __ovld get_image_num_mip_levels(read_write image2d_t image);
14936 int __ovld get_image_num_mip_levels(read_write image3d_t image);
14937 
14938 int __ovld get_image_num_mip_levels(read_only image1d_array_t image);
14939 int __ovld get_image_num_mip_levels(read_only image2d_array_t image);
14940 int __ovld get_image_num_mip_levels(read_only image2d_array_depth_t image);
14941 int __ovld get_image_num_mip_levels(read_only image2d_depth_t image);
14942 
14943 int __ovld get_image_num_mip_levels(write_only image1d_array_t image);
14944 int __ovld get_image_num_mip_levels(write_only image2d_array_t image);
14945 int __ovld get_image_num_mip_levels(write_only image2d_array_depth_t image);
14946 int __ovld get_image_num_mip_levels(write_only image2d_depth_t image);
14947 
14948 int __ovld get_image_num_mip_levels(read_write image1d_array_t image);
14949 int __ovld get_image_num_mip_levels(read_write image2d_array_t image);
14950 int __ovld get_image_num_mip_levels(read_write image2d_array_depth_t image);
14951 int __ovld get_image_num_mip_levels(read_write image2d_depth_t image);
14952 
14953 #endif //cl_khr_mipmap_image
14954 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
14955 
14975 int __ovld __cnfn get_image_channel_data_type(read_only image1d_t image);
14976 int __ovld __cnfn get_image_channel_data_type(read_only image1d_buffer_t image);
14977 int __ovld __cnfn get_image_channel_data_type(read_only image2d_t image);
14978 int __ovld __cnfn get_image_channel_data_type(read_only image3d_t image);
14979 int __ovld __cnfn get_image_channel_data_type(read_only image1d_array_t image);
14980 int __ovld __cnfn get_image_channel_data_type(read_only image2d_array_t image);
14981 #ifdef cl_khr_depth_images
14982 int __ovld __cnfn get_image_channel_data_type(read_only image2d_depth_t image);
14983 int __ovld __cnfn get_image_channel_data_type(read_only image2d_array_depth_t image);
14984 #endif //cl_khr_depth_images
14985 #if defined(cl_khr_gl_msaa_sharing)
14986 int __ovld __cnfn get_image_channel_data_type(read_only image2d_msaa_t image);
14987 int __ovld __cnfn get_image_channel_data_type(read_only image2d_msaa_depth_t image);
14988 int __ovld __cnfn get_image_channel_data_type(read_only image2d_array_msaa_t image);
14989 int __ovld __cnfn get_image_channel_data_type(read_only image2d_array_msaa_depth_t image);
14990 #endif //cl_khr_gl_msaa_sharing
14991 
14992 int __ovld __cnfn get_image_channel_data_type(write_only image1d_t image);
14993 int __ovld __cnfn get_image_channel_data_type(write_only image1d_buffer_t image);
14994 int __ovld __cnfn get_image_channel_data_type(write_only image2d_t image);
14995 #ifdef cl_khr_3d_image_writes
14996 int __ovld __cnfn get_image_channel_data_type(write_only image3d_t image);
14997 #endif
14998 int __ovld __cnfn get_image_channel_data_type(write_only image1d_array_t image);
14999 int __ovld __cnfn get_image_channel_data_type(write_only image2d_array_t image);
15000 #ifdef cl_khr_depth_images
15001 int __ovld __cnfn get_image_channel_data_type(write_only image2d_depth_t image);
15002 int __ovld __cnfn get_image_channel_data_type(write_only image2d_array_depth_t image);
15003 #endif //cl_khr_depth_images
15004 #if defined(cl_khr_gl_msaa_sharing)
15005 int __ovld __cnfn get_image_channel_data_type(write_only image2d_msaa_t image);
15006 int __ovld __cnfn get_image_channel_data_type(write_only image2d_msaa_depth_t image);
15007 int __ovld __cnfn get_image_channel_data_type(write_only image2d_array_msaa_t image);
15008 int __ovld __cnfn get_image_channel_data_type(write_only image2d_array_msaa_depth_t image);
15009 #endif //cl_khr_gl_msaa_sharing
15010 
15011 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15012 int __ovld __cnfn get_image_channel_data_type(read_write image1d_t image);
15013 int __ovld __cnfn get_image_channel_data_type(read_write image1d_buffer_t image);
15014 int __ovld __cnfn get_image_channel_data_type(read_write image2d_t image);
15015 int __ovld __cnfn get_image_channel_data_type(read_write image3d_t image);
15016 int __ovld __cnfn get_image_channel_data_type(read_write image1d_array_t image);
15017 int __ovld __cnfn get_image_channel_data_type(read_write image2d_array_t image);
15018 #ifdef cl_khr_depth_images
15019 int __ovld __cnfn get_image_channel_data_type(read_write image2d_depth_t image);
15020 int __ovld __cnfn get_image_channel_data_type(read_write image2d_array_depth_t image);
15021 #endif //cl_khr_depth_images
15022 #if defined(cl_khr_gl_msaa_sharing)
15023 int __ovld __cnfn get_image_channel_data_type(read_write image2d_msaa_t image);
15024 int __ovld __cnfn get_image_channel_data_type(read_write image2d_msaa_depth_t image);
15025 int __ovld __cnfn get_image_channel_data_type(read_write image2d_array_msaa_t image);
15026 int __ovld __cnfn get_image_channel_data_type(read_write image2d_array_msaa_depth_t image);
15027 #endif //cl_khr_gl_msaa_sharing
15028 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15029 
15047 int __ovld __cnfn get_image_channel_order(read_only image1d_t image);
15048 int __ovld __cnfn get_image_channel_order(read_only image1d_buffer_t image);
15049 int __ovld __cnfn get_image_channel_order(read_only image2d_t image);
15050 int __ovld __cnfn get_image_channel_order(read_only image3d_t image);
15051 int __ovld __cnfn get_image_channel_order(read_only image1d_array_t image);
15052 int __ovld __cnfn get_image_channel_order(read_only image2d_array_t image);
15053 #ifdef cl_khr_depth_images
15054 int __ovld __cnfn get_image_channel_order(read_only image2d_depth_t image);
15055 int __ovld __cnfn get_image_channel_order(read_only image2d_array_depth_t image);
15056 #endif //cl_khr_depth_images
15057 #if defined(cl_khr_gl_msaa_sharing)
15058 int __ovld __cnfn get_image_channel_order(read_only image2d_msaa_t image);
15059 int __ovld __cnfn get_image_channel_order(read_only image2d_msaa_depth_t image);
15060 int __ovld __cnfn get_image_channel_order(read_only image2d_array_msaa_t image);
15061 int __ovld __cnfn get_image_channel_order(read_only image2d_array_msaa_depth_t image);
15062 #endif //cl_khr_gl_msaa_sharing
15063 
15064 int __ovld __cnfn get_image_channel_order(write_only image1d_t image);
15065 int __ovld __cnfn get_image_channel_order(write_only image1d_buffer_t image);
15066 int __ovld __cnfn get_image_channel_order(write_only image2d_t image);
15067 #ifdef cl_khr_3d_image_writes
15068 int __ovld __cnfn get_image_channel_order(write_only image3d_t image);
15069 #endif
15070 int __ovld __cnfn get_image_channel_order(write_only image1d_array_t image);
15071 int __ovld __cnfn get_image_channel_order(write_only image2d_array_t image);
15072 #ifdef cl_khr_depth_images
15073 int __ovld __cnfn get_image_channel_order(write_only image2d_depth_t image);
15074 int __ovld __cnfn get_image_channel_order(write_only image2d_array_depth_t image);
15075 #endif //cl_khr_depth_images
15076 #if defined(cl_khr_gl_msaa_sharing)
15077 int __ovld __cnfn get_image_channel_order(write_only image2d_msaa_t image);
15078 int __ovld __cnfn get_image_channel_order(write_only image2d_msaa_depth_t image);
15079 int __ovld __cnfn get_image_channel_order(write_only image2d_array_msaa_t image);
15080 int __ovld __cnfn get_image_channel_order(write_only image2d_array_msaa_depth_t image);
15081 #endif //cl_khr_gl_msaa_sharing
15082 
15083 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15084 int __ovld __cnfn get_image_channel_order(read_write image1d_t image);
15085 int __ovld __cnfn get_image_channel_order(read_write image1d_buffer_t image);
15086 int __ovld __cnfn get_image_channel_order(read_write image2d_t image);
15087 int __ovld __cnfn get_image_channel_order(read_write image3d_t image);
15088 int __ovld __cnfn get_image_channel_order(read_write image1d_array_t image);
15089 int __ovld __cnfn get_image_channel_order(read_write image2d_array_t image);
15090 #ifdef cl_khr_depth_images
15091 int __ovld __cnfn get_image_channel_order(read_write image2d_depth_t image);
15092 int __ovld __cnfn get_image_channel_order(read_write image2d_array_depth_t image);
15093 #endif //cl_khr_depth_images
15094 #if defined(cl_khr_gl_msaa_sharing)
15095 int __ovld __cnfn get_image_channel_order(read_write image2d_msaa_t image);
15096 int __ovld __cnfn get_image_channel_order(read_write image2d_msaa_depth_t image);
15097 int __ovld __cnfn get_image_channel_order(read_write image2d_array_msaa_t image);
15098 int __ovld __cnfn get_image_channel_order(read_write image2d_array_msaa_depth_t image);
15099 #endif //cl_khr_gl_msaa_sharing
15100 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15101 
15107 int2 __ovld __cnfn get_image_dim(read_only image2d_t image);
15108 int2 __ovld __cnfn get_image_dim(read_only image2d_array_t image);
15109 #ifdef cl_khr_depth_images
15110 int2 __ovld __cnfn get_image_dim(read_only image2d_array_depth_t image);
15111 int2 __ovld __cnfn get_image_dim(read_only image2d_depth_t image);
15112 #endif //cl_khr_depth_images
15113 #if defined(cl_khr_gl_msaa_sharing)
15114 int2 __ovld __cnfn get_image_dim(read_only image2d_msaa_t image);
15115 int2 __ovld __cnfn get_image_dim(read_only image2d_msaa_depth_t image);
15116 int2 __ovld __cnfn get_image_dim(read_only image2d_array_msaa_t image);
15117 int2 __ovld __cnfn get_image_dim(read_only image2d_array_msaa_depth_t image);
15118 #endif //cl_khr_gl_msaa_sharing
15119 
15120 int2 __ovld __cnfn get_image_dim(write_only image2d_t image);
15121 int2 __ovld __cnfn get_image_dim(write_only image2d_array_t image);
15122 #ifdef cl_khr_depth_images
15123 int2 __ovld __cnfn get_image_dim(write_only image2d_array_depth_t image);
15124 int2 __ovld __cnfn get_image_dim(write_only image2d_depth_t image);
15125 #endif //cl_khr_depth_images
15126 #if defined(cl_khr_gl_msaa_sharing)
15127 int2 __ovld __cnfn get_image_dim(write_only image2d_msaa_t image);
15128 int2 __ovld __cnfn get_image_dim(write_only image2d_msaa_depth_t image);
15129 int2 __ovld __cnfn get_image_dim(write_only image2d_array_msaa_t image);
15130 int2 __ovld __cnfn get_image_dim(write_only image2d_array_msaa_depth_t image);
15131 #endif //cl_khr_gl_msaa_sharing
15132 
15133 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15134 int2 __ovld __cnfn get_image_dim(read_write image2d_t image);
15135 int2 __ovld __cnfn get_image_dim(read_write image2d_array_t image);
15136 #ifdef cl_khr_depth_images
15137 int2 __ovld __cnfn get_image_dim(read_write image2d_array_depth_t image);
15138 int2 __ovld __cnfn get_image_dim(read_write image2d_depth_t image);
15139 #endif //cl_khr_depth_images
15140 #if defined(cl_khr_gl_msaa_sharing)
15141 int2 __ovld __cnfn get_image_dim(read_write image2d_msaa_t image);
15142 int2 __ovld __cnfn get_image_dim(read_write image2d_msaa_depth_t image);
15143 int2 __ovld __cnfn get_image_dim(read_write image2d_array_msaa_t image);
15144 int2 __ovld __cnfn get_image_dim(read_write image2d_array_msaa_depth_t image);
15145 #endif //cl_khr_gl_msaa_sharing
15146 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15147 
15154 int4 __ovld __cnfn get_image_dim(read_only image3d_t image);
15155 #ifdef cl_khr_3d_image_writes
15156 int4 __ovld __cnfn get_image_dim(write_only image3d_t image);
15157 #endif
15158 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15159 int4 __ovld __cnfn get_image_dim(read_write image3d_t image);
15160 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15161 
15166 size_t __ovld __cnfn get_image_array_size(read_only image1d_array_t image_array);
15167 size_t __ovld __cnfn get_image_array_size(read_only image2d_array_t image_array);
15168 #ifdef cl_khr_depth_images
15169 size_t __ovld __cnfn get_image_array_size(read_only image2d_array_depth_t image_array);
15170 #endif //cl_khr_depth_images
15171 #if defined(cl_khr_gl_msaa_sharing)
15172 size_t __ovld __cnfn get_image_array_size(read_only image2d_array_msaa_t image_array);
15173 size_t __ovld __cnfn get_image_array_size(read_only image2d_array_msaa_depth_t image_array);
15174 #endif //cl_khr_gl_msaa_sharing
15175 
15176 size_t __ovld __cnfn get_image_array_size(write_only image1d_array_t image_array);
15177 size_t __ovld __cnfn get_image_array_size(write_only image2d_array_t image_array);
15178 #ifdef cl_khr_depth_images
15179 size_t __ovld __cnfn get_image_array_size(write_only image2d_array_depth_t image_array);
15180 #endif //cl_khr_depth_images
15181 #if defined(cl_khr_gl_msaa_sharing)
15182 size_t __ovld __cnfn get_image_array_size(write_only image2d_array_msaa_t image_array);
15183 size_t __ovld __cnfn get_image_array_size(write_only image2d_array_msaa_depth_t image_array);
15184 #endif //cl_khr_gl_msaa_sharing
15185 
15186 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15187 size_t __ovld __cnfn get_image_array_size(read_write image1d_array_t image_array);
15188 size_t __ovld __cnfn get_image_array_size(read_write image2d_array_t image_array);
15189 #ifdef cl_khr_depth_images
15190 size_t __ovld __cnfn get_image_array_size(read_write image2d_array_depth_t image_array);
15191 #endif //cl_khr_depth_images
15192 #if defined(cl_khr_gl_msaa_sharing)
15193 size_t __ovld __cnfn get_image_array_size(read_write image2d_array_msaa_t image_array);
15194 size_t __ovld __cnfn get_image_array_size(read_write image2d_array_msaa_depth_t image_array);
15195 #endif //cl_khr_gl_msaa_sharing
15196 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15197 
15201 #if defined(cl_khr_gl_msaa_sharing)
15202 int __ovld get_image_num_samples(read_only image2d_msaa_t image);
15203 int __ovld get_image_num_samples(read_only image2d_msaa_depth_t image);
15204 int __ovld get_image_num_samples(read_only image2d_array_msaa_t image);
15205 int __ovld get_image_num_samples(read_only image2d_array_msaa_depth_t image);
15206 
15207 int __ovld get_image_num_samples(write_only image2d_msaa_t image);
15208 int __ovld get_image_num_samples(write_only image2d_msaa_depth_t image);
15209 int __ovld get_image_num_samples(write_only image2d_array_msaa_t image);
15210 int __ovld get_image_num_samples(write_only image2d_array_msaa_depth_t image);
15211 
15212 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15213 int __ovld get_image_num_samples(read_write image2d_msaa_t image);
15214 int __ovld get_image_num_samples(read_write image2d_msaa_depth_t image);
15215 int __ovld get_image_num_samples(read_write image2d_array_msaa_t image);
15216 int __ovld get_image_num_samples(read_write image2d_array_msaa_depth_t image);
15217 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15218 #endif
15219 
15220 // OpenCL v2.0 s6.13.15 - Work-group Functions
15221 
15222 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15223 int __ovld __conv work_group_all(int predicate);
15224 int __ovld __conv work_group_any(int predicate);
15225 
15226 #ifdef cl_khr_fp16
15227 half __ovld __conv work_group_broadcast(half a, size_t local_id);
15228 half __ovld __conv work_group_broadcast(half a, size_t x, size_t y);
15229 half __ovld __conv work_group_broadcast(half a, size_t x, size_t y, size_t z);
15230 #endif
15231 int __ovld __conv work_group_broadcast(int a, size_t local_id);
15232 int __ovld __conv work_group_broadcast(int a, size_t x, size_t y);
15233 int __ovld __conv work_group_broadcast(int a, size_t x, size_t y, size_t z);
15236 uint __ovld __conv work_group_broadcast(uint a, size_t x, size_t y, size_t z);
15237 long __ovld __conv work_group_broadcast(long a, size_t local_id);
15238 long __ovld __conv work_group_broadcast(long a, size_t x, size_t y);
15239 long __ovld __conv work_group_broadcast(long a, size_t x, size_t y, size_t z);
15242 ulong __ovld __conv work_group_broadcast(ulong a, size_t x, size_t y, size_t z);
15243 float __ovld __conv work_group_broadcast(float a, size_t local_id);
15244 float __ovld __conv work_group_broadcast(float a, size_t x, size_t y);
15245 float __ovld __conv work_group_broadcast(float a, size_t x, size_t y, size_t z);
15246 #ifdef cl_khr_fp64
15247 double __ovld __conv work_group_broadcast(double a, size_t local_id);
15248 double __ovld __conv work_group_broadcast(double a, size_t x, size_t y);
15249 double __ovld __conv work_group_broadcast(double a, size_t x, size_t y, size_t z);
15250 #endif //cl_khr_fp64
15251 
15252 #ifdef cl_khr_fp16
15262 #endif
15308 #ifdef cl_khr_fp64
15309 double __ovld __conv work_group_reduce_add(double x);
15310 double __ovld __conv work_group_reduce_min(double x);
15311 double __ovld __conv work_group_reduce_max(double x);
15318 #endif //cl_khr_fp64
15319 
15320 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15321 
15322 // OpenCL v2.0 s6.13.16 - Pipe Functions
15323 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15324 bool __ovld is_valid_reserve_id(reserve_id_t reserve_id);
15325 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15326 
15327 
15328 // OpenCL v2.0 s6.13.17 - Enqueue Kernels
15329 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15330 
15332 ndrange_t __ovld ndrange_1D(size_t, size_t);
15333 ndrange_t __ovld ndrange_1D(size_t, size_t, size_t);
15334 
15335 ndrange_t __ovld ndrange_2D(const size_t[2]);
15336 ndrange_t __ovld ndrange_2D(const size_t[2], const size_t[2]);
15337 ndrange_t __ovld ndrange_2D(const size_t[2], const size_t[2], const size_t[2]);
15338 
15339 ndrange_t __ovld ndrange_3D(const size_t[3]);
15340 ndrange_t __ovld ndrange_3D(const size_t[3], const size_t[3]);
15341 ndrange_t __ovld ndrange_3D(const size_t[3], const size_t[3], const size_t[3]);
15342 
15343 int __ovld enqueue_marker(queue_t, uint, const clk_event_t*, clk_event_t*);
15344 
15345 void __ovld retain_event(clk_event_t);
15346 
15347 void __ovld release_event(clk_event_t);
15348 
15349 clk_event_t __ovld create_user_event(void);
15350 
15351 void __ovld set_user_event_status(clk_event_t e, int state);
15352 
15353 bool __ovld is_valid_event (clk_event_t event);
15354 
15355 void __ovld capture_event_profiling_info(clk_event_t, clk_profiling_info, __global void* value);
15356 
15358 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15359 
15360 // OpenCL Extension v2.0 s9.17 - Sub-groups
15361 
15362 #if defined(cl_intel_subgroups) || defined(cl_khr_subgroups)
15363 // Shared Sub Group Functions
15364 uint __ovld get_sub_group_size(void);
15365 uint __ovld get_max_sub_group_size(void);
15366 uint __ovld get_num_sub_groups(void);
15367 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15368 uint __ovld get_enqueued_num_sub_groups(void);
15369 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15370 uint __ovld get_sub_group_id(void);
15371 uint __ovld get_sub_group_local_id(void);
15372 
15373 void __ovld __conv sub_group_barrier(cl_mem_fence_flags flags);
15374 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15375 void __ovld __conv sub_group_barrier(cl_mem_fence_flags flags, memory_scope scope);
15376 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15377 
15378 int __ovld __conv sub_group_all(int predicate);
15379 int __ovld __conv sub_group_any(int predicate);
15380 
15381 int __ovld __conv sub_group_broadcast(int x, uint sub_group_local_id);
15382 uint __ovld __conv sub_group_broadcast(uint x, uint sub_group_local_id);
15383 long __ovld __conv sub_group_broadcast(long x, uint sub_group_local_id);
15384 ulong __ovld __conv sub_group_broadcast(ulong x, uint sub_group_local_id);
15385 float __ovld __conv sub_group_broadcast(float x, uint sub_group_local_id);
15386 
15387 int __ovld __conv sub_group_reduce_add(int x);
15388 uint __ovld __conv sub_group_reduce_add(uint x);
15389 long __ovld __conv sub_group_reduce_add(long x);
15390 ulong __ovld __conv sub_group_reduce_add(ulong x);
15391 float __ovld __conv sub_group_reduce_add(float x);
15392 int __ovld __conv sub_group_reduce_min(int x);
15393 uint __ovld __conv sub_group_reduce_min(uint x);
15394 long __ovld __conv sub_group_reduce_min(long x);
15395 ulong __ovld __conv sub_group_reduce_min(ulong x);
15396 float __ovld __conv sub_group_reduce_min(float x);
15397 int __ovld __conv sub_group_reduce_max(int x);
15398 uint __ovld __conv sub_group_reduce_max(uint x);
15399 long __ovld __conv sub_group_reduce_max(long x);
15400 ulong __ovld __conv sub_group_reduce_max(ulong x);
15401 float __ovld __conv sub_group_reduce_max(float x);
15402 
15403 int __ovld __conv sub_group_scan_exclusive_add(int x);
15404 uint __ovld __conv sub_group_scan_exclusive_add(uint x);
15405 long __ovld __conv sub_group_scan_exclusive_add(long x);
15406 ulong __ovld __conv sub_group_scan_exclusive_add(ulong x);
15407 float __ovld __conv sub_group_scan_exclusive_add(float x);
15408 int __ovld __conv sub_group_scan_exclusive_min(int x);
15409 uint __ovld __conv sub_group_scan_exclusive_min(uint x);
15410 long __ovld __conv sub_group_scan_exclusive_min(long x);
15411 ulong __ovld __conv sub_group_scan_exclusive_min(ulong x);
15412 float __ovld __conv sub_group_scan_exclusive_min(float x);
15413 int __ovld __conv sub_group_scan_exclusive_max(int x);
15414 uint __ovld __conv sub_group_scan_exclusive_max(uint x);
15415 long __ovld __conv sub_group_scan_exclusive_max(long x);
15416 ulong __ovld __conv sub_group_scan_exclusive_max(ulong x);
15417 float __ovld __conv sub_group_scan_exclusive_max(float x);
15418 
15419 int __ovld __conv sub_group_scan_inclusive_add(int x);
15420 uint __ovld __conv sub_group_scan_inclusive_add(uint x);
15421 long __ovld __conv sub_group_scan_inclusive_add(long x);
15422 ulong __ovld __conv sub_group_scan_inclusive_add(ulong x);
15423 float __ovld __conv sub_group_scan_inclusive_add(float x);
15424 int __ovld __conv sub_group_scan_inclusive_min(int x);
15425 uint __ovld __conv sub_group_scan_inclusive_min(uint x);
15426 long __ovld __conv sub_group_scan_inclusive_min(long x);
15427 ulong __ovld __conv sub_group_scan_inclusive_min(ulong x);
15428 float __ovld __conv sub_group_scan_inclusive_min(float x);
15429 int __ovld __conv sub_group_scan_inclusive_max(int x);
15430 uint __ovld __conv sub_group_scan_inclusive_max(uint x);
15431 long __ovld __conv sub_group_scan_inclusive_max(long x);
15432 ulong __ovld __conv sub_group_scan_inclusive_max(ulong x);
15433 float __ovld __conv sub_group_scan_inclusive_max(float x);
15434 
15435 #ifdef cl_khr_fp16
15436 half __ovld __conv sub_group_broadcast(half x, uint sub_group_local_id);
15437 half __ovld __conv sub_group_reduce_add(half x);
15438 half __ovld __conv sub_group_reduce_min(half x);
15439 half __ovld __conv sub_group_reduce_max(half x);
15440 half __ovld __conv sub_group_scan_exclusive_add(half x);
15441 half __ovld __conv sub_group_scan_exclusive_min(half x);
15442 half __ovld __conv sub_group_scan_exclusive_max(half x);
15443 half __ovld __conv sub_group_scan_inclusive_add(half x);
15444 half __ovld __conv sub_group_scan_inclusive_min(half x);
15445 half __ovld __conv sub_group_scan_inclusive_max(half x);
15446 #endif //cl_khr_fp16
15447 
15448 #ifdef cl_khr_fp64
15449 double __ovld __conv sub_group_broadcast(double x, uint sub_group_local_id);
15450 double __ovld __conv sub_group_reduce_add(double x);
15451 double __ovld __conv sub_group_reduce_min(double x);
15452 double __ovld __conv sub_group_reduce_max(double x);
15453 double __ovld __conv sub_group_scan_exclusive_add(double x);
15454 double __ovld __conv sub_group_scan_exclusive_min(double x);
15455 double __ovld __conv sub_group_scan_exclusive_max(double x);
15456 double __ovld __conv sub_group_scan_inclusive_add(double x);
15457 double __ovld __conv sub_group_scan_inclusive_min(double x);
15458 double __ovld __conv sub_group_scan_inclusive_max(double x);
15459 #endif //cl_khr_fp64
15460 
15461 #endif //cl_khr_subgroups cl_intel_subgroups
15462 
15463 #if defined(cl_khr_subgroup_extended_types)
15464 char __ovld __conv sub_group_broadcast( char value, uint index );
15465 char2 __ovld __conv sub_group_broadcast( char2 value, uint index );
15466 char3 __ovld __conv sub_group_broadcast( char3 value, uint index );
15467 char4 __ovld __conv sub_group_broadcast( char4 value, uint index );
15468 char8 __ovld __conv sub_group_broadcast( char8 value, uint index );
15469 char16 __ovld __conv sub_group_broadcast( char16 value, uint index );
15470 
15471 uchar __ovld __conv sub_group_broadcast( uchar value, uint index );
15472 uchar2 __ovld __conv sub_group_broadcast( uchar2 value, uint index );
15473 uchar3 __ovld __conv sub_group_broadcast( uchar3 value, uint index );
15474 uchar4 __ovld __conv sub_group_broadcast( uchar4 value, uint index );
15475 uchar8 __ovld __conv sub_group_broadcast( uchar8 value, uint index );
15476 uchar16 __ovld __conv sub_group_broadcast( uchar16 value, uint index );
15477 
15478 short __ovld __conv sub_group_broadcast( short value, uint index );
15479 short2 __ovld __conv sub_group_broadcast( short2 value, uint index );
15480 short3 __ovld __conv sub_group_broadcast( short3 value, uint index );
15481 short4 __ovld __conv sub_group_broadcast( short4 value, uint index );
15482 short8 __ovld __conv sub_group_broadcast( short8 value, uint index );
15483 short16 __ovld __conv sub_group_broadcast( short16 value, uint index );
15484 
15485 ushort __ovld __conv sub_group_broadcast( ushort value, uint index );
15486 ushort2 __ovld __conv sub_group_broadcast( ushort2 value, uint index );
15487 ushort3 __ovld __conv sub_group_broadcast( ushort3 value, uint index );
15488 ushort4 __ovld __conv sub_group_broadcast( ushort4 value, uint index );
15489 ushort8 __ovld __conv sub_group_broadcast( ushort8 value, uint index );
15490 ushort16 __ovld __conv sub_group_broadcast( ushort16 value, uint index );
15491 
15492 // scalar int broadcast is part of cl_khr_subgroups
15493 int2 __ovld __conv sub_group_broadcast( int2 value, uint index );
15494 int3 __ovld __conv sub_group_broadcast( int3 value, uint index );
15495 int4 __ovld __conv sub_group_broadcast( int4 value, uint index );
15496 int8 __ovld __conv sub_group_broadcast( int8 value, uint index );
15497 int16 __ovld __conv sub_group_broadcast( int16 value, uint index );
15498 
15499 // scalar uint broadcast is part of cl_khr_subgroups
15500 uint2 __ovld __conv sub_group_broadcast( uint2 value, uint index );
15501 uint3 __ovld __conv sub_group_broadcast( uint3 value, uint index );
15502 uint4 __ovld __conv sub_group_broadcast( uint4 value, uint index );
15503 uint8 __ovld __conv sub_group_broadcast( uint8 value, uint index );
15504 uint16 __ovld __conv sub_group_broadcast( uint16 value, uint index );
15505 
15506 // scalar long broadcast is part of cl_khr_subgroups
15507 long2 __ovld __conv sub_group_broadcast( long2 value, uint index );
15508 long3 __ovld __conv sub_group_broadcast( long3 value, uint index );
15509 long4 __ovld __conv sub_group_broadcast( long4 value, uint index );
15510 long8 __ovld __conv sub_group_broadcast( long8 value, uint index );
15511 long16 __ovld __conv sub_group_broadcast( long16 value, uint index );
15512 
15513 // scalar ulong broadcast is part of cl_khr_subgroups
15514 ulong2 __ovld __conv sub_group_broadcast( ulong2 value, uint index );
15515 ulong3 __ovld __conv sub_group_broadcast( ulong3 value, uint index );
15516 ulong4 __ovld __conv sub_group_broadcast( ulong4 value, uint index );
15517 ulong8 __ovld __conv sub_group_broadcast( ulong8 value, uint index );
15518 ulong16 __ovld __conv sub_group_broadcast( ulong16 value, uint index );
15519 
15520 // scalar float broadcast is part of cl_khr_subgroups
15521 float2 __ovld __conv sub_group_broadcast( float2 value, uint index );
15522 float3 __ovld __conv sub_group_broadcast( float3 value, uint index );
15523 float4 __ovld __conv sub_group_broadcast( float4 value, uint index );
15524 float8 __ovld __conv sub_group_broadcast( float8 value, uint index );
15525 float16 __ovld __conv sub_group_broadcast( float16 value, uint index );
15526 
15527 char __ovld __conv sub_group_reduce_add( char value );
15528 uchar __ovld __conv sub_group_reduce_add( uchar value );
15529 short __ovld __conv sub_group_reduce_add( short value );
15530 ushort __ovld __conv sub_group_reduce_add( ushort value );
15531 
15532 char __ovld __conv sub_group_reduce_min( char value );
15533 uchar __ovld __conv sub_group_reduce_min( uchar value );
15534 short __ovld __conv sub_group_reduce_min( short value );
15535 ushort __ovld __conv sub_group_reduce_min( ushort value );
15536 
15537 char __ovld __conv sub_group_reduce_max( char value );
15538 uchar __ovld __conv sub_group_reduce_max( uchar value );
15539 short __ovld __conv sub_group_reduce_max( short value );
15540 ushort __ovld __conv sub_group_reduce_max( ushort value );
15541 
15542 char __ovld __conv sub_group_scan_inclusive_add( char value );
15543 uchar __ovld __conv sub_group_scan_inclusive_add( uchar value );
15544 short __ovld __conv sub_group_scan_inclusive_add( short value );
15545 ushort __ovld __conv sub_group_scan_inclusive_add( ushort value );
15546 
15547 char __ovld __conv sub_group_scan_inclusive_min( char value );
15548 uchar __ovld __conv sub_group_scan_inclusive_min( uchar value );
15549 short __ovld __conv sub_group_scan_inclusive_min( short value );
15550 ushort __ovld __conv sub_group_scan_inclusive_min( ushort value );
15551 
15552 char __ovld __conv sub_group_scan_inclusive_max( char value );
15553 uchar __ovld __conv sub_group_scan_inclusive_max( uchar value );
15554 short __ovld __conv sub_group_scan_inclusive_max( short value );
15555 ushort __ovld __conv sub_group_scan_inclusive_max( ushort value );
15556 
15557 char __ovld __conv sub_group_scan_exclusive_add( char value );
15558 uchar __ovld __conv sub_group_scan_exclusive_add( uchar value );
15559 short __ovld __conv sub_group_scan_exclusive_add( short value );
15560 ushort __ovld __conv sub_group_scan_exclusive_add( ushort value );
15561 
15562 char __ovld __conv sub_group_scan_exclusive_min( char value );
15563 uchar __ovld __conv sub_group_scan_exclusive_min( uchar value );
15564 short __ovld __conv sub_group_scan_exclusive_min( short value );
15565 ushort __ovld __conv sub_group_scan_exclusive_min( ushort value );
15566 
15567 char __ovld __conv sub_group_scan_exclusive_max( char value );
15568 uchar __ovld __conv sub_group_scan_exclusive_max( uchar value );
15569 short __ovld __conv sub_group_scan_exclusive_max( short value );
15570 ushort __ovld __conv sub_group_scan_exclusive_max( ushort value );
15571 
15572 #if defined(cl_khr_fp16)
15573 // scalar half broadcast is part of cl_khr_subgroups
15574 half2 __ovld __conv sub_group_broadcast( half2 value, uint index );
15575 half3 __ovld __conv sub_group_broadcast( half3 value, uint index );
15576 half4 __ovld __conv sub_group_broadcast( half4 value, uint index );
15577 half8 __ovld __conv sub_group_broadcast( half8 value, uint index );
15578 half16 __ovld __conv sub_group_broadcast( half16 value, uint index );
15579 #endif // cl_khr_fp16
15580 
15581 #if defined(cl_khr_fp64)
15582 // scalar double broadcast is part of cl_khr_subgroups
15583 double2 __ovld __conv sub_group_broadcast( double2 value, uint index );
15584 double3 __ovld __conv sub_group_broadcast( double3 value, uint index );
15585 double4 __ovld __conv sub_group_broadcast( double4 value, uint index );
15586 double8 __ovld __conv sub_group_broadcast( double8 value, uint index );
15587 double16 __ovld __conv sub_group_broadcast( double16 value, uint index );
15588 #endif // cl_khr_fp64
15589 
15590 #endif // cl_khr_subgroup_extended_types
15591 
15592 #if defined(cl_khr_subgroup_non_uniform_vote)
15593 int __ovld sub_group_elect(void);
15594 int __ovld sub_group_non_uniform_all( int predicate );
15595 int __ovld sub_group_non_uniform_any( int predicate );
15596 
15597 int __ovld sub_group_non_uniform_all_equal( char value );
15598 int __ovld sub_group_non_uniform_all_equal( uchar value );
15599 int __ovld sub_group_non_uniform_all_equal( short value );
15600 int __ovld sub_group_non_uniform_all_equal( ushort value );
15601 int __ovld sub_group_non_uniform_all_equal( int value );
15602 int __ovld sub_group_non_uniform_all_equal( uint value );
15603 int __ovld sub_group_non_uniform_all_equal( long value );
15604 int __ovld sub_group_non_uniform_all_equal( ulong value );
15605 int __ovld sub_group_non_uniform_all_equal( float value );
15606 
15607 #if defined(cl_khr_fp16)
15608 int __ovld sub_group_non_uniform_all_equal( half value );
15609 #endif // cl_khr_fp16
15610 
15611 #if defined(cl_khr_fp64)
15612 int __ovld sub_group_non_uniform_all_equal( double value );
15613 #endif // cl_khr_fp64
15614 
15615 #endif // cl_khr_subgroup_non_uniform_vote
15616 
15617 #if defined(cl_khr_subgroup_ballot)
15618 char __ovld sub_group_non_uniform_broadcast( char value, uint index );
15619 char2 __ovld sub_group_non_uniform_broadcast( char2 value, uint index );
15620 char3 __ovld sub_group_non_uniform_broadcast( char3 value, uint index );
15621 char4 __ovld sub_group_non_uniform_broadcast( char4 value, uint index );
15622 char8 __ovld sub_group_non_uniform_broadcast( char8 value, uint index );
15623 char16 __ovld sub_group_non_uniform_broadcast( char16 value, uint index );
15624 
15625 uchar __ovld sub_group_non_uniform_broadcast( uchar value, uint index );
15626 uchar2 __ovld sub_group_non_uniform_broadcast( uchar2 value, uint index );
15627 uchar3 __ovld sub_group_non_uniform_broadcast( uchar3 value, uint index );
15628 uchar4 __ovld sub_group_non_uniform_broadcast( uchar4 value, uint index );
15629 uchar8 __ovld sub_group_non_uniform_broadcast( uchar8 value, uint index );
15630 uchar16 __ovld sub_group_non_uniform_broadcast( uchar16 value, uint index );
15631 
15632 short __ovld sub_group_non_uniform_broadcast( short value, uint index );
15633 short2 __ovld sub_group_non_uniform_broadcast( short2 value, uint index );
15634 short3 __ovld sub_group_non_uniform_broadcast( short3 value, uint index );
15635 short4 __ovld sub_group_non_uniform_broadcast( short4 value, uint index );
15636 short8 __ovld sub_group_non_uniform_broadcast( short8 value, uint index );
15637 short16 __ovld sub_group_non_uniform_broadcast( short16 value, uint index );
15638 
15639 ushort __ovld sub_group_non_uniform_broadcast( ushort value, uint index );
15640 ushort2 __ovld sub_group_non_uniform_broadcast( ushort2 value, uint index );
15641 ushort3 __ovld sub_group_non_uniform_broadcast( ushort3 value, uint index );
15642 ushort4 __ovld sub_group_non_uniform_broadcast( ushort4 value, uint index );
15643 ushort8 __ovld sub_group_non_uniform_broadcast( ushort8 value, uint index );
15644 ushort16 __ovld sub_group_non_uniform_broadcast( ushort16 value, uint index );
15645 
15646 int __ovld sub_group_non_uniform_broadcast( int value, uint index );
15647 int2 __ovld sub_group_non_uniform_broadcast( int2 value, uint index );
15648 int3 __ovld sub_group_non_uniform_broadcast( int3 value, uint index );
15649 int4 __ovld sub_group_non_uniform_broadcast( int4 value, uint index );
15650 int8 __ovld sub_group_non_uniform_broadcast( int8 value, uint index );
15651 int16 __ovld sub_group_non_uniform_broadcast( int16 value, uint index );
15652 
15653 uint __ovld sub_group_non_uniform_broadcast( uint value, uint index );
15654 uint2 __ovld sub_group_non_uniform_broadcast( uint2 value, uint index );
15655 uint3 __ovld sub_group_non_uniform_broadcast( uint3 value, uint index );
15656 uint4 __ovld sub_group_non_uniform_broadcast( uint4 value, uint index );
15657 uint8 __ovld sub_group_non_uniform_broadcast( uint8 value, uint index );
15658 uint16 __ovld sub_group_non_uniform_broadcast( uint16 value, uint index );
15659 
15660 long __ovld sub_group_non_uniform_broadcast( long value, uint index );
15661 long2 __ovld sub_group_non_uniform_broadcast( long2 value, uint index );
15662 long3 __ovld sub_group_non_uniform_broadcast( long3 value, uint index );
15663 long4 __ovld sub_group_non_uniform_broadcast( long4 value, uint index );
15664 long8 __ovld sub_group_non_uniform_broadcast( long8 value, uint index );
15665 long16 __ovld sub_group_non_uniform_broadcast( long16 value, uint index );
15666 
15667 ulong __ovld sub_group_non_uniform_broadcast( ulong value, uint index );
15668 ulong2 __ovld sub_group_non_uniform_broadcast( ulong2 value, uint index );
15669 ulong3 __ovld sub_group_non_uniform_broadcast( ulong3 value, uint index );
15670 ulong4 __ovld sub_group_non_uniform_broadcast( ulong4 value, uint index );
15671 ulong8 __ovld sub_group_non_uniform_broadcast( ulong8 value, uint index );
15672 ulong16 __ovld sub_group_non_uniform_broadcast( ulong16 value, uint index );
15673 
15674 float __ovld sub_group_non_uniform_broadcast( float value, uint index );
15675 float2 __ovld sub_group_non_uniform_broadcast( float2 value, uint index );
15676 float3 __ovld sub_group_non_uniform_broadcast( float3 value, uint index );
15677 float4 __ovld sub_group_non_uniform_broadcast( float4 value, uint index );
15678 float8 __ovld sub_group_non_uniform_broadcast( float8 value, uint index );
15679 float16 __ovld sub_group_non_uniform_broadcast( float16 value, uint index );
15680 
15681 char __ovld sub_group_broadcast_first( char value );
15682 uchar __ovld sub_group_broadcast_first( uchar value );
15683 short __ovld sub_group_broadcast_first( short value );
15684 ushort __ovld sub_group_broadcast_first( ushort value );
15685 int __ovld sub_group_broadcast_first( int value );
15686 uint __ovld sub_group_broadcast_first( uint value );
15687 long __ovld sub_group_broadcast_first( long value );
15688 ulong __ovld sub_group_broadcast_first( ulong value );
15689 float __ovld sub_group_broadcast_first( float value );
15690 
15691 uint4 __ovld sub_group_ballot( int predicate );
15692 int __ovld __cnfn sub_group_inverse_ballot( uint4 value );
15693 int __ovld __cnfn sub_group_ballot_bit_extract( uint4 value, uint index );
15694 uint __ovld __cnfn sub_group_ballot_bit_count( uint4 value );
15695 
15696 uint __ovld sub_group_ballot_inclusive_scan( uint4 value );
15697 uint __ovld sub_group_ballot_exclusive_scan( uint4 value );
15698 uint __ovld sub_group_ballot_find_lsb( uint4 value );
15699 uint __ovld sub_group_ballot_find_msb( uint4 value );
15700 
15701 uint4 __ovld __cnfn get_sub_group_eq_mask(void);
15702 uint4 __ovld __cnfn get_sub_group_ge_mask(void);
15703 uint4 __ovld __cnfn get_sub_group_gt_mask(void);
15704 uint4 __ovld __cnfn get_sub_group_le_mask(void);
15705 uint4 __ovld __cnfn get_sub_group_lt_mask(void);
15706 
15707 #if defined(cl_khr_fp16)
15708 half __ovld sub_group_non_uniform_broadcast( half value, uint index );
15709 half2 __ovld sub_group_non_uniform_broadcast( half2 value, uint index );
15710 half3 __ovld sub_group_non_uniform_broadcast( half3 value, uint index );
15711 half4 __ovld sub_group_non_uniform_broadcast( half4 value, uint index );
15712 half8 __ovld sub_group_non_uniform_broadcast( half8 value, uint index );
15713 half16 __ovld sub_group_non_uniform_broadcast( half16 value, uint index );
15714 
15715 half __ovld sub_group_broadcast_first( half value );
15716 #endif // cl_khr_fp16
15717 
15718 #if defined(cl_khr_fp64)
15719 double __ovld sub_group_non_uniform_broadcast( double value, uint index );
15720 double2 __ovld sub_group_non_uniform_broadcast( double2 value, uint index );
15721 double3 __ovld sub_group_non_uniform_broadcast( double3 value, uint index );
15722 double4 __ovld sub_group_non_uniform_broadcast( double4 value, uint index );
15723 double8 __ovld sub_group_non_uniform_broadcast( double8 value, uint index );
15724 double16 __ovld sub_group_non_uniform_broadcast( double16 value, uint index );
15725 
15726 double __ovld sub_group_broadcast_first( double value );
15727 #endif // cl_khr_fp64
15728 
15729 #endif // cl_khr_subgroup_ballot
15730 
15731 #if defined(cl_khr_subgroup_non_uniform_arithmetic)
15732 char __ovld sub_group_non_uniform_reduce_add( char value );
15733 uchar __ovld sub_group_non_uniform_reduce_add( uchar value );
15734 short __ovld sub_group_non_uniform_reduce_add( short value );
15735 ushort __ovld sub_group_non_uniform_reduce_add( ushort value );
15736 int __ovld sub_group_non_uniform_reduce_add( int value );
15737 uint __ovld sub_group_non_uniform_reduce_add( uint value );
15738 long __ovld sub_group_non_uniform_reduce_add( long value );
15739 ulong __ovld sub_group_non_uniform_reduce_add( ulong value );
15740 float __ovld sub_group_non_uniform_reduce_add( float value );
15741 
15742 char __ovld sub_group_non_uniform_reduce_mul( char value );
15743 uchar __ovld sub_group_non_uniform_reduce_mul( uchar value );
15744 short __ovld sub_group_non_uniform_reduce_mul( short value );
15745 ushort __ovld sub_group_non_uniform_reduce_mul( ushort value );
15746 int __ovld sub_group_non_uniform_reduce_mul( int value );
15747 uint __ovld sub_group_non_uniform_reduce_mul( uint value );
15748 long __ovld sub_group_non_uniform_reduce_mul( long value );
15749 ulong __ovld sub_group_non_uniform_reduce_mul( ulong value );
15750 float __ovld sub_group_non_uniform_reduce_mul( float value );
15751 
15752 char __ovld sub_group_non_uniform_reduce_min( char value );
15753 uchar __ovld sub_group_non_uniform_reduce_min( uchar value );
15754 short __ovld sub_group_non_uniform_reduce_min( short value );
15755 ushort __ovld sub_group_non_uniform_reduce_min( ushort value );
15756 int __ovld sub_group_non_uniform_reduce_min( int value );
15757 uint __ovld sub_group_non_uniform_reduce_min( uint value );
15758 long __ovld sub_group_non_uniform_reduce_min( long value );
15759 ulong __ovld sub_group_non_uniform_reduce_min( ulong value );
15760 float __ovld sub_group_non_uniform_reduce_min( float value );
15761 
15762 char __ovld sub_group_non_uniform_reduce_max( char value );
15763 uchar __ovld sub_group_non_uniform_reduce_max( uchar value );
15764 short __ovld sub_group_non_uniform_reduce_max( short value );
15765 ushort __ovld sub_group_non_uniform_reduce_max( ushort value );
15766 int __ovld sub_group_non_uniform_reduce_max( int value );
15767 uint __ovld sub_group_non_uniform_reduce_max( uint value );
15768 long __ovld sub_group_non_uniform_reduce_max( long value );
15769 ulong __ovld sub_group_non_uniform_reduce_max( ulong value );
15770 float __ovld sub_group_non_uniform_reduce_max( float value );
15771 
15772 char __ovld sub_group_non_uniform_scan_inclusive_add( char value );
15773 uchar __ovld sub_group_non_uniform_scan_inclusive_add( uchar value );
15774 short __ovld sub_group_non_uniform_scan_inclusive_add( short value );
15775 ushort __ovld sub_group_non_uniform_scan_inclusive_add( ushort value );
15776 int __ovld sub_group_non_uniform_scan_inclusive_add( int value );
15777 uint __ovld sub_group_non_uniform_scan_inclusive_add( uint value );
15778 long __ovld sub_group_non_uniform_scan_inclusive_add( long value );
15779 ulong __ovld sub_group_non_uniform_scan_inclusive_add( ulong value );
15780 float __ovld sub_group_non_uniform_scan_inclusive_add( float value );
15781 
15782 char __ovld sub_group_non_uniform_scan_inclusive_mul( char value );
15783 uchar __ovld sub_group_non_uniform_scan_inclusive_mul( uchar value );
15784 short __ovld sub_group_non_uniform_scan_inclusive_mul( short value );
15785 ushort __ovld sub_group_non_uniform_scan_inclusive_mul( ushort value );
15786 int __ovld sub_group_non_uniform_scan_inclusive_mul( int value );
15787 uint __ovld sub_group_non_uniform_scan_inclusive_mul( uint value );
15788 long __ovld sub_group_non_uniform_scan_inclusive_mul( long value );
15789 ulong __ovld sub_group_non_uniform_scan_inclusive_mul( ulong value );
15790 float __ovld sub_group_non_uniform_scan_inclusive_mul( float value );
15791 
15792 char __ovld sub_group_non_uniform_scan_inclusive_min( char value );
15793 uchar __ovld sub_group_non_uniform_scan_inclusive_min( uchar value );
15794 short __ovld sub_group_non_uniform_scan_inclusive_min( short value );
15795 ushort __ovld sub_group_non_uniform_scan_inclusive_min( ushort value );
15796 int __ovld sub_group_non_uniform_scan_inclusive_min( int value );
15797 uint __ovld sub_group_non_uniform_scan_inclusive_min( uint value );
15798 long __ovld sub_group_non_uniform_scan_inclusive_min( long value );
15799 ulong __ovld sub_group_non_uniform_scan_inclusive_min( ulong value );
15800 float __ovld sub_group_non_uniform_scan_inclusive_min( float value );
15801 
15802 char __ovld sub_group_non_uniform_scan_inclusive_max( char value );
15803 uchar __ovld sub_group_non_uniform_scan_inclusive_max( uchar value );
15804 short __ovld sub_group_non_uniform_scan_inclusive_max( short value );
15805 ushort __ovld sub_group_non_uniform_scan_inclusive_max( ushort value );
15806 int __ovld sub_group_non_uniform_scan_inclusive_max( int value );
15807 uint __ovld sub_group_non_uniform_scan_inclusive_max( uint value );
15808 long __ovld sub_group_non_uniform_scan_inclusive_max( long value );
15809 ulong __ovld sub_group_non_uniform_scan_inclusive_max( ulong value );
15810 float __ovld sub_group_non_uniform_scan_inclusive_max( float value );
15811 
15812 char __ovld sub_group_non_uniform_scan_exclusive_add( char value );
15813 uchar __ovld sub_group_non_uniform_scan_exclusive_add( uchar value );
15814 short __ovld sub_group_non_uniform_scan_exclusive_add( short value );
15815 ushort __ovld sub_group_non_uniform_scan_exclusive_add( ushort value );
15816 int __ovld sub_group_non_uniform_scan_exclusive_add( int value );
15817 uint __ovld sub_group_non_uniform_scan_exclusive_add( uint value );
15818 long __ovld sub_group_non_uniform_scan_exclusive_add( long value );
15819 ulong __ovld sub_group_non_uniform_scan_exclusive_add( ulong value );
15820 float __ovld sub_group_non_uniform_scan_exclusive_add( float value );
15821 
15822 char __ovld sub_group_non_uniform_scan_exclusive_mul( char value );
15823 uchar __ovld sub_group_non_uniform_scan_exclusive_mul( uchar value );
15824 short __ovld sub_group_non_uniform_scan_exclusive_mul( short value );
15825 ushort __ovld sub_group_non_uniform_scan_exclusive_mul( ushort value );
15826 int __ovld sub_group_non_uniform_scan_exclusive_mul( int value );
15827 uint __ovld sub_group_non_uniform_scan_exclusive_mul( uint value );
15828 long __ovld sub_group_non_uniform_scan_exclusive_mul( long value );
15829 ulong __ovld sub_group_non_uniform_scan_exclusive_mul( ulong value );
15830 float __ovld sub_group_non_uniform_scan_exclusive_mul( float value );
15831 
15832 char __ovld sub_group_non_uniform_scan_exclusive_min( char value );
15833 uchar __ovld sub_group_non_uniform_scan_exclusive_min( uchar value );
15834 short __ovld sub_group_non_uniform_scan_exclusive_min( short value );
15835 ushort __ovld sub_group_non_uniform_scan_exclusive_min( ushort value );
15836 int __ovld sub_group_non_uniform_scan_exclusive_min( int value );
15837 uint __ovld sub_group_non_uniform_scan_exclusive_min( uint value );
15838 long __ovld sub_group_non_uniform_scan_exclusive_min( long value );
15839 ulong __ovld sub_group_non_uniform_scan_exclusive_min( ulong value );
15840 float __ovld sub_group_non_uniform_scan_exclusive_min( float value );
15841 
15842 char __ovld sub_group_non_uniform_scan_exclusive_max( char value );
15843 uchar __ovld sub_group_non_uniform_scan_exclusive_max( uchar value );
15844 short __ovld sub_group_non_uniform_scan_exclusive_max( short value );
15845 ushort __ovld sub_group_non_uniform_scan_exclusive_max( ushort value );
15846 int __ovld sub_group_non_uniform_scan_exclusive_max( int value );
15847 uint __ovld sub_group_non_uniform_scan_exclusive_max( uint value );
15848 long __ovld sub_group_non_uniform_scan_exclusive_max( long value );
15849 ulong __ovld sub_group_non_uniform_scan_exclusive_max( ulong value );
15850 float __ovld sub_group_non_uniform_scan_exclusive_max( float value );
15851 
15852 char __ovld sub_group_non_uniform_reduce_and( char value );
15853 uchar __ovld sub_group_non_uniform_reduce_and( uchar value );
15854 short __ovld sub_group_non_uniform_reduce_and( short value );
15855 ushort __ovld sub_group_non_uniform_reduce_and( ushort value );
15856 int __ovld sub_group_non_uniform_reduce_and( int value );
15857 uint __ovld sub_group_non_uniform_reduce_and( uint value );
15858 long __ovld sub_group_non_uniform_reduce_and( long value );
15859 ulong __ovld sub_group_non_uniform_reduce_and( ulong value );
15860 
15861 char __ovld sub_group_non_uniform_reduce_or( char value );
15862 uchar __ovld sub_group_non_uniform_reduce_or( uchar value );
15863 short __ovld sub_group_non_uniform_reduce_or( short value );
15864 ushort __ovld sub_group_non_uniform_reduce_or( ushort value );
15865 int __ovld sub_group_non_uniform_reduce_or( int value );
15866 uint __ovld sub_group_non_uniform_reduce_or( uint value );
15867 long __ovld sub_group_non_uniform_reduce_or( long value );
15868 ulong __ovld sub_group_non_uniform_reduce_or( ulong value );
15869 
15870 char __ovld sub_group_non_uniform_reduce_xor( char value );
15871 uchar __ovld sub_group_non_uniform_reduce_xor( uchar value );
15872 short __ovld sub_group_non_uniform_reduce_xor( short value );
15873 ushort __ovld sub_group_non_uniform_reduce_xor( ushort value );
15874 int __ovld sub_group_non_uniform_reduce_xor( int value );
15875 uint __ovld sub_group_non_uniform_reduce_xor( uint value );
15876 long __ovld sub_group_non_uniform_reduce_xor( long value );
15877 ulong __ovld sub_group_non_uniform_reduce_xor( ulong value );
15878 
15879 char __ovld sub_group_non_uniform_scan_inclusive_and( char value );
15880 uchar __ovld sub_group_non_uniform_scan_inclusive_and( uchar value );
15881 short __ovld sub_group_non_uniform_scan_inclusive_and( short value );
15882 ushort __ovld sub_group_non_uniform_scan_inclusive_and( ushort value );
15883 int __ovld sub_group_non_uniform_scan_inclusive_and( int value );
15884 uint __ovld sub_group_non_uniform_scan_inclusive_and( uint value );
15885 long __ovld sub_group_non_uniform_scan_inclusive_and( long value );
15886 ulong __ovld sub_group_non_uniform_scan_inclusive_and( ulong value );
15887 
15888 char __ovld sub_group_non_uniform_scan_inclusive_or( char value );
15889 uchar __ovld sub_group_non_uniform_scan_inclusive_or( uchar value );
15890 short __ovld sub_group_non_uniform_scan_inclusive_or( short value );
15891 ushort __ovld sub_group_non_uniform_scan_inclusive_or( ushort value );
15892 int __ovld sub_group_non_uniform_scan_inclusive_or( int value );
15893 uint __ovld sub_group_non_uniform_scan_inclusive_or( uint value );
15894 long __ovld sub_group_non_uniform_scan_inclusive_or( long value );
15895 ulong __ovld sub_group_non_uniform_scan_inclusive_or( ulong value );
15896 
15897 char __ovld sub_group_non_uniform_scan_inclusive_xor( char value );
15898 uchar __ovld sub_group_non_uniform_scan_inclusive_xor( uchar value );
15899 short __ovld sub_group_non_uniform_scan_inclusive_xor( short value );
15900 ushort __ovld sub_group_non_uniform_scan_inclusive_xor( ushort value );
15901 int __ovld sub_group_non_uniform_scan_inclusive_xor( int value );
15902 uint __ovld sub_group_non_uniform_scan_inclusive_xor( uint value );
15903 long __ovld sub_group_non_uniform_scan_inclusive_xor( long value );
15904 ulong __ovld sub_group_non_uniform_scan_inclusive_xor( ulong value );
15905 
15906 char __ovld sub_group_non_uniform_scan_exclusive_and( char value );
15907 uchar __ovld sub_group_non_uniform_scan_exclusive_and( uchar value );
15908 short __ovld sub_group_non_uniform_scan_exclusive_and( short value );
15909 ushort __ovld sub_group_non_uniform_scan_exclusive_and( ushort value );
15910 int __ovld sub_group_non_uniform_scan_exclusive_and( int value );
15911 uint __ovld sub_group_non_uniform_scan_exclusive_and( uint value );
15912 long __ovld sub_group_non_uniform_scan_exclusive_and( long value );
15913 ulong __ovld sub_group_non_uniform_scan_exclusive_and( ulong value );
15914 
15915 char __ovld sub_group_non_uniform_scan_exclusive_or( char value );
15916 uchar __ovld sub_group_non_uniform_scan_exclusive_or( uchar value );
15917 short __ovld sub_group_non_uniform_scan_exclusive_or( short value );
15918 ushort __ovld sub_group_non_uniform_scan_exclusive_or( ushort value );
15919 int __ovld sub_group_non_uniform_scan_exclusive_or( int value );
15920 uint __ovld sub_group_non_uniform_scan_exclusive_or( uint value );
15921 long __ovld sub_group_non_uniform_scan_exclusive_or( long value );
15922 ulong __ovld sub_group_non_uniform_scan_exclusive_or( ulong value );
15923 
15924 char __ovld sub_group_non_uniform_scan_exclusive_xor( char value );
15925 uchar __ovld sub_group_non_uniform_scan_exclusive_xor( uchar value );
15926 short __ovld sub_group_non_uniform_scan_exclusive_xor( short value );
15927 ushort __ovld sub_group_non_uniform_scan_exclusive_xor( ushort value );
15928 int __ovld sub_group_non_uniform_scan_exclusive_xor( int value );
15929 uint __ovld sub_group_non_uniform_scan_exclusive_xor( uint value );
15930 long __ovld sub_group_non_uniform_scan_exclusive_xor( long value );
15931 ulong __ovld sub_group_non_uniform_scan_exclusive_xor( ulong value );
15932 
15933 int __ovld sub_group_non_uniform_reduce_logical_and( int predicate );
15934 int __ovld sub_group_non_uniform_reduce_logical_or( int predicate );
15935 int __ovld sub_group_non_uniform_reduce_logical_xor( int predicate );
15936 
15937 int __ovld sub_group_non_uniform_scan_inclusive_logical_and( int predicate );
15938 int __ovld sub_group_non_uniform_scan_inclusive_logical_or( int predicate );
15939 int __ovld sub_group_non_uniform_scan_inclusive_logical_xor( int predicate );
15940 
15941 int __ovld sub_group_non_uniform_scan_exclusive_logical_and( int predicate );
15942 int __ovld sub_group_non_uniform_scan_exclusive_logical_or( int predicate );
15943 int __ovld sub_group_non_uniform_scan_exclusive_logical_xor( int predicate );
15944 
15945 #if defined(cl_khr_fp16)
15946 half __ovld sub_group_non_uniform_reduce_add( half value );
15947 half __ovld sub_group_non_uniform_reduce_mul( half value );
15948 half __ovld sub_group_non_uniform_reduce_min( half value );
15949 half __ovld sub_group_non_uniform_reduce_max( half value );
15950 half __ovld sub_group_non_uniform_scan_inclusive_add( half value );
15951 half __ovld sub_group_non_uniform_scan_inclusive_mul( half value );
15952 half __ovld sub_group_non_uniform_scan_inclusive_min( half value );
15953 half __ovld sub_group_non_uniform_scan_inclusive_max( half value );
15954 half __ovld sub_group_non_uniform_scan_exclusive_add( half value );
15955 half __ovld sub_group_non_uniform_scan_exclusive_mul( half value );
15956 half __ovld sub_group_non_uniform_scan_exclusive_min( half value );
15957 half __ovld sub_group_non_uniform_scan_exclusive_max( half value );
15958 #endif // cl_khr_fp16
15959 
15960 #if defined(cl_khr_fp64)
15961 double __ovld sub_group_non_uniform_reduce_add( double value );
15962 double __ovld sub_group_non_uniform_reduce_mul( double value );
15963 double __ovld sub_group_non_uniform_reduce_min( double value );
15964 double __ovld sub_group_non_uniform_reduce_max( double value );
15965 double __ovld sub_group_non_uniform_scan_inclusive_add( double value );
15966 double __ovld sub_group_non_uniform_scan_inclusive_mul( double value );
15967 double __ovld sub_group_non_uniform_scan_inclusive_min( double value );
15968 double __ovld sub_group_non_uniform_scan_inclusive_max( double value );
15969 double __ovld sub_group_non_uniform_scan_exclusive_add( double value );
15970 double __ovld sub_group_non_uniform_scan_exclusive_mul( double value );
15971 double __ovld sub_group_non_uniform_scan_exclusive_min( double value );
15972 double __ovld sub_group_non_uniform_scan_exclusive_max( double value );
15973 #endif // cl_khr_fp64
15974 
15975 #endif // cl_khr_subgroup_non_uniform_arithmetic
15976 
15977 #if defined(cl_khr_subgroup_shuffle)
15978 char __ovld sub_group_shuffle( char value, uint index );
15979 uchar __ovld sub_group_shuffle( uchar value, uint index );
15980 short __ovld sub_group_shuffle( short value, uint index );
15981 ushort __ovld sub_group_shuffle( ushort value, uint index );
15982 int __ovld sub_group_shuffle( int value, uint index );
15983 uint __ovld sub_group_shuffle( uint value, uint index );
15984 long __ovld sub_group_shuffle( long value, uint index );
15985 ulong __ovld sub_group_shuffle( ulong value, uint index );
15986 float __ovld sub_group_shuffle( float value, uint index );
15987 
15988 char __ovld sub_group_shuffle_xor( char value, uint mask );
15989 uchar __ovld sub_group_shuffle_xor( uchar value, uint mask );
15990 short __ovld sub_group_shuffle_xor( short value, uint mask );
15991 ushort __ovld sub_group_shuffle_xor( ushort value, uint mask );
15992 int __ovld sub_group_shuffle_xor( int value, uint mask );
15993 uint __ovld sub_group_shuffle_xor( uint value, uint mask );
15994 long __ovld sub_group_shuffle_xor( long value, uint mask );
15995 ulong __ovld sub_group_shuffle_xor( ulong value, uint mask );
15996 float __ovld sub_group_shuffle_xor( float value, uint mask );
15997 
15998 #if defined(cl_khr_fp16)
15999 half __ovld sub_group_shuffle( half value, uint index );
16000 half __ovld sub_group_shuffle_xor( half value, uint mask );
16001 #endif // cl_khr_fp16
16002 
16003 #if defined(cl_khr_fp64)
16004 double __ovld sub_group_shuffle( double value, uint index );
16005 double __ovld sub_group_shuffle_xor( double value, uint mask );
16006 #endif // cl_khr_fp64
16007 
16008 #endif // cl_khr_subgroup_shuffle
16009 
16010 #if defined(cl_khr_subgroup_shuffle_relative)
16011 char __ovld sub_group_shuffle_up( char value, uint delta );
16012 uchar __ovld sub_group_shuffle_up( uchar value, uint delta );
16013 short __ovld sub_group_shuffle_up( short value, uint delta );
16014 ushort __ovld sub_group_shuffle_up( ushort value, uint delta );
16015 int __ovld sub_group_shuffle_up( int value, uint delta );
16016 uint __ovld sub_group_shuffle_up( uint value, uint delta );
16017 long __ovld sub_group_shuffle_up( long value, uint delta );
16018 ulong __ovld sub_group_shuffle_up( ulong value, uint delta );
16019 float __ovld sub_group_shuffle_up( float value, uint delta );
16020 
16021 char __ovld sub_group_shuffle_down( char value, uint delta );
16022 uchar __ovld sub_group_shuffle_down( uchar value, uint delta );
16023 short __ovld sub_group_shuffle_down( short value, uint delta );
16024 ushort __ovld sub_group_shuffle_down( ushort value, uint delta );
16025 int __ovld sub_group_shuffle_down( int value, uint delta );
16026 uint __ovld sub_group_shuffle_down( uint value, uint delta );
16027 long __ovld sub_group_shuffle_down( long value, uint delta );
16028 ulong __ovld sub_group_shuffle_down( ulong value, uint delta );
16029 float __ovld sub_group_shuffle_down( float value, uint delta );
16030 
16031 #if defined(cl_khr_fp16)
16032 half __ovld sub_group_shuffle_up( half value, uint delta );
16033 half __ovld sub_group_shuffle_down( half value, uint delta );
16034 #endif // cl_khr_fp16
16035 
16036 #if defined(cl_khr_fp64)
16037 double __ovld sub_group_shuffle_up( double value, uint delta );
16038 double __ovld sub_group_shuffle_down( double value, uint delta );
16039 #endif // cl_khr_fp64
16040 
16041 #endif // cl_khr_subgroup_shuffle_relative
16042 
16043 #if defined(cl_khr_subgroup_clustered_reduce)
16044 char __ovld sub_group_clustered_reduce_add( char value, uint clustersize );
16045 uchar __ovld sub_group_clustered_reduce_add( uchar value, uint clustersize );
16046 short __ovld sub_group_clustered_reduce_add( short value, uint clustersize );
16047 ushort __ovld sub_group_clustered_reduce_add( ushort value, uint clustersize );
16048 int __ovld sub_group_clustered_reduce_add( int value, uint clustersize );
16049 uint __ovld sub_group_clustered_reduce_add( uint value, uint clustersize );
16050 long __ovld sub_group_clustered_reduce_add( long value, uint clustersize );
16051 ulong __ovld sub_group_clustered_reduce_add( ulong value, uint clustersize );
16052 float __ovld sub_group_clustered_reduce_add( float value, uint clustersize );
16053 
16054 char __ovld sub_group_clustered_reduce_mul( char value, uint clustersize );
16055 uchar __ovld sub_group_clustered_reduce_mul( uchar value, uint clustersize );
16056 short __ovld sub_group_clustered_reduce_mul( short value, uint clustersize );
16057 ushort __ovld sub_group_clustered_reduce_mul( ushort value, uint clustersize );
16058 int __ovld sub_group_clustered_reduce_mul( int value, uint clustersize );
16059 uint __ovld sub_group_clustered_reduce_mul( uint value, uint clustersize );
16060 long __ovld sub_group_clustered_reduce_mul( long value, uint clustersize );
16061 ulong __ovld sub_group_clustered_reduce_mul( ulong value, uint clustersize );
16062 float __ovld sub_group_clustered_reduce_mul( float value, uint clustersize );
16063 
16064 char __ovld sub_group_clustered_reduce_min( char value, uint clustersize );
16065 uchar __ovld sub_group_clustered_reduce_min( uchar value, uint clustersize );
16066 short __ovld sub_group_clustered_reduce_min( short value, uint clustersize );
16067 ushort __ovld sub_group_clustered_reduce_min( ushort value, uint clustersize );
16068 int __ovld sub_group_clustered_reduce_min( int value, uint clustersize );
16069 uint __ovld sub_group_clustered_reduce_min( uint value, uint clustersize );
16070 long __ovld sub_group_clustered_reduce_min( long value, uint clustersize );
16071 ulong __ovld sub_group_clustered_reduce_min( ulong value, uint clustersize );
16072 float __ovld sub_group_clustered_reduce_min( float value, uint clustersize );
16073 
16074 char __ovld sub_group_clustered_reduce_max( char value, uint clustersize );
16075 uchar __ovld sub_group_clustered_reduce_max( uchar value, uint clustersize );
16076 short __ovld sub_group_clustered_reduce_max( short value, uint clustersize );
16077 ushort __ovld sub_group_clustered_reduce_max( ushort value, uint clustersize );
16078 int __ovld sub_group_clustered_reduce_max( int value, uint clustersize );
16079 uint __ovld sub_group_clustered_reduce_max( uint value, uint clustersize );
16080 long __ovld sub_group_clustered_reduce_max( long value, uint clustersize );
16081 ulong __ovld sub_group_clustered_reduce_max( ulong value, uint clustersize );
16082 float __ovld sub_group_clustered_reduce_max( float value, uint clustersize );
16083 
16084 char __ovld sub_group_clustered_reduce_and( char value, uint clustersize );
16085 uchar __ovld sub_group_clustered_reduce_and( uchar value, uint clustersize );
16086 short __ovld sub_group_clustered_reduce_and( short value, uint clustersize );
16087 ushort __ovld sub_group_clustered_reduce_and( ushort value, uint clustersize );
16088 int __ovld sub_group_clustered_reduce_and( int value, uint clustersize );
16089 uint __ovld sub_group_clustered_reduce_and( uint value, uint clustersize );
16090 long __ovld sub_group_clustered_reduce_and( long value, uint clustersize );
16091 ulong __ovld sub_group_clustered_reduce_and( ulong value, uint clustersize );
16092 
16093 char __ovld sub_group_clustered_reduce_or( char value, uint clustersize );
16094 uchar __ovld sub_group_clustered_reduce_or( uchar value, uint clustersize );
16095 short __ovld sub_group_clustered_reduce_or( short value, uint clustersize );
16096 ushort __ovld sub_group_clustered_reduce_or( ushort value, uint clustersize );
16097 int __ovld sub_group_clustered_reduce_or( int value, uint clustersize );
16098 uint __ovld sub_group_clustered_reduce_or( uint value, uint clustersize );
16099 long __ovld sub_group_clustered_reduce_or( long value, uint clustersize );
16100 ulong __ovld sub_group_clustered_reduce_or( ulong value, uint clustersize );
16101 
16102 char __ovld sub_group_clustered_reduce_xor( char value, uint clustersize );
16103 uchar __ovld sub_group_clustered_reduce_xor( uchar value, uint clustersize );
16104 short __ovld sub_group_clustered_reduce_xor( short value, uint clustersize );
16105 ushort __ovld sub_group_clustered_reduce_xor( ushort value, uint clustersize );
16106 int __ovld sub_group_clustered_reduce_xor( int value, uint clustersize );
16107 uint __ovld sub_group_clustered_reduce_xor( uint value, uint clustersize );
16108 long __ovld sub_group_clustered_reduce_xor( long value, uint clustersize );
16109 ulong __ovld sub_group_clustered_reduce_xor( ulong value, uint clustersize );
16110 
16111 int __ovld sub_group_clustered_reduce_logical_and( int predicate, uint clustersize );
16112 int __ovld sub_group_clustered_reduce_logical_or( int predicate, uint clustersize );
16113 int __ovld sub_group_clustered_reduce_logical_xor( int predicate, uint clustersize );
16114 
16115 #if defined(cl_khr_fp16)
16116 half __ovld sub_group_clustered_reduce_add( half value, uint clustersize );
16117 half __ovld sub_group_clustered_reduce_mul( half value, uint clustersize );
16118 half __ovld sub_group_clustered_reduce_min( half value, uint clustersize );
16119 half __ovld sub_group_clustered_reduce_max( half value, uint clustersize );
16120 #endif // cl_khr_fp16
16121 
16122 #if defined(cl_khr_fp64)
16123 double __ovld sub_group_clustered_reduce_add( double value, uint clustersize );
16124 double __ovld sub_group_clustered_reduce_mul( double value, uint clustersize );
16125 double __ovld sub_group_clustered_reduce_min( double value, uint clustersize );
16126 double __ovld sub_group_clustered_reduce_max( double value, uint clustersize );
16127 #endif // cl_khr_fp64
16128 
16129 #endif // cl_khr_subgroup_clustered_reduce
16130 
16131 #if defined(cl_intel_subgroups)
16132 // Intel-Specific Sub Group Functions
16133 float __ovld __conv intel_sub_group_shuffle( float x, uint c );
16134 float2 __ovld __conv intel_sub_group_shuffle( float2 x, uint c );
16135 float3 __ovld __conv intel_sub_group_shuffle( float3 x, uint c );
16136 float4 __ovld __conv intel_sub_group_shuffle( float4 x, uint c );
16137 float8 __ovld __conv intel_sub_group_shuffle( float8 x, uint c );
16138 float16 __ovld __conv intel_sub_group_shuffle( float16 x, uint c );
16139 
16140 int __ovld __conv intel_sub_group_shuffle( int x, uint c );
16141 int2 __ovld __conv intel_sub_group_shuffle( int2 x, uint c );
16142 int3 __ovld __conv intel_sub_group_shuffle( int3 x, uint c );
16143 int4 __ovld __conv intel_sub_group_shuffle( int4 x, uint c );
16144 int8 __ovld __conv intel_sub_group_shuffle( int8 x, uint c );
16145 int16 __ovld __conv intel_sub_group_shuffle( int16 x, uint c );
16146 
16147 uint __ovld __conv intel_sub_group_shuffle( uint x, uint c );
16148 uint2 __ovld __conv intel_sub_group_shuffle( uint2 x, uint c );
16149 uint3 __ovld __conv intel_sub_group_shuffle( uint3 x, uint c );
16150 uint4 __ovld __conv intel_sub_group_shuffle( uint4 x, uint c );
16151 uint8 __ovld __conv intel_sub_group_shuffle( uint8 x, uint c );
16152 uint16 __ovld __conv intel_sub_group_shuffle( uint16 x, uint c );
16153 
16154 long __ovld __conv intel_sub_group_shuffle( long x, uint c );
16155 ulong __ovld __conv intel_sub_group_shuffle( ulong x, uint c );
16156 
16157 float __ovld __conv intel_sub_group_shuffle_down( float cur, float next, uint c );
16158 float2 __ovld __conv intel_sub_group_shuffle_down( float2 cur, float2 next, uint c );
16159 float3 __ovld __conv intel_sub_group_shuffle_down( float3 cur, float3 next, uint c );
16160 float4 __ovld __conv intel_sub_group_shuffle_down( float4 cur, float4 next, uint c );
16161 float8 __ovld __conv intel_sub_group_shuffle_down( float8 cur, float8 next, uint c );
16162 float16 __ovld __conv intel_sub_group_shuffle_down( float16 cur, float16 next, uint c );
16163 
16164 int __ovld __conv intel_sub_group_shuffle_down( int cur, int next, uint c );
16165 int2 __ovld __conv intel_sub_group_shuffle_down( int2 cur, int2 next, uint c );
16166 int3 __ovld __conv intel_sub_group_shuffle_down( int3 cur, int3 next, uint c );
16167 int4 __ovld __conv intel_sub_group_shuffle_down( int4 cur, int4 next, uint c );
16168 int8 __ovld __conv intel_sub_group_shuffle_down( int8 cur, int8 next, uint c );
16169 int16 __ovld __conv intel_sub_group_shuffle_down( int16 cur, int16 next, uint c );
16170 
16171 uint __ovld __conv intel_sub_group_shuffle_down( uint cur, uint next, uint c );
16172 uint2 __ovld __conv intel_sub_group_shuffle_down( uint2 cur, uint2 next, uint c );
16173 uint3 __ovld __conv intel_sub_group_shuffle_down( uint3 cur, uint3 next, uint c );
16174 uint4 __ovld __conv intel_sub_group_shuffle_down( uint4 cur, uint4 next, uint c );
16175 uint8 __ovld __conv intel_sub_group_shuffle_down( uint8 cur, uint8 next, uint c );
16176 uint16 __ovld __conv intel_sub_group_shuffle_down( uint16 cur, uint16 next, uint c );
16177 
16178 long __ovld __conv intel_sub_group_shuffle_down( long prev, long cur, uint c );
16179 ulong __ovld __conv intel_sub_group_shuffle_down( ulong prev, ulong cur, uint c );
16180 
16181 float __ovld __conv intel_sub_group_shuffle_up( float prev, float cur, uint c );
16182 float2 __ovld __conv intel_sub_group_shuffle_up( float2 prev, float2 cur, uint c );
16183 float3 __ovld __conv intel_sub_group_shuffle_up( float3 prev, float3 cur, uint c );
16184 float4 __ovld __conv intel_sub_group_shuffle_up( float4 prev, float4 cur, uint c );
16185 float8 __ovld __conv intel_sub_group_shuffle_up( float8 prev, float8 cur, uint c );
16186 float16 __ovld __conv intel_sub_group_shuffle_up( float16 prev, float16 cur, uint c );
16187 
16188 int __ovld __conv intel_sub_group_shuffle_up( int prev, int cur, uint c );
16189 int2 __ovld __conv intel_sub_group_shuffle_up( int2 prev, int2 cur, uint c );
16190 int3 __ovld __conv intel_sub_group_shuffle_up( int3 prev, int3 cur, uint c );
16191 int4 __ovld __conv intel_sub_group_shuffle_up( int4 prev, int4 cur, uint c );
16192 int8 __ovld __conv intel_sub_group_shuffle_up( int8 prev, int8 cur, uint c );
16193 int16 __ovld __conv intel_sub_group_shuffle_up( int16 prev, int16 cur, uint c );
16194 
16195 uint __ovld __conv intel_sub_group_shuffle_up( uint prev, uint cur, uint c );
16196 uint2 __ovld __conv intel_sub_group_shuffle_up( uint2 prev, uint2 cur, uint c );
16197 uint3 __ovld __conv intel_sub_group_shuffle_up( uint3 prev, uint3 cur, uint c );
16198 uint4 __ovld __conv intel_sub_group_shuffle_up( uint4 prev, uint4 cur, uint c );
16199 uint8 __ovld __conv intel_sub_group_shuffle_up( uint8 prev, uint8 cur, uint c );
16200 uint16 __ovld __conv intel_sub_group_shuffle_up( uint16 prev, uint16 cur, uint c );
16201 
16202 long __ovld __conv intel_sub_group_shuffle_up( long prev, long cur, uint c );
16203 ulong __ovld __conv intel_sub_group_shuffle_up( ulong prev, ulong cur, uint c );
16204 
16205 float __ovld __conv intel_sub_group_shuffle_xor( float x, uint c );
16206 float2 __ovld __conv intel_sub_group_shuffle_xor( float2 x, uint c );
16207 float3 __ovld __conv intel_sub_group_shuffle_xor( float3 x, uint c );
16208 float4 __ovld __conv intel_sub_group_shuffle_xor( float4 x, uint c );
16209 float8 __ovld __conv intel_sub_group_shuffle_xor( float8 x, uint c );
16210 float16 __ovld __conv intel_sub_group_shuffle_xor( float16 x, uint c );
16211 
16212 int __ovld __conv intel_sub_group_shuffle_xor( int x, uint c );
16213 int2 __ovld __conv intel_sub_group_shuffle_xor( int2 x, uint c );
16214 int3 __ovld __conv intel_sub_group_shuffle_xor( int3 x, uint c );
16215 int4 __ovld __conv intel_sub_group_shuffle_xor( int4 x, uint c );
16216 int8 __ovld __conv intel_sub_group_shuffle_xor( int8 x, uint c );
16217 int16 __ovld __conv intel_sub_group_shuffle_xor( int16 x, uint c );
16218 
16219 uint __ovld __conv intel_sub_group_shuffle_xor( uint x, uint c );
16220 uint2 __ovld __conv intel_sub_group_shuffle_xor( uint2 x, uint c );
16221 uint3 __ovld __conv intel_sub_group_shuffle_xor( uint3 x, uint c );
16222 uint4 __ovld __conv intel_sub_group_shuffle_xor( uint4 x, uint c );
16223 uint8 __ovld __conv intel_sub_group_shuffle_xor( uint8 x, uint c );
16224 uint16 __ovld __conv intel_sub_group_shuffle_xor( uint16 x, uint c );
16225 
16226 long __ovld __conv intel_sub_group_shuffle_xor( long x, uint c );
16227 ulong __ovld __conv intel_sub_group_shuffle_xor( ulong x, uint c );
16228 
16229 uint __ovld __conv intel_sub_group_block_read( read_only image2d_t image, int2 coord );
16230 uint2 __ovld __conv intel_sub_group_block_read2( read_only image2d_t image, int2 coord );
16231 uint4 __ovld __conv intel_sub_group_block_read4( read_only image2d_t image, int2 coord );
16232 uint8 __ovld __conv intel_sub_group_block_read8( read_only image2d_t image, int2 coord );
16233 
16234 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
16235 uint __ovld __conv intel_sub_group_block_read(read_write image2d_t image, int2 coord);
16236 uint2 __ovld __conv intel_sub_group_block_read2(read_write image2d_t image, int2 coord);
16237 uint4 __ovld __conv intel_sub_group_block_read4(read_write image2d_t image, int2 coord);
16238 uint8 __ovld __conv intel_sub_group_block_read8(read_write image2d_t image, int2 coord);
16239 #endif // defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
16240 
16241 uint __ovld __conv intel_sub_group_block_read( const __global uint* p );
16242 uint2 __ovld __conv intel_sub_group_block_read2( const __global uint* p );
16243 uint4 __ovld __conv intel_sub_group_block_read4( const __global uint* p );
16244 uint8 __ovld __conv intel_sub_group_block_read8( const __global uint* p );
16245 
16246 void __ovld __conv intel_sub_group_block_write(write_only image2d_t image, int2 coord, uint data);
16247 void __ovld __conv intel_sub_group_block_write2(write_only image2d_t image, int2 coord, uint2 data);
16248 void __ovld __conv intel_sub_group_block_write4(write_only image2d_t image, int2 coord, uint4 data);
16249 void __ovld __conv intel_sub_group_block_write8(write_only image2d_t image, int2 coord, uint8 data);
16250 
16251 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
16252 void __ovld __conv intel_sub_group_block_write(read_write image2d_t image, int2 coord, uint data);
16253 void __ovld __conv intel_sub_group_block_write2(read_write image2d_t image, int2 coord, uint2 data);
16254 void __ovld __conv intel_sub_group_block_write4(read_write image2d_t image, int2 coord, uint4 data);
16255 void __ovld __conv intel_sub_group_block_write8(read_write image2d_t image, int2 coord, uint8 data);
16256 #endif // defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
16257 
16258 void __ovld __conv intel_sub_group_block_write( __global uint* p, uint data );
16259 void __ovld __conv intel_sub_group_block_write2( __global uint* p, uint2 data );
16260 void __ovld __conv intel_sub_group_block_write4( __global uint* p, uint4 data );
16261 void __ovld __conv intel_sub_group_block_write8( __global uint* p, uint8 data );
16262 
16263 #ifdef cl_khr_fp16
16264 half __ovld __conv intel_sub_group_shuffle( half x, uint c );
16265 half __ovld __conv intel_sub_group_shuffle_down( half prev, half cur, uint c );
16266 half __ovld __conv intel_sub_group_shuffle_up( half prev, half cur, uint c );
16267 half __ovld __conv intel_sub_group_shuffle_xor( half x, uint c );
16268 #endif
16269 
16270 #if defined(cl_khr_fp64)
16271 double __ovld __conv intel_sub_group_shuffle( double x, uint c );
16272 double __ovld __conv intel_sub_group_shuffle_down( double prev, double cur, uint c );
16273 double __ovld __conv intel_sub_group_shuffle_up( double prev, double cur, uint c );
16274 double __ovld __conv intel_sub_group_shuffle_xor( double x, uint c );
16275 #endif
16276 
16277 #endif //cl_intel_subgroups
16278 
16279 #if defined(cl_intel_subgroups_short)
16280 short __ovld __conv intel_sub_group_broadcast( short x, uint sub_group_local_id );
16281 short2 __ovld __conv intel_sub_group_broadcast( short2 x, uint sub_group_local_id );
16282 short3 __ovld __conv intel_sub_group_broadcast( short3 x, uint sub_group_local_id );
16283 short4 __ovld __conv intel_sub_group_broadcast( short4 x, uint sub_group_local_id );
16284 short8 __ovld __conv intel_sub_group_broadcast( short8 x, uint sub_group_local_id );
16285 
16286 ushort __ovld __conv intel_sub_group_broadcast( ushort x, uint sub_group_local_id );
16287 ushort2 __ovld __conv intel_sub_group_broadcast( ushort2 x, uint sub_group_local_id );
16288 ushort3 __ovld __conv intel_sub_group_broadcast( ushort3 x, uint sub_group_local_id );
16289 ushort4 __ovld __conv intel_sub_group_broadcast( ushort4 x, uint sub_group_local_id );
16290 ushort8 __ovld __conv intel_sub_group_broadcast( ushort8 x, uint sub_group_local_id );
16291 
16292 short __ovld __conv intel_sub_group_shuffle( short x, uint c );
16293 short2 __ovld __conv intel_sub_group_shuffle( short2 x, uint c );
16294 short3 __ovld __conv intel_sub_group_shuffle( short3 x, uint c );
16295 short4 __ovld __conv intel_sub_group_shuffle( short4 x, uint c );
16296 short8 __ovld __conv intel_sub_group_shuffle( short8 x, uint c );
16297 short16 __ovld __conv intel_sub_group_shuffle( short16 x, uint c);
16298 
16299 ushort __ovld __conv intel_sub_group_shuffle( ushort x, uint c );
16300 ushort2 __ovld __conv intel_sub_group_shuffle( ushort2 x, uint c );
16301 ushort3 __ovld __conv intel_sub_group_shuffle( ushort3 x, uint c );
16302 ushort4 __ovld __conv intel_sub_group_shuffle( ushort4 x, uint c );
16303 ushort8 __ovld __conv intel_sub_group_shuffle( ushort8 x, uint c );
16304 ushort16 __ovld __conv intel_sub_group_shuffle( ushort16 x, uint c );
16305 
16306 short __ovld __conv intel_sub_group_shuffle_down( short cur, short next, uint c );
16307 short2 __ovld __conv intel_sub_group_shuffle_down( short2 cur, short2 next, uint c );
16308 short3 __ovld __conv intel_sub_group_shuffle_down( short3 cur, short3 next, uint c );
16309 short4 __ovld __conv intel_sub_group_shuffle_down( short4 cur, short4 next, uint c );
16310 short8 __ovld __conv intel_sub_group_shuffle_down( short8 cur, short8 next, uint c );
16311 short16 __ovld __conv intel_sub_group_shuffle_down( short16 cur, short16 next, uint c );
16312 
16313 ushort __ovld __conv intel_sub_group_shuffle_down( ushort cur, ushort next, uint c );
16314 ushort2 __ovld __conv intel_sub_group_shuffle_down( ushort2 cur, ushort2 next, uint c );
16315 ushort3 __ovld __conv intel_sub_group_shuffle_down( ushort3 cur, ushort3 next, uint c );
16316 ushort4 __ovld __conv intel_sub_group_shuffle_down( ushort4 cur, ushort4 next, uint c );
16317 ushort8 __ovld __conv intel_sub_group_shuffle_down( ushort8 cur, ushort8 next, uint c );
16318 ushort16 __ovld __conv intel_sub_group_shuffle_down( ushort16 cur, ushort16 next, uint c );
16319 
16320 short __ovld __conv intel_sub_group_shuffle_up( short cur, short next, uint c );
16321 short2 __ovld __conv intel_sub_group_shuffle_up( short2 cur, short2 next, uint c );
16322 short3 __ovld __conv intel_sub_group_shuffle_up( short3 cur, short3 next, uint c );
16323 short4 __ovld __conv intel_sub_group_shuffle_up( short4 cur, short4 next, uint c );
16324 short8 __ovld __conv intel_sub_group_shuffle_up( short8 cur, short8 next, uint c );
16325 short16 __ovld __conv intel_sub_group_shuffle_up( short16 cur, short16 next, uint c );
16326 
16327 ushort __ovld __conv intel_sub_group_shuffle_up( ushort cur, ushort next, uint c );
16328 ushort2 __ovld __conv intel_sub_group_shuffle_up( ushort2 cur, ushort2 next, uint c );
16329 ushort3 __ovld __conv intel_sub_group_shuffle_up( ushort3 cur, ushort3 next, uint c );
16330 ushort4 __ovld __conv intel_sub_group_shuffle_up( ushort4 cur, ushort4 next, uint c );
16331 ushort8 __ovld __conv intel_sub_group_shuffle_up( ushort8 cur, ushort8 next, uint c );
16332 ushort16 __ovld __conv intel_sub_group_shuffle_up( ushort16 cur, ushort16 next, uint c );
16333 
16334 short __ovld __conv intel_sub_group_shuffle_xor( short x, uint c );
16335 short2 __ovld __conv intel_sub_group_shuffle_xor( short2 x, uint c );
16336 short3 __ovld __conv intel_sub_group_shuffle_xor( short3 x, uint c );
16337 short4 __ovld __conv intel_sub_group_shuffle_xor( short4 x, uint c );
16338 short8 __ovld __conv intel_sub_group_shuffle_xor( short8 x, uint c );
16339 short16 __ovld __conv intel_sub_group_shuffle_xor( short16 x, uint c );
16340 
16341 ushort __ovld __conv intel_sub_group_shuffle_xor( ushort x, uint c );
16342 ushort2 __ovld __conv intel_sub_group_shuffle_xor( ushort2 x, uint c );
16343 ushort3 __ovld __conv intel_sub_group_shuffle_xor( ushort3 x, uint c );
16344 ushort4 __ovld __conv intel_sub_group_shuffle_xor( ushort4 x, uint c );
16345 ushort8 __ovld __conv intel_sub_group_shuffle_xor( ushort8 x, uint c );
16346 ushort16 __ovld __conv intel_sub_group_shuffle_xor( ushort16 x, uint c );
16347 
16348 short __ovld __conv intel_sub_group_reduce_add( short x );
16349 ushort __ovld __conv intel_sub_group_reduce_add( ushort x );
16350 short __ovld __conv intel_sub_group_reduce_min( short x );
16351 ushort __ovld __conv intel_sub_group_reduce_min( ushort x );
16352 short __ovld __conv intel_sub_group_reduce_max( short x );
16353 ushort __ovld __conv intel_sub_group_reduce_max( ushort x );
16354 
16355 short __ovld __conv intel_sub_group_scan_exclusive_add( short x );
16356 ushort __ovld __conv intel_sub_group_scan_exclusive_add( ushort x );
16357 short __ovld __conv intel_sub_group_scan_exclusive_min( short x );
16358 ushort __ovld __conv intel_sub_group_scan_exclusive_min( ushort x );
16359 short __ovld __conv intel_sub_group_scan_exclusive_max( short x );
16360 ushort __ovld __conv intel_sub_group_scan_exclusive_max( ushort x );
16361 
16362 short __ovld __conv intel_sub_group_scan_inclusive_add( short x );
16363 ushort __ovld __conv intel_sub_group_scan_inclusive_add( ushort x );
16364 short __ovld __conv intel_sub_group_scan_inclusive_min( short x );
16365 ushort __ovld __conv intel_sub_group_scan_inclusive_min( ushort x );
16366 short __ovld __conv intel_sub_group_scan_inclusive_max( short x );
16367 ushort __ovld __conv intel_sub_group_scan_inclusive_max( ushort x );
16368 
16369 uint __ovld __conv intel_sub_group_block_read_ui( read_only image2d_t image, int2 byte_coord );
16370 uint2 __ovld __conv intel_sub_group_block_read_ui2( read_only image2d_t image, int2 byte_coord );
16371 uint4 __ovld __conv intel_sub_group_block_read_ui4( read_only image2d_t image, int2 byte_coord );
16372 uint8 __ovld __conv intel_sub_group_block_read_ui8( read_only image2d_t image, int2 byte_coord );
16373 
16374 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
16375 uint __ovld __conv intel_sub_group_block_read_ui( read_write image2d_t image, int2 byte_coord );
16376 uint2 __ovld __conv intel_sub_group_block_read_ui2( read_write image2d_t image, int2 byte_coord );
16377 uint4 __ovld __conv intel_sub_group_block_read_ui4( read_write image2d_t image, int2 byte_coord );
16378 uint8 __ovld __conv intel_sub_group_block_read_ui8( read_write image2d_t image, int2 byte_coord );
16379 #endif // defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
16380 
16381 uint __ovld __conv intel_sub_group_block_read_ui( const __global uint* p );
16382 uint2 __ovld __conv intel_sub_group_block_read_ui2( const __global uint* p );
16383 uint4 __ovld __conv intel_sub_group_block_read_ui4( const __global uint* p );
16384 uint8 __ovld __conv intel_sub_group_block_read_ui8( const __global uint* p );
16385 
16386 void __ovld __conv intel_sub_group_block_write_ui( read_only image2d_t image, int2 byte_coord, uint data );
16387 void __ovld __conv intel_sub_group_block_write_ui2( read_only image2d_t image, int2 byte_coord, uint2 data );
16388 void __ovld __conv intel_sub_group_block_write_ui4( read_only image2d_t image, int2 byte_coord, uint4 data );
16389 void __ovld __conv intel_sub_group_block_write_ui8( read_only image2d_t image, int2 byte_coord, uint8 data );
16390 
16391 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
16392 void __ovld __conv intel_sub_group_block_write_ui( read_write image2d_t image, int2 byte_coord, uint data );
16393 void __ovld __conv intel_sub_group_block_write_ui2( read_write image2d_t image, int2 byte_coord, uint2 data );
16394 void __ovld __conv intel_sub_group_block_write_ui4( read_write image2d_t image, int2 byte_coord, uint4 data );
16395 void __ovld __conv intel_sub_group_block_write_ui8( read_write image2d_t image, int2 byte_coord, uint8 data );
16396 #endif // defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
16397 
16398 void __ovld __conv intel_sub_group_block_write_ui( __global uint* p, uint data );
16399 void __ovld __conv intel_sub_group_block_write_ui2( __global uint* p, uint2 data );
16400 void __ovld __conv intel_sub_group_block_write_ui4( __global uint* p, uint4 data );
16401 void __ovld __conv intel_sub_group_block_write_ui8( __global uint* p, uint8 data );
16402 
16403 ushort __ovld __conv intel_sub_group_block_read_us( read_only image2d_t image, int2 coord );
16404 ushort2 __ovld __conv intel_sub_group_block_read_us2( read_only image2d_t image, int2 coord );
16405 ushort4 __ovld __conv intel_sub_group_block_read_us4( read_only image2d_t image, int2 coord );
16406 ushort8 __ovld __conv intel_sub_group_block_read_us8( read_only image2d_t image, int2 coord );
16407 
16408 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
16409 ushort __ovld __conv intel_sub_group_block_read_us(read_write image2d_t image, int2 coord);
16410 ushort2 __ovld __conv intel_sub_group_block_read_us2(read_write image2d_t image, int2 coord);
16411 ushort4 __ovld __conv intel_sub_group_block_read_us4(read_write image2d_t image, int2 coord);
16412 ushort8 __ovld __conv intel_sub_group_block_read_us8(read_write image2d_t image, int2 coord);
16413 #endif // defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
16414 
16415 ushort __ovld __conv intel_sub_group_block_read_us( const __global ushort* p );
16416 ushort2 __ovld __conv intel_sub_group_block_read_us2( const __global ushort* p );
16417 ushort4 __ovld __conv intel_sub_group_block_read_us4( const __global ushort* p );
16418 ushort8 __ovld __conv intel_sub_group_block_read_us8( const __global ushort* p );
16419 
16420 void __ovld __conv intel_sub_group_block_write_us(write_only image2d_t image, int2 coord, ushort data);
16421 void __ovld __conv intel_sub_group_block_write_us2(write_only image2d_t image, int2 coord, ushort2 data);
16422 void __ovld __conv intel_sub_group_block_write_us4(write_only image2d_t image, int2 coord, ushort4 data);
16423 void __ovld __conv intel_sub_group_block_write_us8(write_only image2d_t image, int2 coord, ushort8 data);
16424 
16425 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
16426 void __ovld __conv intel_sub_group_block_write_us(read_write image2d_t image, int2 coord, ushort data);
16427 void __ovld __conv intel_sub_group_block_write_us2(read_write image2d_t image, int2 coord, ushort2 data);
16428 void __ovld __conv intel_sub_group_block_write_us4(read_write image2d_t image, int2 coord, ushort4 data);
16429 void __ovld __conv intel_sub_group_block_write_us8(read_write image2d_t image, int2 coord, ushort8 data);
16430 #endif // defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
16431 
16432 void __ovld __conv intel_sub_group_block_write_us( __global ushort* p, ushort data );
16433 void __ovld __conv intel_sub_group_block_write_us2( __global ushort* p, ushort2 data );
16434 void __ovld __conv intel_sub_group_block_write_us4( __global ushort* p, ushort4 data );
16435 void __ovld __conv intel_sub_group_block_write_us8( __global ushort* p, ushort8 data );
16436 #endif // cl_intel_subgroups_short
16437 
16438 #ifdef cl_intel_device_side_avc_motion_estimation
16439 #pragma OPENCL EXTENSION cl_intel_device_side_avc_motion_estimation : begin
16440 
16441 // MCE built-in functions
16442 uchar __ovld
16443 intel_sub_group_avc_mce_get_default_inter_base_multi_reference_penalty(
16444  uchar slice_type, uchar qp);
16445 ulong __ovld intel_sub_group_avc_mce_get_default_inter_shape_penalty(
16446  uchar slice_type, uchar qp);
16447 uchar __ovld intel_sub_group_avc_mce_get_default_inter_direction_penalty(
16448  uchar slice_type, uchar qp);
16449 uint __ovld intel_sub_group_avc_mce_get_default_intra_luma_shape_penalty(
16450  uchar slice_type, uchar qp);
16451 uint2 __ovld
16452 intel_sub_group_avc_mce_get_default_inter_motion_vector_cost_table(
16453  uchar slice_type, uchar qp);
16454 uchar __ovld intel_sub_group_avc_mce_get_default_intra_luma_mode_penalty(
16455  uchar slice_type, uchar qp);
16456 
16457 uint2 __ovld intel_sub_group_avc_mce_get_default_high_penalty_cost_table();
16458 uint2 __ovld intel_sub_group_avc_mce_get_default_medium_penalty_cost_table();
16459 uint2 __ovld intel_sub_group_avc_mce_get_default_low_penalty_cost_table();
16460 uint __ovld intel_sub_group_avc_mce_get_default_non_dc_luma_intra_penalty();
16461 uchar __ovld
16462 intel_sub_group_avc_mce_get_default_intra_chroma_mode_base_penalty();
16463 
16464 intel_sub_group_avc_mce_payload_t __ovld
16465 intel_sub_group_avc_mce_set_inter_base_multi_reference_penalty(
16466  uchar reference_base_penalty, intel_sub_group_avc_mce_payload_t payload);
16467 intel_sub_group_avc_mce_payload_t __ovld
16468 intel_sub_group_avc_mce_set_inter_shape_penalty(
16469  ulong packed_shape_penalty, intel_sub_group_avc_mce_payload_t payload);
16470 intel_sub_group_avc_mce_payload_t __ovld
16471 intel_sub_group_avc_mce_set_inter_direction_penalty(
16472  uchar direction_cost, intel_sub_group_avc_mce_payload_t payload);
16473 intel_sub_group_avc_mce_payload_t __ovld
16474 intel_sub_group_avc_mce_set_motion_vector_cost_function(
16475  ulong packed_cost_center_delta, uint2 packed_cost_table,
16476  uchar cost_precision, intel_sub_group_avc_mce_payload_t payload);
16477 intel_sub_group_avc_mce_payload_t __ovld
16478 intel_sub_group_avc_mce_set_ac_only_haar(
16479  intel_sub_group_avc_mce_payload_t payload);
16480 intel_sub_group_avc_mce_payload_t __ovld
16481 intel_sub_group_avc_mce_set_source_interlaced_field_polarity(
16482  uchar src_field_polarity, intel_sub_group_avc_mce_payload_t payload);
16483 intel_sub_group_avc_mce_payload_t __ovld
16484 intel_sub_group_avc_mce_set_single_reference_interlaced_field_polarity(
16485  uchar ref_field_polarity, intel_sub_group_avc_mce_payload_t payload);
16486 intel_sub_group_avc_mce_payload_t __ovld
16487 intel_sub_group_avc_mce_set_dual_reference_interlaced_field_polarities(
16488  uchar fwd_ref_field_polarity, uchar bwd_ref_field_polarity,
16489  intel_sub_group_avc_mce_payload_t payload);
16490 
16491 ulong __ovld intel_sub_group_avc_mce_get_motion_vectors(
16492  intel_sub_group_avc_mce_result_t result);
16493 ushort __ovld intel_sub_group_avc_mce_get_inter_distortions(
16494  intel_sub_group_avc_mce_result_t result);
16495 ushort __ovld intel_sub_group_avc_mce_get_best_inter_distortion(
16496  intel_sub_group_avc_mce_result_t result);
16497 uchar __ovld intel_sub_group_avc_mce_get_inter_major_shape(
16498  intel_sub_group_avc_mce_result_t result);
16499 uchar __ovld intel_sub_group_avc_mce_get_inter_minor_shapes(
16500  intel_sub_group_avc_mce_result_t result);
16501 uchar __ovld intel_sub_group_avc_mce_get_inter_directions(
16502  intel_sub_group_avc_mce_result_t result);
16503 uchar __ovld intel_sub_group_avc_mce_get_inter_motion_vector_count(
16504  intel_sub_group_avc_mce_result_t result);
16505 uint __ovld intel_sub_group_avc_mce_get_inter_reference_ids(
16506  intel_sub_group_avc_mce_result_t result);
16507 uchar __ovld
16508 intel_sub_group_avc_mce_get_inter_reference_interlaced_field_polarities(
16509  uint packed_reference_ids, uint packed_reference_parameter_field_polarities,
16510  intel_sub_group_avc_mce_result_t result);
16511 
16512 // IME built-in functions
16513 intel_sub_group_avc_ime_payload_t __ovld
16514 intel_sub_group_avc_ime_initialize(
16515  ushort2 src_coord, uchar partition_mask, uchar sad_adjustment);
16516 intel_sub_group_avc_ime_payload_t __ovld
16517 intel_sub_group_avc_ime_set_single_reference(
16518  short2 ref_offset, uchar search_window_config,
16519  intel_sub_group_avc_ime_payload_t payload);
16520 intel_sub_group_avc_ime_payload_t __ovld
16521 intel_sub_group_avc_ime_set_dual_reference(
16522  short2 fwd_ref_offset, short2 bwd_ref_offset, uchar search_window_config,
16523  intel_sub_group_avc_ime_payload_t payload);
16524 intel_sub_group_avc_ime_payload_t __ovld
16525 intel_sub_group_avc_ime_set_max_motion_vector_count(
16526  uchar max_motion_vector_count, intel_sub_group_avc_ime_payload_t payload);
16527 intel_sub_group_avc_ime_payload_t __ovld
16528 intel_sub_group_avc_ime_set_unidirectional_mix_disable(
16529  intel_sub_group_avc_ime_payload_t payload);
16530 intel_sub_group_avc_ime_payload_t __ovld
16531 intel_sub_group_avc_ime_set_early_search_termination_threshold(
16532  uchar threshold, intel_sub_group_avc_ime_payload_t payload);
16533 intel_sub_group_avc_ime_payload_t __ovld
16534 intel_sub_group_avc_ime_set_weighted_sad(
16535  uint packed_sad_weights, intel_sub_group_avc_ime_payload_t payload);
16536 
16537 __attribute__((deprecated("If you use the latest Intel driver, please use "
16538  "intel_sub_group_avc_ime_ref_window_size instead",
16539  "intel_sub_group_avc_ime_ref_window_size")))
16540 ushort2 __ovld
16541 intel_sub_group_ime_ref_window_size(uchar search_window_config, char dual_ref);
16542 ushort2 __ovld intel_sub_group_avc_ime_ref_window_size(
16543  uchar search_window_config, char dual_ref);
16544 short2 __ovld intel_sub_group_avc_ime_adjust_ref_offset(
16545  short2 ref_offset, ushort2 src_coord, ushort2 ref_window_size,
16546  ushort2 image_size);
16547 
16548 intel_sub_group_avc_ime_result_t __ovld
16549 intel_sub_group_avc_ime_evaluate_with_single_reference(
16550  read_only image2d_t src_image, read_only image2d_t ref_image,
16551  sampler_t vme_media_sampler, intel_sub_group_avc_ime_payload_t payload);
16552 intel_sub_group_avc_ime_result_t __ovld
16553 intel_sub_group_avc_ime_evaluate_with_dual_reference(
16554  read_only image2d_t src_image, read_only image2d_t fwd_ref_image,
16555  read_only image2d_t bwd_ref_image, sampler_t vme_media_sampler,
16556  intel_sub_group_avc_ime_payload_t payload);
16557 intel_sub_group_avc_ime_result_single_reference_streamout_t __ovld
16558 intel_sub_group_avc_ime_evaluate_with_single_reference_streamout(
16559  read_only image2d_t src_image, read_only image2d_t ref_image,
16560  sampler_t vme_media_sampler, intel_sub_group_avc_ime_payload_t payload);
16561 intel_sub_group_avc_ime_result_dual_reference_streamout_t __ovld
16562 intel_sub_group_avc_ime_evaluate_with_dual_reference_streamout(
16563  read_only image2d_t src_image, read_only image2d_t fwd_ref_image,
16564  read_only image2d_t bwd_ref_image, sampler_t vme_media_sampler,
16565  intel_sub_group_avc_ime_payload_t payload);
16566 intel_sub_group_avc_ime_result_t __ovld
16567 intel_sub_group_avc_ime_evaluate_with_single_reference_streamin(
16568  read_only image2d_t src_image, read_only image2d_t ref_image,
16569  sampler_t vme_media_sampler, intel_sub_group_avc_ime_payload_t payload,
16570  intel_sub_group_avc_ime_single_reference_streamin_t streamin_components);
16571 intel_sub_group_avc_ime_result_t __ovld
16572 intel_sub_group_avc_ime_evaluate_with_dual_reference_streamin(
16573  read_only image2d_t src_image, read_only image2d_t fwd_ref_image,
16574  read_only image2d_t bwd_ref_image, sampler_t vme_media_sampler,
16575  intel_sub_group_avc_ime_payload_t payload,
16576  intel_sub_group_avc_ime_dual_reference_streamin_t streamin_components);
16577 intel_sub_group_avc_ime_result_single_reference_streamout_t __ovld
16578 intel_sub_group_avc_ime_evaluate_with_single_reference_streaminout(
16579  read_only image2d_t src_image, read_only image2d_t ref_image,
16580  sampler_t vme_media_sampler, intel_sub_group_avc_ime_payload_t payload,
16581  intel_sub_group_avc_ime_single_reference_streamin_t streamin_components);
16582 intel_sub_group_avc_ime_result_dual_reference_streamout_t __ovld
16583 intel_sub_group_avc_ime_evaluate_with_dual_reference_streaminout(
16584  read_only image2d_t src_image, read_only image2d_t fwd_ref_image,
16585  read_only image2d_t bwd_ref_image, sampler_t vme_media_sampler,
16586  intel_sub_group_avc_ime_payload_t payload,
16587  intel_sub_group_avc_ime_dual_reference_streamin_t streamin_components);
16588 
16589 intel_sub_group_avc_ime_single_reference_streamin_t __ovld
16590 intel_sub_group_avc_ime_get_single_reference_streamin(
16591  intel_sub_group_avc_ime_result_single_reference_streamout_t result);
16592 intel_sub_group_avc_ime_dual_reference_streamin_t __ovld
16593 intel_sub_group_avc_ime_get_dual_reference_streamin(
16594  intel_sub_group_avc_ime_result_dual_reference_streamout_t result);
16595 intel_sub_group_avc_ime_result_t __ovld
16596 intel_sub_group_avc_ime_strip_single_reference_streamout(
16597  intel_sub_group_avc_ime_result_single_reference_streamout_t result);
16598 intel_sub_group_avc_ime_result_t __ovld
16599 intel_sub_group_avc_ime_strip_dual_reference_streamout(
16600  intel_sub_group_avc_ime_result_dual_reference_streamout_t result);
16601 
16602 uint __ovld intel_sub_group_avc_ime_get_streamout_major_shape_motion_vectors(
16603  intel_sub_group_avc_ime_result_single_reference_streamout_t result,
16604  uchar major_shape);
16605 ushort __ovld intel_sub_group_avc_ime_get_streamout_major_shape_distortions(
16606  intel_sub_group_avc_ime_result_single_reference_streamout_t result,
16607  uchar major_shape);
16608 uchar __ovld intel_sub_group_avc_ime_get_streamout_major_shape_reference_ids(
16609  intel_sub_group_avc_ime_result_single_reference_streamout_t result,
16610  uchar major_shape);
16611 uint __ovld intel_sub_group_avc_ime_get_streamout_major_shape_motion_vectors(
16612  intel_sub_group_avc_ime_result_dual_reference_streamout_t result,
16613  uchar major_shape, uchar direction);
16614 ushort __ovld intel_sub_group_avc_ime_get_streamout_major_shape_distortions(
16615  intel_sub_group_avc_ime_result_dual_reference_streamout_t result,
16616  uchar major_shape, uchar direction);
16617 uchar __ovld intel_sub_group_avc_ime_get_streamout_major_shape_reference_ids(
16618  intel_sub_group_avc_ime_result_dual_reference_streamout_t result,
16619  uchar major_shape, uchar direction);
16620 
16621 uchar __ovld intel_sub_group_avc_ime_get_border_reached(
16622  uchar image_select, intel_sub_group_avc_ime_result_t result);
16623 uchar __ovld intel_sub_group_avc_ime_get_truncated_search_indication(
16624  intel_sub_group_avc_ime_result_t result);
16625 uchar __ovld
16626 intel_sub_group_avc_ime_get_unidirectional_early_search_termination(
16627  intel_sub_group_avc_ime_result_t result);
16628 uint __ovld intel_sub_group_avc_ime_get_weighting_pattern_minimum_motion_vector(
16629  intel_sub_group_avc_ime_result_t result);
16630 ushort __ovld intel_sub_group_avc_ime_get_weighting_pattern_minimum_distortion(
16631  intel_sub_group_avc_ime_result_t result);
16632 
16633 // REF built-in functions
16634 intel_sub_group_avc_ref_payload_t __ovld
16635 intel_sub_group_avc_fme_initialize(
16636  ushort2 src_coord, ulong motion_vectors, uchar major_shapes,
16637  uchar minor_shapes, uchar directions, uchar pixel_resolution,
16638  uchar sad_adjustment);
16639 intel_sub_group_avc_ref_payload_t __ovld
16640 intel_sub_group_avc_bme_initialize(
16641  ushort2 src_coord, ulong motion_vectors, uchar major_shapes,
16642  uchar minor_shapes, uchar directions, uchar pixel_resolution,
16643  uchar bidirectional_weight, uchar sad_adjustment);
16644 
16645 intel_sub_group_avc_ref_payload_t __ovld
16646 intel_sub_group_avc_ref_set_bidirectional_mix_disable(
16647  intel_sub_group_avc_ref_payload_t payload);
16648 intel_sub_group_avc_ref_payload_t __ovld
16649 intel_sub_group_avc_ref_set_bilinear_filter_enable(
16650  intel_sub_group_avc_ref_payload_t payload);
16651 
16652 intel_sub_group_avc_ref_result_t __ovld
16653 intel_sub_group_avc_ref_evaluate_with_single_reference(
16654  read_only image2d_t src_image, read_only image2d_t ref_image,
16655  sampler_t vme_media_sampler, intel_sub_group_avc_ref_payload_t payload);
16656 intel_sub_group_avc_ref_result_t __ovld
16657 intel_sub_group_avc_ref_evaluate_with_dual_reference(
16658  read_only image2d_t src_image, read_only image2d_t fwd_ref_image,
16659  read_only image2d_t bwd_ref_image, sampler_t vme_media_sampler,
16660  intel_sub_group_avc_ref_payload_t payload);
16661 intel_sub_group_avc_ref_result_t __ovld
16662 intel_sub_group_avc_ref_evaluate_with_multi_reference(
16663  read_only image2d_t src_image, uint packed_reference_ids,
16664  sampler_t vme_media_sampler, intel_sub_group_avc_ref_payload_t payload);
16665 intel_sub_group_avc_ref_result_t __ovld
16666 intel_sub_group_avc_ref_evaluate_with_multi_reference(
16667  read_only image2d_t src_image, uint packed_reference_ids,
16668  uchar packed_reference_field_polarities, sampler_t vme_media_sampler,
16669  intel_sub_group_avc_ref_payload_t payload);
16670 
16671 // SIC built-in functions
16672 intel_sub_group_avc_sic_payload_t __ovld
16673 intel_sub_group_avc_sic_initialize(
16674  ushort2 src_coord);
16675 intel_sub_group_avc_sic_payload_t __ovld
16676 intel_sub_group_avc_sic_configure_skc(
16677  uint skip_block_partition_type, uint skip_motion_vector_mask,
16678  ulong motion_vectors, uchar bidirectional_weight, uchar skip_sad_adjustment,
16679  intel_sub_group_avc_sic_payload_t payload);
16680 intel_sub_group_avc_sic_payload_t __ovld
16681 intel_sub_group_avc_sic_configure_ipe(
16682  uchar luma_intra_partition_mask, uchar intra_neighbour_availabilty,
16683  uchar left_edge_luma_pixels, uchar upper_left_corner_luma_pixel,
16684  uchar upper_edge_luma_pixels, uchar upper_right_edge_luma_pixels,
16685  uchar intra_sad_adjustment, intel_sub_group_avc_sic_payload_t payload);
16686 intel_sub_group_avc_sic_payload_t __ovld
16687 intel_sub_group_avc_sic_configure_ipe(
16688  uchar luma_intra_partition_mask, uchar intra_neighbour_availabilty,
16689  uchar left_edge_luma_pixels, uchar upper_left_corner_luma_pixel,
16690  uchar upper_edge_luma_pixels, uchar upper_right_edge_luma_pixels,
16691  ushort left_edge_chroma_pixels, ushort upper_left_corner_chroma_pixel,
16692  ushort upper_edge_chroma_pixels, uchar intra_sad_adjustment,
16693  intel_sub_group_avc_sic_payload_t payload);
16694 uint __ovld
16695 intel_sub_group_avc_sic_get_motion_vector_mask(
16696  uint skip_block_partition_type, uchar direction);
16697 
16698 intel_sub_group_avc_sic_payload_t __ovld
16699 intel_sub_group_avc_sic_set_intra_luma_shape_penalty(
16700  uint packed_shape_cost, intel_sub_group_avc_sic_payload_t payload);
16701 intel_sub_group_avc_sic_payload_t __ovld
16702 intel_sub_group_avc_sic_set_intra_luma_mode_cost_function(
16703  uchar luma_mode_penalty, uint luma_packed_neighbor_modes,
16704  uint luma_packed_non_dc_penalty, intel_sub_group_avc_sic_payload_t payload);
16705 intel_sub_group_avc_sic_payload_t __ovld
16706 intel_sub_group_avc_sic_set_intra_chroma_mode_cost_function(
16707  uchar chroma_mode_penalty, intel_sub_group_avc_sic_payload_t payload);
16708 
16709 intel_sub_group_avc_sic_payload_t __ovld
16710 intel_sub_group_avc_sic_set_skc_bilinear_filter_enable(
16711  intel_sub_group_avc_sic_payload_t payload);
16712 intel_sub_group_avc_sic_payload_t __ovld
16713 intel_sub_group_avc_sic_set_skc_forward_transform_enable(
16714  ulong packed_sad_coefficients, intel_sub_group_avc_sic_payload_t payload);
16715 intel_sub_group_avc_sic_payload_t __ovld
16716 intel_sub_group_avc_sic_set_block_based_raw_skip_sad(
16717  uchar block_based_skip_type,
16718  intel_sub_group_avc_sic_payload_t payload);
16719 
16720 intel_sub_group_avc_sic_result_t __ovld
16721 intel_sub_group_avc_sic_evaluate_ipe(
16722  read_only image2d_t src_image, sampler_t vme_media_sampler,
16723  intel_sub_group_avc_sic_payload_t payload);
16724 intel_sub_group_avc_sic_result_t __ovld
16725 intel_sub_group_avc_sic_evaluate_with_single_reference(
16726  read_only image2d_t src_image, read_only image2d_t ref_image,
16727  sampler_t vme_media_sampler, intel_sub_group_avc_sic_payload_t payload);
16728 intel_sub_group_avc_sic_result_t __ovld
16729 intel_sub_group_avc_sic_evaluate_with_dual_reference(
16730  read_only image2d_t src_image, read_only image2d_t fwd_ref_image,
16731  read_only image2d_t bwd_ref_image, sampler_t vme_media_sampler,
16732  intel_sub_group_avc_sic_payload_t payload);
16733 intel_sub_group_avc_sic_result_t __ovld
16734 intel_sub_group_avc_sic_evaluate_with_multi_reference(
16735  read_only image2d_t src_image, uint packed_reference_ids,
16736  sampler_t vme_media_sampler, intel_sub_group_avc_sic_payload_t payload);
16737 intel_sub_group_avc_sic_result_t __ovld
16738 intel_sub_group_avc_sic_evaluate_with_multi_reference(
16739  read_only image2d_t src_image, uint packed_reference_ids,
16740  uchar packed_reference_field_polarities, sampler_t vme_media_sampler,
16741  intel_sub_group_avc_sic_payload_t payload);
16742 
16743 uchar __ovld intel_sub_group_avc_sic_get_ipe_luma_shape(
16744  intel_sub_group_avc_sic_result_t result);
16745 ushort __ovld intel_sub_group_avc_sic_get_best_ipe_luma_distortion(
16746  intel_sub_group_avc_sic_result_t result);
16747 ushort __ovld intel_sub_group_avc_sic_get_best_ipe_chroma_distortion(
16748  intel_sub_group_avc_sic_result_t result);
16749 ulong __ovld intel_sub_group_avc_sic_get_packed_ipe_luma_modes(
16750  intel_sub_group_avc_sic_result_t result);
16751 uchar __ovld intel_sub_group_avc_sic_get_ipe_chroma_mode(
16752  intel_sub_group_avc_sic_result_t result);
16753 uint __ovld intel_sub_group_avc_sic_get_packed_skc_luma_count_threshold(
16754  intel_sub_group_avc_sic_result_t result);
16755 ulong __ovld intel_sub_group_avc_sic_get_packed_skc_luma_sum_threshold(
16756  intel_sub_group_avc_sic_result_t result);
16757 ushort __ovld intel_sub_group_avc_sic_get_inter_raw_sads(
16758  intel_sub_group_avc_sic_result_t result);
16759 
16760 // Wrappers
16761 intel_sub_group_avc_ime_payload_t __ovld
16762 intel_sub_group_avc_ime_set_inter_base_multi_reference_penalty(
16763  uchar reference_base_penalty, intel_sub_group_avc_ime_payload_t payload);
16764 intel_sub_group_avc_ref_payload_t __ovld
16765 intel_sub_group_avc_ref_set_inter_base_multi_reference_penalty(
16766  uchar reference_base_penalty, intel_sub_group_avc_ref_payload_t payload);
16767 intel_sub_group_avc_sic_payload_t __ovld
16768 intel_sub_group_avc_sic_set_inter_base_multi_reference_penalty(
16769  uchar reference_base_penalty, intel_sub_group_avc_sic_payload_t payload);
16770 
16771 intel_sub_group_avc_ime_payload_t __ovld
16772 intel_sub_group_avc_ime_set_inter_shape_penalty(
16773  ulong packed_shape_cost, intel_sub_group_avc_ime_payload_t payload);
16774 intel_sub_group_avc_ref_payload_t __ovld
16775 intel_sub_group_avc_ref_set_inter_shape_penalty(
16776  ulong packed_shape_cost, intel_sub_group_avc_ref_payload_t payload);
16777 intel_sub_group_avc_sic_payload_t __ovld
16778 intel_sub_group_avc_sic_set_inter_shape_penalty(
16779  ulong packed_shape_cost, intel_sub_group_avc_sic_payload_t payload);
16780 
16781 intel_sub_group_avc_ime_payload_t __ovld
16782 intel_sub_group_avc_ime_set_inter_direction_penalty(
16783  uchar direction_cost, intel_sub_group_avc_ime_payload_t payload);
16784 intel_sub_group_avc_ref_payload_t __ovld
16785 intel_sub_group_avc_ref_set_inter_direction_penalty(
16786  uchar direction_cost, intel_sub_group_avc_ref_payload_t payload);
16787 intel_sub_group_avc_sic_payload_t __ovld
16788 intel_sub_group_avc_sic_set_inter_direction_penalty(
16789  uchar direction_cost, intel_sub_group_avc_sic_payload_t payload);
16790 
16791 intel_sub_group_avc_ime_payload_t __ovld
16792 intel_sub_group_avc_ime_set_motion_vector_cost_function(
16793  ulong packed_cost_center_delta, uint2 packed_cost_table,
16794  uchar cost_precision, intel_sub_group_avc_ime_payload_t payload);
16795 intel_sub_group_avc_ref_payload_t __ovld
16796 intel_sub_group_avc_ref_set_motion_vector_cost_function(
16797  ulong packed_cost_center_delta, uint2 packed_cost_table,
16798  uchar cost_precision, intel_sub_group_avc_ref_payload_t payload);
16799 intel_sub_group_avc_sic_payload_t __ovld
16800 intel_sub_group_avc_sic_set_motion_vector_cost_function(
16801  ulong packed_cost_center_delta, uint2 packed_cost_table,
16802  uchar cost_precision, intel_sub_group_avc_sic_payload_t payload);
16803 
16804 intel_sub_group_avc_ime_payload_t __ovld
16805 intel_sub_group_avc_ime_set_source_interlaced_field_polarity(
16806  uchar src_field_polarity, intel_sub_group_avc_ime_payload_t payload);
16807 intel_sub_group_avc_ref_payload_t __ovld
16808 intel_sub_group_avc_ref_set_source_interlaced_field_polarity(
16809  uchar src_field_polarity, intel_sub_group_avc_ref_payload_t payload);
16810 intel_sub_group_avc_sic_payload_t __ovld
16811 intel_sub_group_avc_sic_set_source_interlaced_field_polarity(
16812  uchar src_field_polarity, intel_sub_group_avc_sic_payload_t payload);
16813 
16814 intel_sub_group_avc_ime_payload_t __ovld
16815 intel_sub_group_avc_ime_set_single_reference_interlaced_field_polarity(
16816  uchar ref_field_polarity, intel_sub_group_avc_ime_payload_t payload);
16817 intel_sub_group_avc_ref_payload_t __ovld
16818 intel_sub_group_avc_ref_set_single_reference_interlaced_field_polarity(
16819  uchar ref_field_polarity, intel_sub_group_avc_ref_payload_t payload);
16820 intel_sub_group_avc_sic_payload_t __ovld
16821 intel_sub_group_avc_sic_set_single_reference_interlaced_field_polarity(
16822  uchar ref_field_polarity, intel_sub_group_avc_sic_payload_t payload);
16823 intel_sub_group_avc_ime_payload_t __ovld
16824 intel_sub_group_avc_ime_set_dual_reference_interlaced_field_polarities(
16825  uchar fwd_ref_field_polarity, uchar bwd_ref_field_polarity,
16826  intel_sub_group_avc_ime_payload_t payload);
16827 intel_sub_group_avc_ref_payload_t __ovld
16828 intel_sub_group_avc_ref_set_dual_reference_interlaced_field_polarities(
16829  uchar fwd_ref_field_polarity, uchar bwd_ref_field_polarity,
16830  intel_sub_group_avc_ref_payload_t payload);
16831 intel_sub_group_avc_sic_payload_t __ovld
16832 intel_sub_group_avc_sic_set_dual_reference_interlaced_field_polarities(
16833  uchar fwd_ref_field_polarity, uchar bwd_ref_field_polarity,
16834  intel_sub_group_avc_sic_payload_t payload);
16835 
16836 intel_sub_group_avc_ime_payload_t __ovld
16837 intel_sub_group_avc_ime_set_ac_only_haar(
16838  intel_sub_group_avc_ime_payload_t payload);
16839 intel_sub_group_avc_ref_payload_t __ovld
16840 intel_sub_group_avc_ref_set_ac_only_haar(
16841  intel_sub_group_avc_ref_payload_t payload);
16842 intel_sub_group_avc_sic_payload_t __ovld
16843 intel_sub_group_avc_sic_set_ac_only_haar(
16844  intel_sub_group_avc_sic_payload_t payload);
16845 
16846 ulong __ovld intel_sub_group_avc_ime_get_motion_vectors(
16847  intel_sub_group_avc_ime_result_t result);
16848 ulong __ovld intel_sub_group_avc_ref_get_motion_vectors(
16849  intel_sub_group_avc_ref_result_t result);
16850 
16851 ushort __ovld intel_sub_group_avc_ime_get_inter_distortions(
16852  intel_sub_group_avc_ime_result_t result);
16853 ushort __ovld intel_sub_group_avc_ref_get_inter_distortions(
16854  intel_sub_group_avc_ref_result_t result);
16855 ushort __ovld intel_sub_group_avc_sic_get_inter_distortions(
16856  intel_sub_group_avc_sic_result_t result);
16857 
16858 ushort __ovld intel_sub_group_avc_ime_get_best_inter_distortion(
16859  intel_sub_group_avc_ime_result_t result);
16860 ushort __ovld intel_sub_group_avc_ref_get_best_inter_distortion(
16861  intel_sub_group_avc_ref_result_t result);
16862 
16863 uchar __ovld intel_sub_group_avc_ime_get_inter_major_shape(
16864  intel_sub_group_avc_ime_result_t result);
16865 uchar __ovld intel_sub_group_avc_ref_get_inter_major_shape(
16866  intel_sub_group_avc_ref_result_t result);
16867 uchar __ovld intel_sub_group_avc_ime_get_inter_minor_shapes(
16868  intel_sub_group_avc_ime_result_t result);
16869 uchar __ovld intel_sub_group_avc_ref_get_inter_minor_shapes(
16870  intel_sub_group_avc_ref_result_t result);
16871 
16872 uchar __ovld intel_sub_group_avc_ime_get_inter_directions(
16873  intel_sub_group_avc_ime_result_t result);
16874 uchar __ovld intel_sub_group_avc_ref_get_inter_directions(
16875  intel_sub_group_avc_ref_result_t result);
16876 
16877 uchar __ovld intel_sub_group_avc_ime_get_inter_motion_vector_count(
16878  intel_sub_group_avc_ime_result_t result);
16879 uchar __ovld intel_sub_group_avc_ref_get_inter_motion_vector_count(
16880  intel_sub_group_avc_ref_result_t result);
16881 
16882 uint __ovld intel_sub_group_avc_ime_get_inter_reference_ids(
16883  intel_sub_group_avc_ime_result_t result);
16884 uint __ovld intel_sub_group_avc_ref_get_inter_reference_ids(
16885  intel_sub_group_avc_ref_result_t result);
16886 
16887 uchar __ovld
16888 intel_sub_group_avc_ime_get_inter_reference_interlaced_field_polarities(
16889  uint packed_reference_ids, uint packed_reference_parameter_field_polarities,
16890  intel_sub_group_avc_ime_result_t result);
16891 uchar __ovld
16892 intel_sub_group_avc_ref_get_inter_reference_interlaced_field_polarities(
16893  uint packed_reference_ids, uint packed_reference_parameter_field_polarities,
16894  intel_sub_group_avc_ref_result_t result);
16895 
16896 // Type conversion functions
16897 intel_sub_group_avc_mce_payload_t __ovld
16898 intel_sub_group_avc_ime_convert_to_mce_payload(
16899  intel_sub_group_avc_ime_payload_t payload);
16900 intel_sub_group_avc_ime_payload_t __ovld
16901 intel_sub_group_avc_mce_convert_to_ime_payload(
16902  intel_sub_group_avc_mce_payload_t payload);
16903 intel_sub_group_avc_mce_payload_t __ovld
16904 intel_sub_group_avc_ref_convert_to_mce_payload(
16905  intel_sub_group_avc_ref_payload_t payload);
16906 intel_sub_group_avc_ref_payload_t __ovld
16907 intel_sub_group_avc_mce_convert_to_ref_payload(
16908  intel_sub_group_avc_mce_payload_t payload);
16909 intel_sub_group_avc_mce_payload_t __ovld
16910 intel_sub_group_avc_sic_convert_to_mce_payload(
16911  intel_sub_group_avc_sic_payload_t payload);
16912 intel_sub_group_avc_sic_payload_t __ovld
16913 intel_sub_group_avc_mce_convert_to_sic_payload(
16914  intel_sub_group_avc_mce_payload_t payload);
16915 
16916 intel_sub_group_avc_mce_result_t __ovld
16917 intel_sub_group_avc_ime_convert_to_mce_result(
16918  intel_sub_group_avc_ime_result_t result);
16919 intel_sub_group_avc_ime_result_t __ovld
16920 intel_sub_group_avc_mce_convert_to_ime_result(
16921  intel_sub_group_avc_mce_result_t result);
16922 intel_sub_group_avc_mce_result_t __ovld
16923 intel_sub_group_avc_ref_convert_to_mce_result(
16924  intel_sub_group_avc_ref_result_t result);
16925 intel_sub_group_avc_ref_result_t __ovld
16926 intel_sub_group_avc_mce_convert_to_ref_result(
16927  intel_sub_group_avc_mce_result_t result);
16928 intel_sub_group_avc_mce_result_t __ovld
16929 intel_sub_group_avc_sic_convert_to_mce_result(
16930  intel_sub_group_avc_sic_result_t result);
16931 intel_sub_group_avc_sic_result_t __ovld
16932 intel_sub_group_avc_mce_convert_to_sic_result(
16933  intel_sub_group_avc_mce_result_t result);
16934 #pragma OPENCL EXTENSION cl_intel_device_side_avc_motion_estimation : end
16935 #endif // cl_intel_device_side_avc_motion_estimation
16936 
16937 #ifdef cl_amd_media_ops
16938 uint __ovld amd_bitalign(uint a, uint b, uint c);
16939 uint2 __ovld amd_bitalign(uint2 a, uint2 b, uint2 c);
16940 uint3 __ovld amd_bitalign(uint3 a, uint3 b, uint3 c);
16941 uint4 __ovld amd_bitalign(uint4 a, uint4 b, uint4 c);
16942 uint8 __ovld amd_bitalign(uint8 a, uint8 b, uint8 c);
16943 uint16 __ovld amd_bitalign(uint16 a, uint16 b, uint16 c);
16944 
16945 uint __ovld amd_bytealign(uint a, uint b, uint c);
16946 uint2 __ovld amd_bytealign(uint2 a, uint2 b, uint2 c);
16947 uint3 __ovld amd_bytealign(uint3 a, uint3 b, uint3 c);
16948 uint4 __ovld amd_bytealign(uint4 a, uint4 b, uint4 c);
16949 uint8 __ovld amd_bytealign(uint8 a, uint8 b, uint8 c);
16950 uint16 __ovld amd_bytealign(uint16 a, uint16 b, uint16 c);
16951 
16952 uint __ovld amd_lerp(uint a, uint b, uint c);
16953 uint2 __ovld amd_lerp(uint2 a, uint2 b, uint2 c);
16954 uint3 __ovld amd_lerp(uint3 a, uint3 b, uint3 c);
16955 uint4 __ovld amd_lerp(uint4 a, uint4 b, uint4 c);
16956 uint8 __ovld amd_lerp(uint8 a, uint8 b, uint8 c);
16957 uint16 __ovld amd_lerp(uint16 a, uint16 b, uint16 c);
16958 
16959 uint __ovld amd_pack(float4 v);
16960 
16961 uint __ovld amd_sad4(uint4 x, uint4 y, uint z);
16962 
16963 uint __ovld amd_sadhi(uint a, uint b, uint c);
16964 uint2 __ovld amd_sadhi(uint2 a, uint2 b, uint2 c);
16965 uint3 __ovld amd_sadhi(uint3 a, uint3 b, uint3 c);
16966 uint4 __ovld amd_sadhi(uint4 a, uint4 b, uint4 c);
16967 uint8 __ovld amd_sadhi(uint8 a, uint8 b, uint8 c);
16968 uint16 __ovld amd_sadhi(uint16 a, uint16 b, uint16 c);
16969 
16970 uint __ovld amd_sad(uint a, uint b, uint c);
16971 uint2 __ovld amd_sad(uint2 a, uint2 b, uint2 c);
16972 uint3 __ovld amd_sad(uint3 a, uint3 b, uint3 c);
16973 uint4 __ovld amd_sad(uint4 a, uint4 b, uint4 c);
16974 uint8 __ovld amd_sad(uint8 a, uint8 b, uint8 c);
16975 uint16 __ovld amd_sad(uint16 a, uint16 b, uint16 c);
16976 
16977 float __ovld amd_unpack0(uint a);
16978 float2 __ovld amd_unpack0(uint2 a);
16979 float3 __ovld amd_unpack0(uint3 a);
16980 float4 __ovld amd_unpack0(uint4 a);
16981 float8 __ovld amd_unpack0(uint8 a);
16982 float16 __ovld amd_unpack0(uint16 a);
16983 
16984 float __ovld amd_unpack1(uint a);
16985 float2 __ovld amd_unpack1(uint2 a);
16986 float3 __ovld amd_unpack1(uint3 a);
16987 float4 __ovld amd_unpack1(uint4 a);
16988 float8 __ovld amd_unpack1(uint8 a);
16989 float16 __ovld amd_unpack1(uint16 a);
16990 
16991 float __ovld amd_unpack2(uint a);
16992 float2 __ovld amd_unpack2(uint2 a);
16993 float3 __ovld amd_unpack2(uint3 a);
16994 float4 __ovld amd_unpack2(uint4 a);
16995 float8 __ovld amd_unpack2(uint8 a);
16996 float16 __ovld amd_unpack2(uint16 a);
16997 
16998 float __ovld amd_unpack3(uint a);
16999 float2 __ovld amd_unpack3(uint2 a);
17000 float3 __ovld amd_unpack3(uint3 a);
17001 float4 __ovld amd_unpack3(uint4 a);
17002 float8 __ovld amd_unpack3(uint8 a);
17003 float16 __ovld amd_unpack3(uint16 a);
17004 #endif // cl_amd_media_ops
17005 
17006 #ifdef cl_amd_media_ops2
17007 int __ovld amd_bfe(int src0, uint src1, uint src2);
17008 int2 __ovld amd_bfe(int2 src0, uint2 src1, uint2 src2);
17009 int3 __ovld amd_bfe(int3 src0, uint3 src1, uint3 src2);
17010 int4 __ovld amd_bfe(int4 src0, uint4 src1, uint4 src2);
17011 int8 __ovld amd_bfe(int8 src0, uint8 src1, uint8 src2);
17012 int16 __ovld amd_bfe(int16 src0, uint16 src1, uint16 src2);
17013 
17014 uint __ovld amd_bfe(uint src0, uint src1, uint src2);
17015 uint2 __ovld amd_bfe(uint2 src0, uint2 src1, uint2 src2);
17016 uint3 __ovld amd_bfe(uint3 src0, uint3 src1, uint3 src2);
17017 uint4 __ovld amd_bfe(uint4 src0, uint4 src1, uint4 src2);
17018 uint8 __ovld amd_bfe(uint8 src0, uint8 src1, uint8 src2);
17019 uint16 __ovld amd_bfe(uint16 src0, uint16 src1, uint16 src2);
17020 
17021 uint __ovld amd_bfm(uint src0, uint src1);
17022 uint2 __ovld amd_bfm(uint2 src0, uint2 src1);
17023 uint3 __ovld amd_bfm(uint3 src0, uint3 src1);
17024 uint4 __ovld amd_bfm(uint4 src0, uint4 src1);
17025 uint8 __ovld amd_bfm(uint8 src0, uint8 src1);
17026 uint16 __ovld amd_bfm(uint16 src0, uint16 src1);
17027 
17028 float __ovld amd_max3(float src0, float src1, float src2);
17029 float2 __ovld amd_max3(float2 src0, float2 src1, float2 src2);
17030 float3 __ovld amd_max3(float3 src0, float3 src1, float3 src2);
17031 float4 __ovld amd_max3(float4 src0, float4 src1, float4 src2);
17032 float8 __ovld amd_max3(float8 src0, float8 src1, float8 src2);
17033 float16 __ovld amd_max3(float16 src0, float16 src1, float16 src2);
17034 
17035 int __ovld amd_max3(int src0, int src1, int src2);
17036 int2 __ovld amd_max3(int2 src0, int2 src1, int2 src2);
17037 int3 __ovld amd_max3(int3 src0, int3 src1, int3 src2);
17038 int4 __ovld amd_max3(int4 src0, int4 src1, int4 src2);
17039 int8 __ovld amd_max3(int8 src0, int8 src1, int8 src2);
17040 int16 __ovld amd_max3(int16 src0, int16 src1, int16 src2);
17041 
17042 uint __ovld amd_max3(uint src0, uint src1, uint src2);
17043 uint2 __ovld amd_max3(uint2 src0, uint2 src1, uint2 src2);
17044 uint3 __ovld amd_max3(uint3 src0, uint3 src1, uint3 src2);
17045 uint4 __ovld amd_max3(uint4 src0, uint4 src1, uint4 src2);
17046 uint8 __ovld amd_max3(uint8 src0, uint8 src1, uint8 src2);
17047 uint16 __ovld amd_max3(uint16 src0, uint16 src1, uint16 src2);
17048 
17049 float __ovld amd_median3(float src0, float src1, float src2);
17050 float2 __ovld amd_median3(float2 src0, float2 src1, float2 src2);
17051 float3 __ovld amd_median3(float3 src0, float3 src1, float3 src2);
17052 float4 __ovld amd_median3(float4 src0, float4 src1, float4 src2);
17053 float8 __ovld amd_median3(float8 src0, float8 src1, float8 src2);
17054 float16 __ovld amd_median3(float16 src0, float16 src1, float16 src2);
17055 
17056 int __ovld amd_median3(int src0, int src1, int src2);
17057 int2 __ovld amd_median3(int2 src0, int2 src1, int2 src2);
17058 int3 __ovld amd_median3(int3 src0, int3 src1, int3 src2);
17059 int4 __ovld amd_median3(int4 src0, int4 src1, int4 src2);
17060 int8 __ovld amd_median3(int8 src0, int8 src1, int8 src2);
17061 int16 __ovld amd_median3(int16 src0, int16 src1, int16 src2);
17062 
17063 uint __ovld amd_median3(uint src0, uint src1, uint src2);
17064 uint2 __ovld amd_median3(uint2 src0, uint2 src1, uint2 src2);
17065 uint3 __ovld amd_median3(uint3 src0, uint3 src1, uint3 src2);
17066 uint4 __ovld amd_median3(uint4 src0, uint4 src1, uint4 src2);
17067 uint8 __ovld amd_median3(uint8 src0, uint8 src1, uint8 src2);
17068 uint16 __ovld amd_median3(uint16 src0, uint16 src1, uint16 src2);
17069 
17070 float __ovld amd_min3(float src0, float src1, float src);
17071 float2 __ovld amd_min3(float2 src0, float2 src1, float2 src);
17072 float3 __ovld amd_min3(float3 src0, float3 src1, float3 src);
17073 float4 __ovld amd_min3(float4 src0, float4 src1, float4 src);
17074 float8 __ovld amd_min3(float8 src0, float8 src1, float8 src);
17075 float16 __ovld amd_min3(float16 src0, float16 src1, float16 src);
17076 
17077 int __ovld amd_min3(int src0, int src1, int src2);
17078 int2 __ovld amd_min3(int2 src0, int2 src1, int2 src2);
17079 int3 __ovld amd_min3(int3 src0, int3 src1, int3 src2);
17080 int4 __ovld amd_min3(int4 src0, int4 src1, int4 src2);
17081 int8 __ovld amd_min3(int8 src0, int8 src1, int8 src2);
17082 int16 __ovld amd_min3(int16 src0, int16 src1, int16 src2);
17083 
17084 uint __ovld amd_min3(uint src0, uint src1, uint src2);
17085 uint2 __ovld amd_min3(uint2 src0, uint2 src1, uint2 src2);
17086 uint3 __ovld amd_min3(uint3 src0, uint3 src1, uint3 src2);
17087 uint4 __ovld amd_min3(uint4 src0, uint4 src1, uint4 src2);
17088 uint8 __ovld amd_min3(uint8 src0, uint8 src1, uint8 src2);
17089 uint16 __ovld amd_min3(uint16 src0, uint16 src1, uint16 src2);
17090 
17091 ulong __ovld amd_mqsad(ulong src0, uint src1, ulong src2);
17092 ulong2 __ovld amd_mqsad(ulong2 src0, uint2 src1, ulong2 src2);
17093 ulong3 __ovld amd_mqsad(ulong3 src0, uint3 src1, ulong3 src2);
17094 ulong4 __ovld amd_mqsad(ulong4 src0, uint4 src1, ulong4 src2);
17095 ulong8 __ovld amd_mqsad(ulong8 src0, uint8 src1, ulong8 src2);
17096 ulong16 __ovld amd_mqsad(ulong16 src0, uint16 src1, ulong16 src2);
17097 
17098 ulong __ovld amd_qsad(ulong src0, uint src1, ulong src2);
17099 ulong2 __ovld amd_qsad(ulong2 src0, uint2 src1, ulong2 src2);
17100 ulong3 __ovld amd_qsad(ulong3 src0, uint3 src1, ulong3 src2);
17101 ulong4 __ovld amd_qsad(ulong4 src0, uint4 src1, ulong4 src2);
17102 ulong8 __ovld amd_qsad(ulong8 src0, uint8 src1, ulong8 src2);
17103 ulong16 __ovld amd_qsad(ulong16 src0, uint16 src1, ulong16 src2);
17104 
17105 uint __ovld amd_msad(uint src0, uint src1, uint src2);
17106 uint2 __ovld amd_msad(uint2 src0, uint2 src1, uint2 src2);
17107 uint3 __ovld amd_msad(uint3 src0, uint3 src1, uint3 src2);
17108 uint4 __ovld amd_msad(uint4 src0, uint4 src1, uint4 src2);
17109 uint8 __ovld amd_msad(uint8 src0, uint8 src1, uint8 src2);
17110 uint16 __ovld amd_msad(uint16 src0, uint16 src1, uint16 src2);
17111 
17112 uint __ovld amd_sadd(uint src0, uint src1, uint src2);
17113 uint2 __ovld amd_sadd(uint2 src0, uint2 src1, uint2 src2);
17114 uint3 __ovld amd_sadd(uint3 src0, uint3 src1, uint3 src2);
17115 uint4 __ovld amd_sadd(uint4 src0, uint4 src1, uint4 src2);
17116 uint8 __ovld amd_sadd(uint8 src0, uint8 src1, uint8 src2);
17117 uint16 __ovld amd_sadd(uint16 src0, uint16 src1, uint16 src2);
17118 
17119 uint __ovld amd_sadw(uint src0, uint src1, uint src2);
17120 uint2 __ovld amd_sadw(uint2 src0, uint2 src1, uint2 src2);
17121 uint3 __ovld amd_sadw(uint3 src0, uint3 src1, uint3 src2);
17122 uint4 __ovld amd_sadw(uint4 src0, uint4 src1, uint4 src2);
17123 uint8 __ovld amd_sadw(uint8 src0, uint8 src1, uint8 src2);
17124 uint16 __ovld amd_sadw(uint16 src0, uint16 src1, uint16 src2);
17125 #endif // cl_amd_media_ops2
17126 
17127 #if defined(cl_arm_integer_dot_product_int8)
17128 #pragma OPENCL EXTENSION cl_arm_integer_dot_product_int8 : begin
17129 uint __ovld arm_dot(uchar4 a, uchar4 b);
17130 int __ovld arm_dot(char4 a, char4 b);
17131 #pragma OPENCL EXTENSION cl_arm_integer_dot_product_int8 : end
17132 #endif // defined(cl_arm_integer_dot_product_int8)
17133 
17134 #if defined(cl_arm_integer_dot_product_accumulate_int8)
17135 #pragma OPENCL EXTENSION cl_arm_integer_dot_product_accumulate_int8 : begin
17136 uint __ovld arm_dot_acc(uchar4 a, uchar4 b, uint c);
17137 int __ovld arm_dot_acc(char4 a, char4 b, int c);
17138 #pragma OPENCL EXTENSION cl_arm_integer_dot_product_accumulate_int8 : end
17139 #endif // defined(cl_arm_integer_dot_product_accumulate_int8)
17140 
17141 #if defined(cl_arm_integer_dot_product_accumulate_int16)
17142 #pragma OPENCL EXTENSION cl_arm_integer_dot_product_accumulate_int16 : begin
17143 uint __ovld arm_dot_acc(ushort2 a, ushort2 b, uint c);
17144 int __ovld arm_dot_acc(short2 a, short2 b, int c);
17145 #pragma OPENCL EXTENSION cl_arm_integer_dot_product_accumulate_int16 : end
17146 #endif // defined(cl_arm_integer_dot_product_accumulate_int16)
17147 
17148 #if defined(cl_arm_integer_dot_product_accumulate_saturate_int8)
17149 #pragma OPENCL EXTENSION cl_arm_integer_dot_product_accumulate_saturate_int8 : begin
17150 uint __ovld arm_dot_acc_sat(uchar4 a, uchar4 b, uint c);
17151 int __ovld arm_dot_acc_sat(char4 a, char4 b, int c);
17152 #pragma OPENCL EXTENSION cl_arm_integer_dot_product_accumulate_saturate_int8 : end
17153 #endif // defined(cl_arm_integer_dot_product_accumulate_saturate_int8)
17154 
17155 // Disable any extensions we may have enabled previously.
17156 #pragma OPENCL EXTENSION all : disable
17157 
17158 #undef __cnfn
17159 #undef __ovld
17160 #endif //_OPENCL_H_
etiss_uint8 uint8
Definition: 386-GCC.h:76
etiss_int8 int8
Definition: 386-GCC.h:77
etiss_int16 int16
Definition: 386-GCC.h:79
etiss_uint16 uint16
Definition: 386-GCC.h:78
__device__ __2f16 b
_Float16 __2f16 __attribute__((ext_vector_type(2)))
Zeroes the upper 128 bits (bits 255:128) of all YMM registers.
__device__ __2f16 float c
do v
Definition: arm_acle.h:76
static std::string depth(Dot::Node *node)
Definition: Dot.cpp:848
__INTPTR_TYPE__ intptr_t
A signed integer type with the property that any valid pointer to void can be converted to this type,...
Definition: opencl-c-base.h:55
memory_order
__UINTPTR_TYPE__ uintptr_t
An unsigned integer type with the property that any valid pointer to void can be converted to this ty...
Definition: opencl-c-base.h:62
int clk_profiling_info
uint cl_mem_fence_flags
unsigned char uchar
An unsigned 8-bit integer.
Definition: opencl-c-base.h:17
__PTRDIFF_TYPE__ ptrdiff_t
A signed integer type that is the result of subtracting two pointers.
Definition: opencl-c-base.h:48
unsigned long ulong
An unsigned 64-bit integer.
Definition: opencl-c-base.h:32
unsigned int uint
An unsigned 32-bit integer.
Definition: opencl-c-base.h:27
memory_scope
unsigned short ushort
An unsigned 16-bit integer.
Definition: opencl-c-base.h:22
int4 __ovld __cnfn convert_int4_rte(char4)
void __ovld atomic_init(volatile atomic_int *object, int value)
float __ovld __cnfn erf(float)
Error function encountered in integrating the normal distribution.
uint8 __ovld __cnfn convert_uint8_rte(char8)
long __ovld __cnfn convert_long_rtp(char)
long2 __ovld __cnfn convert_long2_sat_rtp(char2)
float8 __ovld vloada_half8(size_t offset, const __constant half *p)
void __ovld vstorea_half3_rtz(float3 data, size_t offset, half *p)
void __ovld vstore_half_rtp(float data, size_t offset, half *p)
char __ovld __cnfn bitselect(char a, char b, char c)
Each bit of the result is the corresponding bit of a if the corresponding bit of c is 0.
char2 __ovld __cnfn convert_char2_rtp(char2)
float __ovld __cnfn asinh(float)
Inverse hyperbolic sine.
short8 __ovld __cnfn convert_short8_sat_rte(char8)
uchar8 __ovld __cnfn convert_uchar8_rtp(char8)
ulong16 __ovld __cnfn convert_ulong16_sat(char16)
float __ovld vloada_half(size_t offset, const __constant half *p)
For n = 1, 2, 4, 8 and 16 read sizeof (halfn) bytes of data from address (p + (offset * n)).
int __ovld atomic_fetch_and_explicit(volatile atomic_int *object, int operand, memory_order order)
uchar __ovld __cnfn convert_uchar(char)
ulong8 __ovld __cnfn convert_ulong8_rte(char8)
void __ovld vstorea_half8_rte(float8 data, size_t offset, half *p)
int16 __ovld __cnfn convert_int16_sat_rtn(char16)
int3 __ovld __cnfn convert_int3_rtn(char3)
float __ovld __cnfn native_powr(float x, float y)
Compute x to the power y, where x is >= 0.
short4 __ovld __cnfn convert_short4_rtp(char4)
void __ovld vstore2(char2 data, size_t offset, char *p)
char __ovld __cnfn mul_hi(char x, char y)
Computes x * y and returns the high half of the product of x and y.
void __ovld vstorea_half_rtp(float data, size_t offset, half *p)
ulong2 __ovld __cnfn convert_ulong2_rtn(char2)
void __ovld atomic_store(volatile atomic_int *object, int desired)
float __ovld __cnfn sin(float)
Compute sine.
int __ovld atomic_exchange(volatile atomic_int *object, int desired)
ushort8 __ovld __cnfn convert_ushort8_rtn(char8)
void __ovld vstorea_half2_rtz(float2 data, size_t offset, half *p)
uint16 __ovld __cnfn convert_uint16_sat_rtp(char16)
float __ovld __cnfn acospi(float x)
Compute acos (x) / PI.
float4 __ovld __cnfn cross(float4 p0, float4 p1)
Returns the cross product of p0.xyz and p1.xyz.
char __ovld __cnfn mad_sat(char a, char b, char c)
Returns a * b + c and saturates the result.
float16 __ovld vload_half16(size_t offset, const __constant half *p)
char __ovld __cnfn sub_sat(char x, char y)
Returns x - y and saturates the result.
int3 __ovld __cnfn convert_int3_rtp(char3)
char3 __ovld __cnfn convert_char3_sat(char3)
char4 __ovld __cnfn convert_char4_sat(char4)
long __ovld __cnfn convert_long_rtz(char)
float __ovld __cnfn fdim(float x, float y)
x - y if x > y, +0 if x is less than or equal to y.
ushort8 __ovld __cnfn convert_ushort8_sat_rtn(char8)
float __ovld __cnfn fmax(float x, float y)
Returns y if x < y, otherwise it returns x.
void __ovld atomic_flag_clear(volatile atomic_flag *object)
uint __ovld __cnfn convert_uint_sat_rtn(char)
uint16 __ovld __cnfn convert_uint16_sat_rtn(char16)
uchar8 __ovld __cnfn convert_uchar8(char8)
float __ovld __cnfn half_sin(float x)
Compute sine.
uchar2 __ovld __cnfn convert_uchar2_sat(char2)
void __ovld vstore_half2_rtz(float2 data, size_t offset, half *p)
float __ovld __cnfn radians(float degrees)
Converts degrees to radians, i.e.
int3 __ovld __cnfn convert_int3(char3)
short __ovld __cnfn convert_short_sat_rtn(char)
size_t __ovld __cnfn get_global_size(uint dimindx)
Returns the number of global work-items specified for dimension identified by dimindx.
uchar2 __ovld __cnfn convert_uchar2_rte(char2)
uchar16 __ovld __cnfn convert_uchar16_sat_rtn(char16)
ulong4 __ovld __cnfn convert_ulong4_rtp(char4)
ushort3 __ovld __cnfn convert_ushort3_rtz(char3)
int __ovld __cnfn get_image_depth(read_only image3d_t image)
Return the image depth in pixels.
int16 __ovld __cnfn convert_int16_sat(char16)
void __ovld vstore_half16_rte(float16 data, size_t offset, half *p)
char4 __ovld __cnfn convert_char4_rte(char4)
int __ovld atomic_fetch_add(volatile atomic_int *object, int operand)
float __ovld __cnfn erfc(float)
Complementary error function.
int2 __ovld __cnfn convert_int2_sat_rtz(char2)
float __ovld __cnfn half_cos(float x)
Compute cosine.
void __ovld set_user_event_status(clk_event_t e, int state)
void __ovld mem_fence(cl_mem_fence_flags flags)
Orders loads and stores of a work-item executing a kernel.
int __ovld atomic_load_explicit(volatile atomic_int *object, memory_order order)
float __ovld __cnfn convert_float_rte(char)
int __ovld __cnfn islessequal(float x, float y)
Returns the component-wise compare of x <= y.
bool __ovld atomic_flag_test_and_set_explicit(volatile atomic_flag *object, memory_order order)
ulong __ovld __cnfn convert_ulong_rtz(char)
int __ovld atomic_fetch_or_explicit(volatile atomic_int *object, int operand, memory_order order)
float2 __ovld __cnfn convert_float2_rtp(char2)
short4 __ovld __cnfn convert_short4_sat_rtn(char4)
short2 __ovld __cnfn convert_short2_rtz(char2)
void __ovld write_imageui(write_only image2d_t image, int2 coord, uint4 color)
char8 __ovld __cnfn convert_char8_sat_rte(char8)
float __ovld __cnfn maxmag(float x, float y)
Returns x if | x | > | y |, y if | y | > | x |, otherwise fmax(x, y).
ushort8 __ovld __cnfn convert_ushort8_sat_rtp(char8)
int3 __ovld __cnfn convert_int3_rtz(char3)
float __ovld __cnfn native_log(float x)
Compute natural logarithm over an implementationdefined range.
ushort8 __ovld __cnfn convert_ushort8_sat_rtz(char8)
int __ovld __cnfn isnotequal(float x, float y)
Returns the component-wise compare of x != y.
char8 __ovld __cnfn convert_char8_sat_rtn(char8)
int2 __ovld __cnfn convert_int2_sat(char2)
float __ovld __cnfn atan2pi(float y, float x)
Compute atan2 (y, x) / PI.
float __ovld __cnfn normalize(float p)
Returns a vector in the same direction as p but with a length of 1.
float __ovld __cnfn distance(float p0, float p1)
Returns the distance between p0 and p1.
void __ovld vstore_half4_rtp(float4 data, size_t offset, half *p)
bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_int *object, int *expected, int desired, memory_order success, memory_order failure)
int __ovld atomic_fetch_max_explicit(volatile atomic_int *object, int operand, memory_order order)
void __ovld vstore_half8(float8 data, size_t offset, half *p)
ushort3 __ovld __cnfn convert_ushort3_rtn(char3)
float4 __ovld __cnfn convert_float4(char4)
ulong8 __ovld __cnfn convert_ulong8_rtp(char8)
size_t __ovld __cnfn get_local_id(uint dimindx)
Returns the unique local work-item ID i.e.
uint3 __ovld __cnfn convert_uint3_rtn(char3)
ushort3 __ovld __cnfn convert_ushort3_sat_rtn(char3)
long2 __ovld __cnfn convert_long2_sat(char2)
ushort3 __ovld __cnfn convert_ushort3_rte(char3)
ulong16 __ovld __cnfn convert_ulong16_sat_rtp(char16)
int __ovld atomic_or(volatile __global int *p, int val)
Read the 32-bit value (referred to as old) stored at location pointed by p.
void __ovld vstore8(char8 data, size_t offset, char *p)
float2 __ovld vload_half2(size_t offset, const __constant half *p)
Read sizeof (halfn) bytes of data from address (p + (offset * n)).
char8 __ovld __cnfn convert_char8(char8)
int printf(__constant const char *st,...) __attribute__((format(printf
char __ovld __cnfn convert_char_sat(char)
ulong3 __ovld __cnfn convert_ulong3_sat_rtn(char3)
uchar __ovld __cnfn abs_diff(char x, char y)
Returns | x - y | without modulo overflow.
ushort __ovld __cnfn convert_ushort_rtn(char)
uint4 __ovld __cnfn convert_uint4_rtz(char4)
float16 __ovld __cnfn convert_float16_rtn(char16)
short3 __ovld __cnfn convert_short3_rtp(char3)
int __ovld __cnfn convert_int_sat_rtz(char)
float __ovld __cnfn sign(float x)
Returns 1.0 if x > 0, -0.0 if x = -0.0, +0.0 if x = +0.0, or -1.0 if x < 0.
float __ovld __cnfn hypot(float x, float y)
Compute the value of the square root of x^2 + y^2 without undue overflow or underflow.
int16 __ovld __cnfn convert_int16(char16)
float __ovld __cnfn native_sin(float x)
Compute sine over an implementation-defined range.
uint __ovld __cnfn convert_uint_rtz(char)
ushort8 __ovld __cnfn convert_ushort8_rte(char8)
long3 __ovld __cnfn convert_long3_sat_rtz(char3)
short16 __ovld __cnfn convert_short16_sat_rte(char16)
ulong8 __ovld __cnfn convert_ulong8_sat_rtn(char8)
ushort3 __ovld __cnfn convert_ushort3_sat(char3)
int8 __ovld __cnfn convert_int8_sat(char8)
void __ovld vstorea_half16(float16 data, size_t offset, half *p)
float3 __ovld __cnfn convert_float3_rtp(char3)
int16 __ovld __cnfn convert_int16_rtp(char16)
float __ovld __cnfn half_recip(float x)
Compute reciprocal.
void __ovld vstore_half3_rtp(float3 data, size_t offset, half *p)
char2 __ovld __cnfn shuffle(char2 x, uchar2 mask)
The shuffle and shuffle2 built-in functions construct a permutation of elements from one or two input...
void __ovld vstore_half3_rtn(float3 data, size_t offset, half *p)
ulong4 __ovld __cnfn convert_ulong4_sat_rtn(char4)
uchar2 __ovld __cnfn convert_uchar2_sat_rtp(char2)
char4 __ovld vload4(size_t offset, const __constant char *p)
void __ovld vstore16(char16 data, size_t offset, char *p)
uchar __ovld __cnfn abs(char x)
Returns | x |.
void __ovld vstorea_half_rte(float data, size_t offset, half *p)
ulong2 __ovld __cnfn convert_ulong2_sat_rtz(char2)
int4 __ovld __cnfn convert_int4_sat_rtz(char4)
ushort8 __ovld __cnfn convert_ushort8_sat(char8)
int __ovld atomic_xchg(volatile __global int *p, int val)
Swaps the old value stored at location p with new value given by val.
float __ovld __cnfn cosh(float)
Compute hyperbolic cosine.
uint3 __ovld __cnfn convert_uint3_sat(char3)
void __ovld vstorea_half4_rte(float4 data, size_t offset, half *p)
size_t __ovld __cnfn get_num_groups(uint dimindx)
Returns the number of work-groups that will execute a kernel for dimension identified by dimindx.
void __ovld write_mem_fence(cl_mem_fence_flags flags)
Write memory barrier that orders only stores.
int __ovld atomic_sub(volatile __global int *p, int val)
Read the 32-bit value (referred to as old) stored at location pointed by p.
ulong4 __ovld __cnfn convert_ulong4_sat(char4)
float __ovld __cnfn nan(uint nancode)
Returns a quiet NaN.
int16 __ovld __cnfn convert_int16_sat_rtp(char16)
char16 __ovld __cnfn convert_char16_sat_rtz(char16)
uint __ovld __cnfn convert_uint_sat(char)
ushort4 __ovld __cnfn convert_ushort4_sat_rtn(char4)
void __ovld vstore_half3_rtz(float3 data, size_t offset, half *p)
float3 __ovld __cnfn convert_float3_rtn(char3)
int __ovld __cnfn isgreater(float x, float y)
Returns the component-wise compare of x > y.
long16 __ovld __cnfn convert_long16(char16)
short16 __ovld __cnfn convert_short16_rtn(char16)
float __ovld __cnfn cbrt(float)
Compute cube-root.
float __ovld __cnfn atanpi(float x)
Compute atan (x) / PI.
char __ovld __cnfn rotate(char v, char i)
For each element in v, the bits are shifted left by the number of bits given by the corresponding ele...
short2 __ovld __cnfn convert_short2_rtp(char2)
uchar8 __ovld __cnfn convert_uchar8_rtz(char8)
float __ovld __cnfn native_recip(float x)
Compute reciprocal over an implementation-defined range.
int __ovld atomic_add(volatile __global int *p, int val)
Read the 32-bit value (referred to as old) stored at location pointed by p.
int __ovld __cnfn convert_int_rtz(char)
char16 __ovld __cnfn convert_char16_rtz(char16)
bool __ovld atomic_compare_exchange_weak(volatile atomic_int *object, int *expected, int desired)
ushort16 __ovld __cnfn convert_ushort16_rte(char16)
int2 __ovld __cnfn convert_int2_sat_rtp(char2)
float __ovld __cnfn native_rsqrt(float x)
Compute inverse square root over an implementationdefined range.
void __ovld __conv barrier(cl_mem_fence_flags flags)
All work-items in a work-group executing the kernel on a processor must execute this function before ...
char __ovld __cnfn convert_char_sat_rtn(char)
short2 __ovld __cnfn convert_short2(char2)
short2 __ovld __cnfn convert_short2_sat_rtp(char2)
int __ovld __cnfn convert_int_rtn(char)
ushort __ovld __cnfn convert_ushort_sat_rtz(char)
long4 __ovld __cnfn convert_long4(char4)
short16 __ovld __cnfn convert_short16_sat(char16)
uchar3 __ovld __cnfn convert_uchar3_rtn(char3)
short8 __ovld __cnfn convert_short8(char8)
float __ovld __cnfn length(float p)
Return the length of vector p, i.e., sqrt(p.x2 + p.y 2 + ...)
ulong2 __ovld __cnfn convert_ulong2_sat(char2)
float __ovld __cnfn rootn(float x, int y)
Compute x to the power 1/y.
ulong3 __ovld __cnfn convert_ulong3_sat_rte(char3)
void __ovld vstore_half2_rte(float2 data, size_t offset, half *p)
short4 __ovld __cnfn convert_short4_sat_rte(char4)
float __ovld __cnfn sinpi(float x)
Compute sin (PI * x).
ulong8 __ovld __cnfn convert_ulong8_sat(char8)
char2 __ovld __cnfn convert_char2_sat_rtp(char2)
int __ovld atomic_fetch_add_explicit(volatile atomic_int *object, int operand, memory_order order)
uint __ovld __cnfn convert_uint_sat_rte(char)
uint8 __ovld __cnfn convert_uint8_sat_rte(char8)
float __ovld __cnfn native_exp10(float x)
Compute the base- 10 exponential of x over an implementation-defined range.
int16 __ovld __cnfn convert_int16_rte(char16)
char16 __ovld __cnfn convert_char16_sat_rtn(char16)
ulong __ovld __cnfn convert_ulong_sat_rte(char)
float __ovld __cnfn convert_float_rtp(char)
ulong2 __ovld __cnfn convert_ulong2_sat_rtp(char2)
uint3 __ovld __cnfn convert_uint3_rtp(char3)
float16 __ovld __cnfn convert_float16_rtp(char16)
short4 __ovld __cnfn convert_short4_sat_rtz(char4)
int3 __ovld __cnfn convert_int3_sat_rtz(char3)
ushort3 __ovld __cnfn convert_ushort3_sat_rte(char3)
ulong __ovld __cnfn convert_ulong_sat(char)
long3 __ovld __cnfn convert_long3_sat(char3)
ulong4 __ovld __cnfn convert_ulong4_sat_rtz(char4)
long8 __ovld __cnfn convert_long8_sat_rte(char8)
int4 __ovld __cnfn convert_int4(char4)
ushort8 __ovld __cnfn convert_ushort8_rtz(char8)
short __ovld __cnfn convert_short_sat_rtp(char)
ulong4 __ovld __cnfn convert_ulong4_rtn(char4)
void __ovld vstorea_half4(float4 data, size_t offset, half *p)
long16 __ovld __cnfn convert_long16_rtn(char16)
uint __ovld __cnfn convert_uint_rtn(char)
short2 __ovld __cnfn convert_short2_rte(char2)
void __ovld vstore_half4_rte(float4 data, size_t offset, half *p)
float __ovld __cnfn half_powr(float x, float y)
Compute x to the power y, where x is >= 0.
ulong3 __ovld __cnfn convert_ulong3_rtp(char3)
char __ovld __cnfn clz(char x)
Returns the number of leading 0-bits in x, starting at the most significant bit position.
ulong16 __ovld __cnfn convert_ulong16_rtz(char16)
int2 __ovld __cnfn convert_int2_rte(char2)
void __ovld vstorea_half16_rtz(float16 data, size_t offset, half *p)
float8 __ovld __cnfn convert_float8_rte(char8)
uchar3 __ovld __cnfn convert_uchar3(char3)
char2 __ovld __cnfn shuffle2(char2 x, char2 y, uchar2 mask)
float __ovld __cnfn convert_float_rtz(char)
float __ovld __cnfn log2(float)
Compute a base 2 logarithm.
char4 __ovld __cnfn convert_char4_sat_rte(char4)
float __ovld __cnfn exp10(float)
Exponential base 10 function.
char __ovld __cnfn convert_char(char)
ushort16 __ovld __cnfn convert_ushort16_sat_rte(char16)
void __ovld vstorea_half8_rtp(float8 data, size_t offset, half *p)
queue_t __ovld get_default_queue(void)
int __ovld __cnfn isinf(float)
Test for infinity value (+ve or -ve) .
int __ovld atomic_fetch_max(volatile atomic_int *object, int operand)
ushort3 __ovld __cnfn convert_ushort3_sat_rtz(char3)
short __ovld __cnfn convert_short_rtp(char)
void __ovld wait_group_events(int num_events, event_t *event_list)
Wait for events that identify the async_work_group_copy operations to complete.
uchar __ovld __cnfn convert_uchar_rte(char)
void __ovld release_event(clk_event_t)
float __ovld __cnfn atan(float y_over_x)
Arc tangent function.
float8 __ovld vload_half8(size_t offset, const __constant half *p)
float __ovld __cnfn pow(float x, float y)
Compute x to the power y.
float3 __ovld __cnfn convert_float3_rtz(char3)
long __ovld __cnfn convert_long_rte(char)
float2 __ovld vloada_half2(size_t offset, const __constant half *p)
short8 __ovld __cnfn convert_short8_rtz(char8)
int __ovld atomic_fetch_sub_explicit(volatile atomic_int *object, int operand, memory_order order)
size_t __ovld get_global_linear_id(void)
char __ovld __cnfn convert_char_sat_rtz(char)
int __ovld __cnfn convert_int_rtp(char)
long3 __ovld __cnfn convert_long3_sat_rtp(char3)
uchar __ovld __cnfn convert_uchar_rtp(char)
void __ovld __conv work_group_barrier(cl_mem_fence_flags flags, memory_scope scope)
float __ovld __cnfn copysign(float x, float y)
Returns x with its sign changed to match the sign of y.
ulong4 __ovld __cnfn convert_ulong4(char4)
uint4 __ovld __cnfn convert_uint4_sat(char4)
ulong2 __ovld __cnfn convert_ulong2(char2)
long2 __ovld __cnfn convert_long2_rtn(char2)
int __ovld __cnfn isequal(float x, float y)
intn isequal (floatn x, floatn y) Returns the component-wise compare of x == y.
long16 __ovld __cnfn convert_long16_rtp(char16)
void __ovld vstorea_half8(float8 data, size_t offset, half *p)
int __ovld atomic_and(volatile __global int *p, int val)
Read the 32-bit value (referred to as old) stored at location pointed by p.
ushort16 __ovld __cnfn convert_ushort16_sat_rtn(char16)
long3 __ovld __cnfn convert_long3_sat_rtn(char3)
uint2 __ovld __cnfn convert_uint2_rtp(char2)
uint3 __ovld __cnfn convert_uint3(char3)
size_t __ovld __cnfn get_global_id(uint dimindx)
Returns the unique global work-item ID value for dimension identified by dimindx.
ushort4 __ovld __cnfn convert_ushort4_sat(char4)
float __ovld __cnfn atanh(float)
Hyperbolic arc tangent.
short __ovld __cnfn convert_short_rtz(char)
uint8 __ovld __cnfn convert_uint8_sat_rtn(char8)
uchar __ovld __cnfn convert_uchar_sat(char)
float8 __ovld __cnfn convert_float8_rtn(char8)
float __ovld __cnfn log(float)
Compute natural logarithm.
short4 __ovld __cnfn convert_short4_sat(char4)
float4 __ovld __cnfn convert_float4_rte(char4)
float __ovld __cnfn asin(float)
Arc sine function.
uchar4 __ovld __cnfn convert_uchar4_rtz(char4)
char4 __ovld __cnfn convert_char4_rtp(char4)
uchar16 __ovld __cnfn convert_uchar16_sat(char16)
long8 __ovld __cnfn convert_long8_sat_rtp(char8)
short3 __ovld __cnfn convert_short3_rte(char3)
uint3 __ovld __cnfn convert_uint3_sat_rtz(char3)
float __ovld __cnfn native_cos(float x)
Compute cosine over an implementation-defined range.
void __ovld capture_event_profiling_info(clk_event_t, clk_profiling_info, __global void *value)
char3 __ovld __cnfn convert_char3_sat_rtp(char3)
int __ovld __cnfn isless(float x, float y)
Returns the component-wise compare of x < y.
float __ovld __cnfn half_log10(float x)
Compute a base 10 logarithm.
ushort16 __ovld __cnfn convert_ushort16(char16)
float __ovld __cnfn half_exp2(float x)
Compute the base- 2 exponential of x.
float __ovld __cnfn native_exp2(float x)
Compute the base- 2 exponential of x over an implementation-defined range.
long4 __ovld __cnfn convert_long4_sat_rtp(char4)
uint8 __ovld __cnfn convert_uint8_rtn(char8)
size_t __ovld __cnfn get_global_offset(uint dimindx)
get_global_offset returns the offset values specified in global_work_offset argument to clEnqueueNDRa...
int __ovld __conv work_group_scan_exclusive_min(int x)
void __ovld vstore_half16_rtz(float16 data, size_t offset, half *p)
float8 __ovld __cnfn convert_float8(char8)
void __ovld vstorea_half4_rtn(float4 data, size_t offset, half *p)
int __ovld __cnfn any(char x)
Returns 1 if the most significant bit in any component of x is set; otherwise returns 0.
float16 __ovld __cnfn convert_float16(char16)
char8 __ovld __cnfn convert_char8_rtp(char8)
short3 __ovld __cnfn convert_short3_rtz(char3)
char16 __ovld __cnfn convert_char16_sat_rte(char16)
long16 __ovld __cnfn convert_long16_rte(char16)
uchar3 __ovld __cnfn convert_uchar3_sat(char3)
uchar16 __ovld __cnfn convert_uchar16_sat_rte(char16)
float __ovld __cnfn tanpi(float x)
Compute tan (PI * x).
long8 __ovld __cnfn convert_long8_rtz(char8)
ushort16 __ovld __cnfn convert_ushort16_rtn(char16)
ulong2 __ovld __cnfn convert_ulong2_sat_rtn(char2)
float __ovld __cnfn fast_distance(float p0, float p1)
Returns fast_length(p0 - p1).
float __ovld __cnfn half_log2(float x)
Compute a base 2 logarithm.
char4 __ovld __cnfn convert_char4(char4)
int2 __ovld __cnfn convert_int2_rtz(char2)
short16 __ovld __cnfn convert_short16_sat_rtn(char16)
ulong __ovld __cnfn convert_ulong_rtn(char)
ulong16 __ovld __cnfn convert_ulong16_rtp(char16)
void __ovld vstorea_half8_rtn(float8 data, size_t offset, half *p)
float __ovld __cnfn minmag(float x, float y)
Returns x if | x | < | y |, y if | y | < | x |, otherwise fmin(x, y).
char3 __ovld __cnfn convert_char3_sat_rtn(char3)
short __ovld __cnfn convert_short_rte(char)
short3 __ovld __cnfn convert_short3_sat(char3)
long8 __ovld __cnfn convert_long8_sat(char8)
uint __ovld __cnfn convert_uint_sat_rtp(char)
char2 __ovld __cnfn convert_char2_sat_rte(char2)
char4 __ovld __cnfn convert_char4_sat_rtp(char4)
long8 __ovld __cnfn convert_long8_rtp(char8)
uint __ovld __cnfn convert_uint_rtp(char)
ulong __ovld __cnfn convert_ulong(char)
short4 __ovld __cnfn convert_short4_rtz(char4)
int __ovld atomic_xor(volatile __global int *p, int val)
Read the 32-bit value (referred to as old) stored at location pointed by p.
uchar3 __ovld __cnfn convert_uchar3_sat_rtn(char3)
int __ovld __conv work_group_scan_exclusive_add(int x)
ulong8 __ovld __cnfn convert_ulong8_rtn(char8)
float __ovld __cnfn mad(float a, float b, float c)
mad approximates a * b + c.
size_t __ovld get_local_linear_id(void)
short2 __ovld __cnfn convert_short2_sat(char2)
char3 __ovld __cnfn convert_char3_rtz(char3)
uint2 __ovld __cnfn convert_uint2_sat_rtz(char2)
int __ovld __conv work_group_scan_inclusive_max(int x)
uchar4 __ovld __cnfn convert_uchar4_sat_rte(char4)
int8 __ovld __cnfn convert_int8(char8)
ulong16 __ovld __cnfn convert_ulong16_rte(char16)
char16 __ovld __cnfn convert_char16_rtp(char16)
float __ovld __cnfn floor(float)
Round to integral value using the round to -ve infinity rounding mode.
int16 __ovld __cnfn convert_int16_sat_rte(char16)
long16 __ovld __cnfn convert_long16_sat(char16)
uchar __ovld __cnfn convert_uchar_rtz(char)
char3 __ovld __cnfn convert_char3_rtp(char3)
char __ovld __cnfn clamp(char x, char minval, char maxval)
Returns min(max(x, minval), maxval).
int8 __ovld __cnfn convert_int8_sat_rtp(char8)
ulong2 __ovld __cnfn convert_ulong2_rte(char2)
char __ovld __cnfn convert_char_rtz(char)
int __ovld __conv work_group_scan_inclusive_min(int x)
short16 __ovld __cnfn convert_short16_sat_rtp(char16)
float4 __ovld __cnfn convert_float4_rtz(char4)
uint4 __ovld __cnfn convert_uint4_rtn(char4)
float __ovld __cnfn convert_float_rtn(char)
float __ovld __cnfn tan(float)
Compute tangent.
float __ovld __cnfn rsqrt(float)
Compute inverse square root.
char __ovld __cnfn mad_hi(char a, char b, char c)
Returns mul_hi(a, b) + c.
char __ovld __cnfn min(char x, char y)
Returns y if y < x, otherwise it returns x.
float __ovld __cnfn exp2(float)
Exponential base 2 function.
int __ovld __cnfn ilogb(float x)
Return the exponent as an integer value.
float2 __ovld __cnfn convert_float2_rte(char2)
void __ovld read_mem_fence(cl_mem_fence_flags flags)
Read memory barrier that orders only loads.
float __ovld __cnfn step(float edge, float x)
Returns 0.0 if x < edge, otherwise it returns 1.0.
ushort4 __ovld __cnfn convert_ushort4_rtp(char4)
int4 __purefn __ovld read_imagei(read_only image2d_t image, sampler_t sampler, int2 coord)
char3 __ovld __cnfn convert_char3_rtn(char3)
char3 __ovld __cnfn convert_char3_sat_rte(char3)
bool __ovld atomic_compare_exchange_strong(volatile atomic_int *object, int *expected, int desired)
int __ovld atomic_max(volatile __global int *p, int val)
Read the 32-bit value (referred to as old) stored at location pointed by p.
int __ovld __cnfn convert_int_sat_rte(char)
short8 __ovld __cnfn convert_short8_sat_rtz(char8)
uchar8 __ovld __cnfn convert_uchar8_sat_rtp(char8)
uchar2 __ovld __cnfn convert_uchar2(char2)
uint4 __ovld __cnfn convert_uint4_rtp(char4)
ushort4 __ovld __cnfn convert_ushort4_rtz(char4)
ushort __ovld __cnfn convert_ushort_sat(char)
void __ovld vstore3(char3 data, size_t offset, char *p)
int3 __ovld __cnfn convert_int3_sat_rtp(char3)
uint8 __ovld __cnfn convert_uint8_sat_rtp(char8)
float __ovld __cnfn half_divide(float x, float y)
Compute x / y.
ulong8 __ovld __cnfn convert_ulong8_rtz(char8)
char4 __ovld __cnfn convert_char4_sat_rtn(char4)
short __ovld __cnfn convert_short_sat_rtz(char)
ulong3 __ovld __cnfn convert_ulong3_sat_rtp(char3)
uchar3 __ovld __cnfn convert_uchar3_sat_rte(char3)
ulong16 __ovld __cnfn convert_ulong16_rtn(char16)
char2 __ovld __cnfn convert_char2_rte(char2)
uchar4 __ovld __cnfn convert_uchar4_sat_rtn(char4)
float __ovld modf(float x, float *iptr)
Decompose a floating-point number.
char4 __ovld __cnfn convert_char4_sat_rtz(char4)
short3 __ovld __cnfn convert_short3_sat_rtp(char3)
ushort2 __ovld __cnfn convert_ushort2_sat(char2)
float8 __ovld __cnfn convert_float8_rtz(char8)
void __ovld retain_event(clk_event_t)
short3 __ovld __cnfn convert_short3_sat_rte(char3)
char8 __ovld __cnfn convert_char8_sat_rtz(char8)
uchar2 __ovld __cnfn convert_uchar2_rtp(char2)
int __ovld __conv work_group_any(int predicate)
ushort16 __ovld __cnfn convert_ushort16_sat_rtz(char16)
float __ovld __cnfn exp(float x)
Compute the base e exponential function of x.
uint4 __ovld __cnfn convert_uint4_sat_rte(char4)
float __ovld lgamma_r(float x, int *signp)
short16 __ovld __cnfn convert_short16_sat_rtz(char16)
uchar3 __ovld __cnfn convert_uchar3_rtp(char3)
ushort4 __ovld __cnfn convert_ushort4_sat_rtz(char4)
int float4 __purefn __ovld read_imagef(read_only image2d_t image, sampler_t sampler, int2 coord)
Use the coordinate (coord.xy) to do an element lookup in the 2D image object specified by image.
void __ovld vstore_half8_rte(float8 data, size_t offset, half *p)
float __ovld __cnfn sinh(float)
Compute hyperbolic sine.
char __ovld __cnfn popcount(char x)
uint3 __ovld __cnfn convert_uint3_rtz(char3)
void __ovld vstore_half4(float4 data, size_t offset, half *p)
uint8 __ovld __cnfn convert_uint8_sat(char8)
uchar2 __ovld __cnfn convert_uchar2_sat_rtn(char2)
float __ovld __cnfn ldexp(float x, int n)
Multiply x by 2 to the power n.
int __ovld __conv work_group_scan_exclusive_max(int x)
float3 __ovld vload_half3(size_t offset, const __constant half *p)
float __ovld __cnfn fast_normalize(float p)
Returns a vector in the same direction as p but with a length of 1.
ushort2 __ovld __cnfn convert_ushort2_rtz(char2)
int __ovld __cnfn isfinite(float)
Test for finite value.
float __ovld __cnfn native_tan(float x)
Compute tangent over an implementation-defined range.
float __ovld __cnfn half_tan(float x)
Compute tangent.
float3 __ovld __cnfn convert_float3(char3)
float __ovld __cnfn half_rsqrt(float x)
Compute inverse square root.
int4 __ovld __cnfn convert_int4_sat_rte(char4)
char8 __ovld __cnfn convert_char8_rtz(char8)
short4 __ovld __cnfn convert_short4_sat_rtp(char4)
float __ovld __cnfn native_exp(float x)
Compute the base- e exponential of x over an implementation-defined range.
float __ovld __cnfn pown(float x, int y)
Compute x to the power y, where y is an integer.
int2 __ovld __cnfn convert_int2_rtp(char2)
float __ovld __cnfn fabs(float)
Compute absolute value of a floating-point number.
long4 __ovld __cnfn convert_long4_sat_rtn(char4)
int16 __ovld __cnfn convert_int16_sat_rtz(char16)
void __ovld write_imagef(write_only image2d_t image, int2 coord, float4 color)
Write color value to location specified by coordinate (coord.x, coord.y) in the 2D image object speci...
uchar4 __ovld __cnfn convert_uchar4_sat(char4)
ushort __ovld __cnfn convert_ushort_rtz(char)
short8 __ovld __cnfn convert_short8_rtp(char8)
long4 __ovld __cnfn convert_long4_rtn(char4)
void __ovld vstore4(char4 data, size_t offset, char *p)
int4 __ovld __cnfn convert_int4_sat_rtn(char4)
char __ovld __cnfn max(char x, char y)
Returns y if x < y, otherwise it returns x.
long __ovld __cnfn convert_long(char)
short8 __ovld __cnfn convert_short8_rte(char8)
void __ovld vstore_half3(float3 data, size_t offset, half *p)
char16 __ovld __cnfn convert_char16_rte(char16)
int3 __ovld __cnfn convert_int3_sat_rte(char3)
int __ovld enqueue_marker(queue_t, uint, const clk_event_t *, clk_event_t *)
ushort2 __ovld __cnfn convert_ushort2_sat_rtz(char2)
short4 __ovld __cnfn convert_short4_rtn(char4)
float2 __ovld __cnfn convert_float2(char2)
long2 __ovld __cnfn convert_long2_rtz(char2)
char __ovld __cnfn convert_char_sat_rtp(char)
float __ovld __cnfn fma(float a, float b, float c)
Returns the correctly rounded floating-point representation of the sum of c with the infinitely preci...
int __ovld __conv work_group_broadcast(int a, size_t local_id)
uint16 __ovld __cnfn convert_uint16_rtz(char16)
float __ovld __cnfn expm1(float x)
Compute e^x- 1.0.
short3 __ovld __cnfn convert_short3_sat_rtn(char3)
uchar16 __ovld __cnfn convert_uchar16(char16)
uint3 __ovld __cnfn convert_uint3_rte(char3)
uint16 __ovld __cnfn convert_uint16_sat_rte(char16)
long3 __ovld __cnfn convert_long3_rtp(char3)
int __ovld __cnfn isnormal(float)
Test for a normal value.
ushort2 __ovld __cnfn convert_ushort2_rtn(char2)
char8 __ovld __cnfn convert_char8_sat(char8)
uint16 __ovld __cnfn convert_uint16_rtn(char16)
long8 __ovld __cnfn convert_long8_sat_rtn(char8)
uchar8 __ovld __cnfn convert_uchar8_sat_rtn(char8)
uchar8 __ovld __cnfn convert_uchar8_rte(char8)
uint4 __ovld __cnfn convert_uint4_sat_rtz(char4)
float __ovld __cnfn native_sqrt(float x)
Compute square root over an implementation-defined range.
int16 __ovld __cnfn convert_int16_rtn(char16)
int4 __ovld __cnfn convert_int4_rtz(char4)
void __ovld vstorea_half4_rtz(float4 data, size_t offset, half *p)
event_t __ovld async_work_group_strided_copy(__local char *dst, const __global char *src, size_t num_elements, size_t src_stride, event_t event)
Perform an async gather of num_elements gentype elements from src to dst.
void __ovld vstorea_half4_rtp(float4 data, size_t offset, half *p)
uint2 __ovld __cnfn convert_uint2_rte(char2)
ulong16 __ovld __cnfn convert_ulong16(char16)
int __ovld atomic_dec(volatile __global int *p)
Read the 32-bit value (referred to as old) stored at location pointed by p.
float __ovld __cnfn atan2(float y, float x)
Arc tangent of y / x.
char __ovld __cnfn convert_char_rtp(char)
uchar8 __ovld __cnfn convert_uchar8_sat_rtz(char8)
ulong3 __ovld __cnfn convert_ulong3(char3)
char3 __ovld __cnfn convert_char3(char3)
int __ovld __cnfn get_image_height(read_only image2d_t image)
Return the image height in pixels.
float __ovld __cnfn cos(float)
Compute cosine.
long __ovld __cnfn convert_long_sat_rtz(char)
void __ovld vstorea_half16_rtp(float16 data, size_t offset, half *p)
long2 __ovld __cnfn convert_long2_sat_rtz(char2)
ulong4 __ovld __cnfn convert_ulong4_sat_rte(char4)
char2 __ovld __cnfn convert_char2_rtn(char2)
short2 __ovld __cnfn convert_short2_sat_rtz(char2)
short8 __ovld __cnfn convert_short8_sat_rtn(char8)
uint2 __ovld __cnfn convert_uint2_sat_rtn(char2)
uchar3 __ovld __cnfn convert_uchar3_rtz(char3)
float __ovld __cnfn native_divide(float x, float y)
Compute x / y over an implementation-defined range.
void __ovld atomic_work_item_fence(cl_mem_fence_flags flags, memory_order order, memory_scope scope)
uint3 __ovld __cnfn convert_uint3_sat_rtn(char3)
float4 __ovld vloada_half4(size_t offset, const __constant half *p)
uchar4 __ovld __cnfn convert_uchar4_rtn(char4)
uint4 __ovld __cnfn convert_uint4_sat_rtn(char4)
float __ovld __cnfn remainder(float x, float y)
Compute the value r such that r = x - n*y, where n is the integer nearest the exact value of x/y.
int8 __ovld __cnfn convert_int8_sat_rte(char8)
ulong3 __ovld __cnfn convert_ulong3_sat(char3)
ushort3 __ovld __cnfn convert_ushort3_rtp(char3)
float3 __ovld __cnfn convert_float3_rte(char3)
uchar __ovld __cnfn convert_uchar_rtn(char)
long4 __ovld __cnfn convert_long4_sat_rte(char4)
float __ovld __cnfn ceil(float)
Round to integral value using the round to positive infinity rounding mode.
int3 __ovld __cnfn convert_int3_sat_rtn(char3)
long __ovld __cnfn convert_long_rtn(char)
uchar8 __ovld __cnfn convert_uchar8_sat_rte(char8)
long2 __ovld __cnfn convert_long2(char2)
float __ovld fract(float x, float *iptr)
Returns fmin(x - floor (x), 0x1.fffffep-1f ).
ulong16 __ovld __cnfn convert_ulong16_sat_rte(char16)
long __ovld __cnfn convert_long_sat(char)
short __ovld __cnfn convert_short_sat_rte(char)
ndrange_t __ovld ndrange_2D(const size_t[2])
ndrange_t __ovld ndrange_1D(size_t)
ulong16 __ovld __cnfn convert_ulong16_sat_rtz(char16)
ushort __ovld __cnfn convert_ushort_sat_rte(char)
short2 __ovld __cnfn convert_short2_sat_rte(char2)
size_t __ovld __cnfn get_group_id(uint dimindx)
get_group_id returns the work-group ID which is a number from 0 .
uint8 __ovld __cnfn convert_uint8(char8)
float __ovld __cnfn half_sqrt(float x)
Compute square root.
uint __ovld __cnfn get_work_dim(void)
Returns the number of dimensions in use.
long2 __ovld __cnfn convert_long2_sat_rtn(char2)
int2 __ovld __cnfn convert_int2_rtn(char2)
char __ovld __cnfn rhadd(char x, char y)
Returns (x + y + 1) >> 1.
long8 __ovld __cnfn convert_long8_rte(char8)
char16 __ovld __cnfn convert_char16_sat_rtp(char16)
uchar __ovld __cnfn convert_uchar_sat_rte(char)
uchar4 __ovld __cnfn convert_uchar4(char4)
uchar8 __ovld __cnfn convert_uchar8_rtn(char8)
int __ovld __cnfn isgreaterequal(float x, float y)
Returns the component-wise compare of x >= y.
void __ovld vstorea_half_rtz(float data, size_t offset, half *p)
float __ovld __cnfn half_exp(float x)
Compute the base- e exponential of x.
int __ovld __conv work_group_reduce_min(int x)
ushort8 __ovld __cnfn convert_ushort8_rtp(char8)
float4 __ovld __cnfn convert_float4_rtp(char4)
void __ovld vstorea_half3_rte(float3 data, size_t offset, half *p)
uint2 __ovld __cnfn convert_uint2_sat_rtp(char2)
long8 __ovld __cnfn convert_long8_rtn(char8)
int __ovld __cnfn all(char x)
Returns 1 if the most significant bit in all components of x is set; otherwise returns 0.
int2 __ovld __cnfn get_image_dim(read_only image2d_t image)
Return the 2D image width and height as an int2 type.
char2 __ovld __cnfn convert_char2_rtz(char2)
ulong4 __ovld __cnfn convert_ulong4_rtz(char4)
ushort3 __ovld __cnfn convert_ushort3_sat_rtp(char3)
int __ovld __cnfn isunordered(float x, float y)
Test if arguments are unordered.
long16 __ovld __cnfn convert_long16_sat_rtp(char16)
uchar __ovld __cnfn convert_uchar_sat_rtn(char)
ushort4 __ovld __cnfn convert_ushort4_sat_rtp(char4)
uchar __ovld __cnfn convert_uchar_sat_rtz(char)
float __ovld __cnfn tanh(float)
Compute hyperbolic tangent.
long4 __ovld __cnfn convert_long4_rtp(char4)
ushort3 __ovld __cnfn convert_ushort3(char3)
long2 __ovld __cnfn convert_long2_rtp(char2)
char4 __ovld __cnfn convert_char4_rtz(char4)
int __ovld atomic_fetch_and(volatile atomic_int *object, int operand)
uchar4 __ovld __cnfn convert_uchar4_rtp(char4)
int __ovld __cnfn convert_int_sat_rtn(char)
float __ovld __cnfn sqrt(float)
Compute square root.
uchar16 __ovld __cnfn convert_uchar16_rtz(char16)
int __ovld atomic_fetch_min_explicit(volatile atomic_int *object, int operand, memory_order order)
char2 __ovld __cnfn convert_char2(char2)
void __ovld vstorea_half2(float2 data, size_t offset, half *p)
char __ovld __cnfn select(char a, char b, char c)
For each component of a vector type, result[i] = if MSB of c[i] is set ? b[i] : a[i].
long4 __ovld __cnfn convert_long4_rtz(char4)
char __ovld __cnfn convert_char_rte(char)
ushort __ovld __cnfn convert_ushort(char)
uint8 __ovld __cnfn convert_uint8_rtp(char8)
long16 __ovld __cnfn convert_long16_rtz(char16)
float __ovld __cnfn acosh(float)
Inverse hyperbolic cosine.
int __ovld __cnfn mul24(int x, int y)
Multiply two 24-bit integer values x and y.
ushort8 __ovld __cnfn convert_ushort8_sat_rte(char8)
short16 __ovld __cnfn convert_short16_rtp(char16)
char2 __ovld vload2(size_t offset, const __constant char *p)
Use generic type gentype to indicate the built-in data types char, uchar, short, ushort,...
long4 __ovld __cnfn convert_long4_sat(char4)
long4 __ovld __cnfn convert_long4_rte(char4)
event_t __ovld async_work_group_copy(__local char *dst, const __global char *src, size_t num_elements, event_t event)
Builtin functions to_global, to_local, and to_private need to be declared as Clang builtin functions ...
float __ovld __cnfn powr(float x, float y)
Compute x to the power y, where x is >= 0.
char8 __ovld __cnfn convert_char8_rtn(char8)
short3 __ovld __cnfn convert_short3(char3)
int8 __ovld __cnfn convert_int8_sat_rtn(char8)
char3 __ovld __cnfn convert_char3_sat_rtz(char3)
ulong8 __ovld __cnfn convert_ulong8(char8)
float __ovld __cnfn tgamma(float)
Compute the gamma function.
uchar3 __ovld __cnfn convert_uchar3_sat_rtz(char3)
bool __ovld is_valid_event(clk_event_t event)
void __ovld vstore_half2(float2 data, size_t offset, half *p)
The floatn value given by data is converted to a halfn value using the appropriate rounding mode.
void __ovld vstorea_half2_rtp(float2 data, size_t offset, half *p)
int __ovld __conv work_group_scan_inclusive_add(int x)
long3 __ovld __cnfn convert_long3_rte(char3)
char8 __ovld __cnfn convert_char8_sat_rtp(char8)
char __ovld __cnfn convert_char_rtn(char)
float __ovld __cnfn nextafter(float x, float y)
Computes the next representable single-precision floating-point value following x in the direction of...
long3 __ovld __cnfn convert_long3_sat_rte(char3)
char __ovld __cnfn convert_char_sat_rte(char)
void __ovld vstorea_half_rtn(float data, size_t offset, half *p)
void __ovld vstore_half8_rtp(float8 data, size_t offset, half *p)
ulong16 __ovld __cnfn convert_ulong16_sat_rtn(char16)
uint2 __ovld __cnfn convert_uint2_rtz(char2)
long __ovld __cnfn convert_long_sat_rte(char)
int2 __ovld __cnfn convert_int2(char2)
float __ovld __cnfn trunc(float)
Round to integral value using the round to zero rounding mode.
int __ovld __cnfn isnan(float)
Test for a NaN.
void __ovld vstore_half8_rtn(float8 data, size_t offset, half *p)
#define __ovld
Definition: opencl-c.h:31
short3 __ovld __cnfn convert_short3_rtn(char3)
int2 __ovld __cnfn convert_int2_sat_rtn(char2)
short __ovld __cnfn convert_short_rtn(char)
ulong2 __ovld __cnfn convert_ulong2_rtz(char2)
uint2 __ovld __cnfn convert_uint2_sat(char2)
int4 __ovld __cnfn convert_int4_sat_rtp(char4)
uchar16 __ovld __cnfn convert_uchar16_sat_rtp(char16)
short3 __ovld __cnfn convert_short3_sat_rtz(char3)
float __ovld __cnfn native_log10(float x)
Compute a base 10 logarithm over an implementationdefined range.
uint2 __ovld __cnfn convert_uint2_rtn(char2)
int __ovld __cnfn convert_int_rte(char)
int8 __ovld __cnfn convert_int8_rte(char8)
uchar __ovld __cnfn convert_uchar_sat_rtp(char)
float __ovld __cnfn fmin(float x, float y)
Returns y if y < x, otherwise it returns x.
ulong3 __ovld __cnfn convert_ulong3_sat_rtz(char3)
void __ovld vstorea_half(float data, size_t offset, half *p)
The floatn value given by data is converted to a halfn value using the appropriate rounding mode.
int __ovld atomic_fetch_sub(volatile atomic_int *object, int operand)
ushort2 __ovld __cnfn convert_ushort2_sat_rtp(char2)
uchar2 __ovld __cnfn convert_uchar2_rtz(char2)
int __ovld __cnfn convert_int(char)
void __ovld prefetch(const __global char *p, size_t num_elements)
Prefetch num_elements * sizeof(gentype) bytes into the global cache.
ushort16 __ovld __cnfn convert_ushort16_rtp(char16)
ulong4 __ovld __cnfn convert_ulong4_sat_rtp(char4)
int4 __ovld __cnfn convert_int4_rtp(char4)
void __ovld vstorea_half8_rtz(float8 data, size_t offset, half *p)
float __ovld __cnfn half_exp10(float x)
Compute the base- 10 exponential of x.
ndrange_t __ovld ndrange_3D(const size_t[3])
uint4 __purefn __ovld read_imageui(read_only image2d_t image, sampler_t sampler, int2 coord)
float __ovld __cnfn native_log2(float x)
Compute a base 2 logarithm over an implementationdefined range.
ulong __ovld __cnfn convert_ulong_sat_rtp(char)
short2 __ovld __cnfn convert_short2_rtn(char2)
float __ovld sincos(float x, float *cosval)
Compute sine and cosine of x.
int __ovld __cnfn get_image_channel_data_type(read_only image1d_t image)
Return the channel data type.
void __ovld vstore_half_rtz(float data, size_t offset, half *p)
void __ovld vstorea_half16_rtn(float16 data, size_t offset, half *p)
float __ovld __cnfn log1p(float x)
Compute a base e logarithm of (1.0 + x).
int16 __ovld __cnfn convert_int16_rtz(char16)
ulong __ovld __cnfn convert_ulong_sat_rtz(char)
float __ovld __cnfn half_log(float x)
Compute natural logarithm.
long8 __ovld __cnfn convert_long8(char8)
uchar3 __ovld __cnfn convert_uchar3_rte(char3)
int __ovld __cnfn islessgreater(float x, float y)
Returns the component-wise compare of (x < y) || (x > y) .
long __ovld __cnfn convert_long_sat_rtn(char)
uchar2 __ovld __cnfn convert_uchar2_sat_rte(char2)
ushort16 __ovld __cnfn convert_ushort16_sat_rtp(char16)
ushort16 __ovld __cnfn convert_ushort16_rtz(char16)
ushort2 __ovld __cnfn convert_ushort2_sat_rtn(char2)
char8 __ovld vload8(size_t offset, const __constant char *p)
int8 __ovld __cnfn convert_int8_sat_rtz(char8)
long16 __ovld __cnfn convert_long16_sat_rte(char16)
uchar16 __ovld __cnfn convert_uchar16_rtp(char16)
size_t __ovld get_enqueued_local_size(uint dimindx)
uchar2 __ovld __cnfn convert_uchar2_rtn(char2)
int __ovld __cnfn signbit(float)
Test for sign bit.
short16 __ovld __cnfn convert_short16_rte(char16)
void __ovld vstore_half_rtn(float data, size_t offset, half *p)
ulong8 __ovld __cnfn convert_ulong8_sat_rtp(char8)
float __ovld vload_half(size_t offset, const __constant half *p)
Read sizeof (half) bytes of data from address (p + offset).
long8 __ovld __cnfn convert_long8_sat_rtz(char8)
int __ovld __cnfn get_image_width(read_only image1d_t image)
Return the image width in pixels.
short __ovld __cnfn upsample(char hi, uchar lo)
result[i] = ((short)hi[i] << 8) | lo[i] result[i] = ((ushort)hi[i] << 8) | lo[i]
int __ovld atomic_load(volatile atomic_int *object)
short8 __ovld __cnfn convert_short8_sat(char8)
void __ovld vstore_half2_rtp(float2 data, size_t offset, half *p)
float2 __ovld __cnfn convert_float2_rtn(char2)
void __ovld vstore_half16(float16 data, size_t offset, half *p)
float __ovld __cnfn log10(float)
Compute a base 10 logarithm.
ulong3 __ovld __cnfn convert_ulong3_rtn(char3)
#define __cnfn
Definition: opencl-c.h:36
char4 __ovld __cnfn convert_char4_rtn(char4)
void __ovld vstorea_half3(float3 data, size_t offset, half *p)
int3 __ovld __cnfn convert_int3_rte(char3)
int __ovld atomic_exchange_explicit(volatile atomic_int *object, int desired, memory_order order)
int2 __ovld __cnfn convert_int2_sat_rte(char2)
bool __ovld is_valid_reserve_id(reserve_id_t reserve_id)
long4 __ovld __cnfn convert_long4_sat_rtz(char4)
float __ovld __cnfn logb(float x)
Compute the exponent of x, which is the integral part of logr | x |.
ulong __ovld __cnfn convert_ulong_rte(char)
float16 __ovld __cnfn convert_float16_rtz(char16)
void __ovld vstore_half16_rtn(float16 data, size_t offset, half *p)
ulong8 __ovld __cnfn convert_ulong8_sat_rtz(char8)
uint __ovld __cnfn convert_uint_rte(char)
uchar4 __ovld __cnfn convert_uchar4_sat_rtz(char4)
int __ovld __conv work_group_reduce_max(int x)
long3 __ovld __cnfn convert_long3(char3)
short8 __ovld __cnfn convert_short8_sat_rtp(char8)
uint16 __ovld __cnfn convert_uint16(char16)
float16 __ovld vloada_half16(size_t offset, const __constant half *p)
short16 __ovld __cnfn convert_short16(char16)
void __ovld vstore_half3_rte(float3 data, size_t offset, half *p)
long __ovld __cnfn convert_long_sat_rtp(char)
char16 __ovld vload16(size_t offset, const __constant char *p)
long3 __ovld __cnfn convert_long3_rtz(char3)
int __ovld atomic_fetch_xor_explicit(volatile atomic_int *object, int operand, memory_order order)
void __ovld vstorea_half2_rte(float2 data, size_t offset, half *p)
char16 __ovld __cnfn convert_char16_sat(char16)
short4 __ovld __cnfn convert_short4_rte(char4)
float __ovld __cnfn asinpi(float x)
Compute asin (x) / PI.
float __ovld __cnfn convert_float(char)
int4 __ovld __cnfn convert_int4_sat(char4)
long16 __ovld __cnfn convert_long16_sat_rtz(char16)
uchar16 __ovld __cnfn convert_uchar16_rte(char16)
int8 __ovld __cnfn convert_int8_rtp(char8)
int __ovld atomic_min(volatile __global int *p, int val)
Read the 32-bit value (referred to as old) stored at location pointed by p.
size_t __ovld __cnfn get_image_array_size(read_only image1d_array_t image_array)
Return the image array size.
char3 __ovld vload3(size_t offset, const __constant char *p)
int __ovld atomic_cmpxchg(volatile __global int *p, int cmp, int val)
Read the 32-bit value (referred to as old) stored at location pointed by p.
uint16 __ovld __cnfn convert_uint16_rtp(char16)
void __ovld atomic_flag_clear_explicit(volatile atomic_flag *object, memory_order order)
char __ovld __cnfn hadd(char x, char y)
Returns (x + y) >> 1.
float __ovld __cnfn round(float x)
Return the integral value nearest to x rounding halfway cases away from zero, regardless of the curre...
ushort __ovld __cnfn convert_ushort_rte(char)
long2 __ovld __cnfn convert_long2_sat_rte(char2)
long16 __ovld __cnfn convert_long16_sat_rtn(char16)
void __ovld vstore_half(float data, size_t offset, half *p)
The float value given by data is first converted to a half value using the appropriate rounding mode.
ulong2 __ovld __cnfn convert_ulong2_sat_rte(char2)
uchar16 __ovld __cnfn convert_uchar16_sat_rtz(char16)
uchar4 __ovld __cnfn convert_uchar4_sat_rtp(char4)
ulong4 __ovld __cnfn convert_ulong4_rte(char4)
int __ovld __cnfn convert_int_sat_rtp(char)
ulong __ovld __cnfn convert_ulong_rtp(char)
ushort2 __ovld __cnfn convert_ushort2_rtp(char2)
int __ovld atomic_fetch_min(volatile atomic_int *object, int operand)
uint16 __ovld __cnfn convert_uint16_sat(char16)
uchar8 __ovld __cnfn convert_uchar8_sat(char8)
ushort2 __ovld __cnfn convert_ushort2_rte(char2)
float __ovld remquo(float x, float y, int *quo)
The remquo function computes the value r such that r = x - n*y, where n is the integer nearest the ex...
void __ovld vstore_half16_rtp(float16 data, size_t offset, half *p)
char16 __ovld __cnfn convert_char16(char16)
float __ovld __cnfn dot(float p0, float p1)
Compute dot product.
#define __conv
Definition: opencl-c.h:32
float16 __ovld __cnfn convert_float16_rte(char16)
char2 __ovld __cnfn convert_char2_sat_rtz(char2)
uint __ovld __cnfn convert_uint(char)
void __ovld vstore_half2_rtn(float2 data, size_t offset, half *p)
int8 __ovld __cnfn convert_int8_rtn(char8)
int4 __ovld __cnfn convert_int4_rtn(char4)
int __ovld __cnfn get_image_channel_order(read_only image1d_t image)
Return the image channel order.
float8 __ovld __cnfn convert_float8_rtp(char8)
float __ovld __cnfn fmod(float x, float y)
Modulus.
float4 __ovld __cnfn convert_float4_rtn(char4)
ushort4 __ovld __cnfn convert_ushort4_rte(char4)
void __ovld vstore_half4_rtz(float4 data, size_t offset, half *p)
float __ovld __cnfn lgamma(float x)
Log gamma function.
uint3 __ovld __cnfn convert_uint3_sat_rtp(char3)
uint4 __ovld __cnfn convert_uint4(char4)
ushort2 __ovld __cnfn convert_ushort2_sat_rte(char2)
int __ovld atomic_inc(volatile __global int *p)
Read the 32-bit value (referred to as old) stored at location pointed by p.
float __ovld frexp(float x, int *exp)
Extract mantissa and exponent from x.
void __ovld vstorea_half16_rte(float16 data, size_t offset, half *p)
short __ovld __cnfn convert_short_sat(char)
uint2 __ovld __cnfn convert_uint2_sat_rte(char2)
float __ovld __cnfn fast_length(float p)
Returns the length of vector p computed as: half_sqrt(p.x2 + p.y2 + ...)
ushort __ovld __cnfn convert_ushort_sat_rtn(char)
char __ovld __cnfn add_sat(char x, char y)
Returns x + y and saturates the result.
uint16 __ovld __cnfn convert_uint16_sat_rtz(char16)
ushort4 __ovld __cnfn convert_ushort4_rtn(char4)
uint4 __ovld __cnfn convert_uint4_sat_rtp(char4)
char __ovld ctz(char x)
Returns the count of trailing 0-bits in x.
clk_event_t __ovld create_user_event(void)
uchar4 __ovld __cnfn convert_uchar4_rte(char4)
ushort2 __ovld __cnfn convert_ushort2(char2)
uint __ovld __cnfn convert_uint_sat_rtz(char)
uchar2 __ovld __cnfn convert_uchar2_sat_rtz(char2)
uint8 __ovld __cnfn convert_uint8_rtz(char8)
ushort4 __ovld __cnfn convert_ushort4(char4)
char16 __ovld __cnfn convert_char16_rtn(char16)
ulong8 __ovld __cnfn convert_ulong8_sat_rte(char8)
int __ovld __cnfn isordered(float x, float y)
Test if arguments are ordered.
void __ovld vstore_half8_rtz(float8 data, size_t offset, half *p)
uint3 __ovld __cnfn convert_uint3_sat_rte(char3)
uint2 __ovld __cnfn convert_uint2(char2)
uint8 __ovld __cnfn convert_uint8_sat_rtz(char8)
uint16 __ovld __cnfn convert_uint16_rte(char16)
short2 __ovld __cnfn convert_short2_sat_rtn(char2)
float __ovld __cnfn degrees(float radians)
Converts radians to degrees, i.e.
char8 __ovld __cnfn convert_char8_rte(char8)
float __ovld __cnfn cospi(float x)
Compute cos (PI * x).
float2 __ovld __cnfn convert_float2_rtz(char2)
float4 __ovld vload_half4(size_t offset, const __constant half *p)
char3 __ovld __cnfn convert_char3_rte(char3)
int __ovld __cnfn mad24(int x, int y, int z)
Multiply two 24-bit integer values x and y and add the 32-bit integer result to the 32-bit integer z.
int __ovld __cnfn convert_int_sat(char)
char2 __ovld __cnfn convert_char2_sat_rtn(char2)
ushort __ovld __cnfn convert_ushort_rtp(char)
void __ovld vstorea_half3_rtn(float3 data, size_t offset, half *p)
void __ovld vstorea_half2_rtn(float2 data, size_t offset, half *p)
int __ovld atomic_fetch_xor(volatile atomic_int *object, int operand)
int __ovld __conv work_group_all(int predicate)
Return the number of samples associated with image.
ulong3 __ovld __cnfn convert_ulong3_rte(char3)
ulong2 __ovld __cnfn convert_ulong2_rtp(char2)
ushort16 __ovld __cnfn convert_ushort16_sat(char16)
short __ovld __cnfn convert_short(char)
short8 __ovld __cnfn convert_short8_rtn(char8)
long3 __ovld __cnfn convert_long3_rtn(char3)
void __ovld vstorea_half3_rtp(float3 data, size_t offset, half *p)
char2 __ovld __cnfn convert_char2_sat(char2)
ushort4 __ovld __cnfn convert_ushort4_sat_rte(char4)
void __ovld vstore_half4_rtn(float4 data, size_t offset, half *p)
uchar3 __ovld __cnfn convert_uchar3_sat_rtp(char3)
int __ovld __conv work_group_reduce_add(int x)
float __ovld __cnfn smoothstep(float edge0, float edge1, float x)
Returns 0.0 if x <= edge0 and 1.0 if x >= edge1 and performs smooth Hermite interpolation between 0 a...
short4 __ovld __cnfn convert_short4(char4)
ulong3 __ovld __cnfn convert_ulong3_rtz(char3)
uchar16 __ovld __cnfn convert_uchar16_rtn(char16)
size_t __ovld __cnfn get_local_size(uint dimindx)
Returns the number of local work-items specified in dimension identified by dimindx.
float __ovld __cnfn mix(float x, float y, float a)
Returns the linear blend of x & y implemented as: x + (y - x) * a a must be a value in the range 0....
ulong __ovld __cnfn convert_ulong_sat_rtn(char)
short16 __ovld __cnfn convert_short16_rtz(char16)
long2 __ovld __cnfn convert_long2_rte(char2)
void __ovld write_imagei(write_only image2d_t image, int2 coord, int4 color)
bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_int *object, int *expected, int desired, memory_order success, memory_order failure)
void __ovld atomic_store_explicit(volatile atomic_int *object, int desired, memory_order order)
float __ovld __cnfn acos(float)
Arc cosine function.
float3 __ovld vloada_half3(size_t offset, const __constant half *p)
uint4 __ovld __cnfn convert_uint4_rte(char4)
ushort8 __ovld __cnfn convert_ushort8(char8)
int8 __ovld __cnfn convert_int8_rtz(char8)
#define __purefn
Definition: opencl-c.h:35
ushort __ovld __cnfn convert_ushort_sat_rtp(char)
int3 __ovld __cnfn convert_int3_sat(char3)
bool __ovld atomic_flag_test_and_set(volatile atomic_flag *object)
cl_mem_fence_flags __ovld get_fence(const void *ptr)
float __ovld __cnfn rint(float)
Round to integral value (using round to nearest even rounding mode) in floating-point format.
int __ovld atomic_fetch_or(volatile atomic_int *object, int operand)
void __ovld vstore_half_rte(float data, size_t offset, half *p)