1afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich/*
2afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich** Copyright (c) 2015-2016 The Khronos Group Inc.
3afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich**
4afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich** Permission is hereby granted, free of charge, to any person obtaining a copy
5afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich** of this software and/or associated documentation files (the "Materials"),
6afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich** to deal in the Materials without restriction, including without limitation
7afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich** the rights to use, copy, modify, merge, publish, distribute, sublicense,
8afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich** and/or sell copies of the Materials, and to permit persons to whom the
9afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich** Materials are furnished to do so, subject to the following conditions:
10afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich**
11afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich** The above copyright notice and this permission notice shall be included in
12afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich** all copies or substantial portions of the Materials.
13afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich**
14afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich** MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS
15afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich** STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND
16afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich** HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/
17afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich**
18afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
19afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich** OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
21afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich** THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
23afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich** FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS
24afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich** IN THE MATERIALS.
25afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich*/
26afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich
27afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich//
28afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich// Author: Boaz Ouriel, Intel
29afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich//
30afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich
31afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenichnamespace OpenCLLIB {
32afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich
33afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenichenum Entrypoints {
34afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich
35afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    // math functions
36afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Acos = 0,
37afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Acosh = 1,
38afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Acospi = 2,
39afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Asin = 3,
40afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Asinh = 4,
41afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Asinpi = 5,
42afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Atan = 6,
43afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Atan2 = 7,
44afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Atanh = 8,
45afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Atanpi = 9,
46afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Atan2pi = 10,
47afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Cbrt = 11,
48afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Ceil = 12,
49afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Copysign = 13,
50afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Cos = 14,
51afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Cosh = 15,
52afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Cospi = 16,
53afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Erfc = 17,
54afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Erf = 18,
55afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Exp = 19,
56afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Exp2 = 20,
57afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Exp10 = 21,
58afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Expm1 = 22,
59afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Fabs = 23,
60afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Fdim = 24,
61afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Floor = 25,
62afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Fma = 26,
63afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Fmax = 27,
64afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Fmin = 28,
65afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Fmod = 29,
66afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Fract = 30,
67afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Frexp = 31,
68afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Hypot = 32,
69afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Ilogb = 33,
70afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Ldexp = 34,
71afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Lgamma = 35,
72afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Lgamma_r = 36,
73afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Log = 37,
74afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Log2 = 38,
75afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Log10 = 39,
76afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Log1p = 40,
77afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Logb = 41,
78afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Mad = 42,
79afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Maxmag = 43,
80afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Minmag = 44,
81afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Modf = 45,
82afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Nan = 46,
83afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Nextafter = 47,
84afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Pow = 48,
85afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Pown = 49,
86afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Powr = 50,
87afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Remainder = 51,
88afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Remquo = 52,
89afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Rint = 53,
90afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Rootn = 54,
91afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Round = 55,
92afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Rsqrt = 56,
93afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Sin = 57,
94afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Sincos = 58,
95afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Sinh = 59,
96afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Sinpi = 60,
97afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Sqrt = 61,
98afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Tan = 62,
99afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Tanh = 63,
100afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Tanpi = 64,
101afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Tgamma = 65,
102afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Trunc = 66,
103afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Half_cos = 67,
104afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Half_divide = 68,
105afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Half_exp = 69,
106afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Half_exp2 = 70,
107afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Half_exp10 = 71,
108afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Half_log = 72,
109afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Half_log2 = 73,
110afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Half_log10 = 74,
111afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Half_powr = 75,
112afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Half_recip = 76,
113afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Half_rsqrt = 77,
114afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Half_sin = 78,
115afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Half_sqrt = 79,
116afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Half_tan = 80,
117afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Native_cos = 81,
118afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Native_divide = 82,
119afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Native_exp = 83,
120afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Native_exp2 = 84,
121afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Native_exp10 = 85,
122afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Native_log = 86,
123afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Native_log2 = 87,
124afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Native_log10 = 88,
125afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Native_powr = 89,
126afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Native_recip = 90,
127afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Native_rsqrt = 91,
128afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Native_sin = 92,
129afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Native_sqrt = 93,
130afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Native_tan = 94,
131afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich
132afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    // Common
133afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    FClamp = 95,
134afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Degrees = 96,
135afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    FMax_common = 97,
136afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    FMin_common = 98,
137afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Mix = 99,
138afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Radians = 100,
139afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Step = 101,
140afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Smoothstep = 102,
141afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Sign = 103,
142afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich
143afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    // Geometrics
144afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Cross = 104,
145afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Distance = 105,
146afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Length = 106,
147afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Normalize = 107,
148afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Fast_distance = 108,
149afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Fast_length = 109,
150afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Fast_normalize = 110,
151afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich
152afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    // Images - Deprecated
153afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Read_imagef = 111,
154afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Read_imagei = 112,
155afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Read_imageui = 113,
156afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Read_imageh = 114,
157afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich
158afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Read_imagef_samplerless = 115,
159afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Read_imagei_samplerless = 116,
160afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Read_imageui_samplerless = 117,
161afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Read_imageh_samplerless = 118,
162afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich
163afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Write_imagef = 119,
164afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Write_imagei = 120,
165afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Write_imageui = 121,
166afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Write_imageh = 122,
167afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Read_imagef_mipmap_lod = 123,
168afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Read_imagei_mipmap_lod = 124,
169afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Read_imageui_mipmap_lod = 125,
170afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Read_imagef_mipmap_grad = 126,
171afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Read_imagei_mipmap_grad = 127,
172afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Read_imageui_mipmap_grad = 128,
173afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich
174afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    // Image write with LOD
175afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Write_imagef_mipmap_lod = 129,
176afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Write_imagei_mipmap_lod = 130,
177afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Write_imageui_mipmap_lod = 131,
178afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich
179afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    // Images - Deprecated
180afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Get_image_width = 132,
181afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Get_image_height = 133,
182afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Get_image_depth = 134,
183afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Get_image_channel_data_type = 135,
184afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Get_image_channel_order = 136,
185afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Get_image_dim = 137,
186afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Get_image_array_size = 138,
187afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Get_image_num_samples = 139,
188afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Get_image_num_mip_levels = 140,
189afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich
190afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    // Integers
191afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    SAbs = 141,
192afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    SAbs_diff = 142,
193afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    SAdd_sat = 143,
194afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    UAdd_sat = 144,
195afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    SHadd = 145,
196afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    UHadd = 146,
197afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    SRhadd = 147,
198afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    URhadd = 148,
199afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    SClamp = 149,
200afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    UClamp = 150,
201afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Clz = 151,
202afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Ctz = 152,
203afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    SMad_hi = 153,
204afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    UMad_sat = 154,
205afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    SMad_sat = 155,
206afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    SMax = 156,
207afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    UMax = 157,
208afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    SMin = 158,
209afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    UMin = 159,
210afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    SMul_hi = 160,
211afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Rotate = 161,
212afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    SSub_sat = 162,
213afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    USub_sat = 163,
214afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    U_Upsample = 164,
215afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    S_Upsample = 165,
216afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Popcount = 166,
217afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    SMad24 = 167,
218afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    UMad24 = 168,
219afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    SMul24 = 169,
220afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    UMul24 = 170,
221afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich
222afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    // Vector Loads/Stores
223afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Vloadn = 171,
224afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Vstoren = 172,
225afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Vload_half = 173,
226afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Vload_halfn = 174,
227afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Vstore_half = 175,
228afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Vstore_half_r = 176,
229afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Vstore_halfn = 177,
230afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Vstore_halfn_r = 178,
231afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Vloada_halfn = 179,
232afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Vstorea_halfn = 180,
233afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Vstorea_halfn_r = 181,
234afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich
235afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    // Vector Misc
236afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Shuffle = 182,
237afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Shuffle2 = 183,
238afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich
239afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    //
240afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Printf = 184,
241afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Prefetch = 185,
242afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich
243afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    // Relationals
244afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Bitselect = 186,
245afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Select = 187,
246afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich
247afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    // pipes
248afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Read_pipe = 188,
249afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Write_pipe = 189,
250afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Reserve_read_pipe = 190,
251afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Reserve_write_pipe = 191,
252afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Commit_read_pipe = 192,
253afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Commit_write_pipe = 193,
254afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Is_valid_reserve_id = 194,
255afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Work_group_reserve_read_pipe = 195,
256afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Work_group_reserve_write_pipe = 196,
257afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Work_group_commit_read_pipe = 197,
258afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Work_group_commit_write_pipe = 198,
259afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Get_pipe_num_packets = 199,
260afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    Get_pipe_max_packets = 200,
261afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich
262afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    // more integers
263afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    UAbs = 201,
264afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    UAbs_diff = 202,
265afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    UMul_hi = 203,
266afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich    UMad_hi = 204
267afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich};
268afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich
269afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich
270afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich
271afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich} // end namespace OpenCL20
272afd72cebbe3e55fb5094ce422264e54b5eb1abacJohn Kessenich
273