xref: /aosp_15_r20/external/mesa3d/src/compiler/spirv/OpenCL.std.h (revision 6104692788411f58d303aa86923a9ff6ecaded22)
1*61046927SAndroid Build Coastguard Worker /*
2*61046927SAndroid Build Coastguard Worker ** Copyright (c) 2015-2024 The Khronos Group Inc.
3*61046927SAndroid Build Coastguard Worker **
4*61046927SAndroid Build Coastguard Worker ** Permission is hereby granted, free of charge, to any person obtaining a copy
5*61046927SAndroid Build Coastguard Worker ** of this software and/or associated documentation files (the "Materials"),
6*61046927SAndroid Build Coastguard Worker ** to deal in the Materials without restriction, including without limitation
7*61046927SAndroid Build Coastguard Worker ** the rights to use, copy, modify, merge, publish, distribute, sublicense,
8*61046927SAndroid Build Coastguard Worker ** and/or sell copies of the Materials, and to permit persons to whom the
9*61046927SAndroid Build Coastguard Worker ** Materials are furnished to do so, subject to the following conditions:
10*61046927SAndroid Build Coastguard Worker **
11*61046927SAndroid Build Coastguard Worker ** The above copyright notice and this permission notice shall be included in
12*61046927SAndroid Build Coastguard Worker ** all copies or substantial portions of the Materials.
13*61046927SAndroid Build Coastguard Worker **
14*61046927SAndroid Build Coastguard Worker ** MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS
15*61046927SAndroid Build Coastguard Worker ** STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND
16*61046927SAndroid Build Coastguard Worker ** HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/
17*61046927SAndroid Build Coastguard Worker **
18*61046927SAndroid Build Coastguard Worker ** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
19*61046927SAndroid Build Coastguard Worker ** OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20*61046927SAndroid Build Coastguard Worker ** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
21*61046927SAndroid Build Coastguard Worker ** THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22*61046927SAndroid Build Coastguard Worker ** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
23*61046927SAndroid Build Coastguard Worker ** FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS
24*61046927SAndroid Build Coastguard Worker ** IN THE MATERIALS.
25*61046927SAndroid Build Coastguard Worker */
26*61046927SAndroid Build Coastguard Worker 
27*61046927SAndroid Build Coastguard Worker #ifndef OPENCLstd_H
28*61046927SAndroid Build Coastguard Worker #define OPENCLstd_H
29*61046927SAndroid Build Coastguard Worker 
30*61046927SAndroid Build Coastguard Worker #ifdef __cplusplus
31*61046927SAndroid Build Coastguard Worker namespace OpenCLLIB {
32*61046927SAndroid Build Coastguard Worker 
33*61046927SAndroid Build Coastguard Worker enum Entrypoints {
34*61046927SAndroid Build Coastguard Worker 
35*61046927SAndroid Build Coastguard Worker     // Section 2.1: Math extended instructions
36*61046927SAndroid Build Coastguard Worker     Acos = 0,
37*61046927SAndroid Build Coastguard Worker     Acosh = 1,
38*61046927SAndroid Build Coastguard Worker     Acospi = 2,
39*61046927SAndroid Build Coastguard Worker     Asin = 3,
40*61046927SAndroid Build Coastguard Worker     Asinh = 4,
41*61046927SAndroid Build Coastguard Worker     Asinpi = 5,
42*61046927SAndroid Build Coastguard Worker     Atan = 6,
43*61046927SAndroid Build Coastguard Worker     Atan2 = 7,
44*61046927SAndroid Build Coastguard Worker     Atanh = 8,
45*61046927SAndroid Build Coastguard Worker     Atanpi = 9,
46*61046927SAndroid Build Coastguard Worker     Atan2pi = 10,
47*61046927SAndroid Build Coastguard Worker     Cbrt = 11,
48*61046927SAndroid Build Coastguard Worker     Ceil = 12,
49*61046927SAndroid Build Coastguard Worker     Copysign = 13,
50*61046927SAndroid Build Coastguard Worker     Cos = 14,
51*61046927SAndroid Build Coastguard Worker     Cosh = 15,
52*61046927SAndroid Build Coastguard Worker     Cospi = 16,
53*61046927SAndroid Build Coastguard Worker     Erfc = 17,
54*61046927SAndroid Build Coastguard Worker     Erf = 18,
55*61046927SAndroid Build Coastguard Worker     Exp = 19,
56*61046927SAndroid Build Coastguard Worker     Exp2 = 20,
57*61046927SAndroid Build Coastguard Worker     Exp10 = 21,
58*61046927SAndroid Build Coastguard Worker     Expm1 = 22,
59*61046927SAndroid Build Coastguard Worker     Fabs = 23,
60*61046927SAndroid Build Coastguard Worker     Fdim = 24,
61*61046927SAndroid Build Coastguard Worker     Floor = 25,
62*61046927SAndroid Build Coastguard Worker     Fma = 26,
63*61046927SAndroid Build Coastguard Worker     Fmax = 27,
64*61046927SAndroid Build Coastguard Worker     Fmin = 28,
65*61046927SAndroid Build Coastguard Worker     Fmod = 29,
66*61046927SAndroid Build Coastguard Worker     Fract = 30,
67*61046927SAndroid Build Coastguard Worker     Frexp = 31,
68*61046927SAndroid Build Coastguard Worker     Hypot = 32,
69*61046927SAndroid Build Coastguard Worker     Ilogb = 33,
70*61046927SAndroid Build Coastguard Worker     Ldexp = 34,
71*61046927SAndroid Build Coastguard Worker     Lgamma = 35,
72*61046927SAndroid Build Coastguard Worker     Lgamma_r = 36,
73*61046927SAndroid Build Coastguard Worker     Log = 37,
74*61046927SAndroid Build Coastguard Worker     Log2 = 38,
75*61046927SAndroid Build Coastguard Worker     Log10 = 39,
76*61046927SAndroid Build Coastguard Worker     Log1p = 40,
77*61046927SAndroid Build Coastguard Worker     Logb = 41,
78*61046927SAndroid Build Coastguard Worker     Mad = 42,
79*61046927SAndroid Build Coastguard Worker     Maxmag = 43,
80*61046927SAndroid Build Coastguard Worker     Minmag = 44,
81*61046927SAndroid Build Coastguard Worker     Modf = 45,
82*61046927SAndroid Build Coastguard Worker     Nan = 46,
83*61046927SAndroid Build Coastguard Worker     Nextafter = 47,
84*61046927SAndroid Build Coastguard Worker     Pow = 48,
85*61046927SAndroid Build Coastguard Worker     Pown = 49,
86*61046927SAndroid Build Coastguard Worker     Powr = 50,
87*61046927SAndroid Build Coastguard Worker     Remainder = 51,
88*61046927SAndroid Build Coastguard Worker     Remquo = 52,
89*61046927SAndroid Build Coastguard Worker     Rint = 53,
90*61046927SAndroid Build Coastguard Worker     Rootn = 54,
91*61046927SAndroid Build Coastguard Worker     Round = 55,
92*61046927SAndroid Build Coastguard Worker     Rsqrt = 56,
93*61046927SAndroid Build Coastguard Worker     Sin = 57,
94*61046927SAndroid Build Coastguard Worker     Sincos = 58,
95*61046927SAndroid Build Coastguard Worker     Sinh = 59,
96*61046927SAndroid Build Coastguard Worker     Sinpi = 60,
97*61046927SAndroid Build Coastguard Worker     Sqrt = 61,
98*61046927SAndroid Build Coastguard Worker     Tan = 62,
99*61046927SAndroid Build Coastguard Worker     Tanh = 63,
100*61046927SAndroid Build Coastguard Worker     Tanpi = 64,
101*61046927SAndroid Build Coastguard Worker     Tgamma = 65,
102*61046927SAndroid Build Coastguard Worker     Trunc = 66,
103*61046927SAndroid Build Coastguard Worker     Half_cos = 67,
104*61046927SAndroid Build Coastguard Worker     Half_divide = 68,
105*61046927SAndroid Build Coastguard Worker     Half_exp = 69,
106*61046927SAndroid Build Coastguard Worker     Half_exp2 = 70,
107*61046927SAndroid Build Coastguard Worker     Half_exp10 = 71,
108*61046927SAndroid Build Coastguard Worker     Half_log = 72,
109*61046927SAndroid Build Coastguard Worker     Half_log2 = 73,
110*61046927SAndroid Build Coastguard Worker     Half_log10 = 74,
111*61046927SAndroid Build Coastguard Worker     Half_powr = 75,
112*61046927SAndroid Build Coastguard Worker     Half_recip = 76,
113*61046927SAndroid Build Coastguard Worker     Half_rsqrt = 77,
114*61046927SAndroid Build Coastguard Worker     Half_sin = 78,
115*61046927SAndroid Build Coastguard Worker     Half_sqrt = 79,
116*61046927SAndroid Build Coastguard Worker     Half_tan = 80,
117*61046927SAndroid Build Coastguard Worker     Native_cos = 81,
118*61046927SAndroid Build Coastguard Worker     Native_divide = 82,
119*61046927SAndroid Build Coastguard Worker     Native_exp = 83,
120*61046927SAndroid Build Coastguard Worker     Native_exp2 = 84,
121*61046927SAndroid Build Coastguard Worker     Native_exp10 = 85,
122*61046927SAndroid Build Coastguard Worker     Native_log = 86,
123*61046927SAndroid Build Coastguard Worker     Native_log2 = 87,
124*61046927SAndroid Build Coastguard Worker     Native_log10 = 88,
125*61046927SAndroid Build Coastguard Worker     Native_powr = 89,
126*61046927SAndroid Build Coastguard Worker     Native_recip = 90,
127*61046927SAndroid Build Coastguard Worker     Native_rsqrt = 91,
128*61046927SAndroid Build Coastguard Worker     Native_sin = 92,
129*61046927SAndroid Build Coastguard Worker     Native_sqrt = 93,
130*61046927SAndroid Build Coastguard Worker     Native_tan = 94,
131*61046927SAndroid Build Coastguard Worker 
132*61046927SAndroid Build Coastguard Worker     // Section 2.2: Integer instructions
133*61046927SAndroid Build Coastguard Worker     SAbs = 141,
134*61046927SAndroid Build Coastguard Worker     SAbs_diff = 142,
135*61046927SAndroid Build Coastguard Worker     SAdd_sat = 143,
136*61046927SAndroid Build Coastguard Worker     UAdd_sat = 144,
137*61046927SAndroid Build Coastguard Worker     SHadd = 145,
138*61046927SAndroid Build Coastguard Worker     UHadd = 146,
139*61046927SAndroid Build Coastguard Worker     SRhadd = 147,
140*61046927SAndroid Build Coastguard Worker     URhadd = 148,
141*61046927SAndroid Build Coastguard Worker     SClamp = 149,
142*61046927SAndroid Build Coastguard Worker     UClamp = 150,
143*61046927SAndroid Build Coastguard Worker     Clz = 151,
144*61046927SAndroid Build Coastguard Worker     Ctz = 152,
145*61046927SAndroid Build Coastguard Worker     SMad_hi = 153,
146*61046927SAndroid Build Coastguard Worker     UMad_sat = 154,
147*61046927SAndroid Build Coastguard Worker     SMad_sat = 155,
148*61046927SAndroid Build Coastguard Worker     SMax = 156,
149*61046927SAndroid Build Coastguard Worker     UMax = 157,
150*61046927SAndroid Build Coastguard Worker     SMin = 158,
151*61046927SAndroid Build Coastguard Worker     UMin = 159,
152*61046927SAndroid Build Coastguard Worker     SMul_hi = 160,
153*61046927SAndroid Build Coastguard Worker     Rotate = 161,
154*61046927SAndroid Build Coastguard Worker     SSub_sat = 162,
155*61046927SAndroid Build Coastguard Worker     USub_sat = 163,
156*61046927SAndroid Build Coastguard Worker     U_Upsample = 164,
157*61046927SAndroid Build Coastguard Worker     S_Upsample = 165,
158*61046927SAndroid Build Coastguard Worker     Popcount = 166,
159*61046927SAndroid Build Coastguard Worker     SMad24 = 167,
160*61046927SAndroid Build Coastguard Worker     UMad24 = 168,
161*61046927SAndroid Build Coastguard Worker     SMul24 = 169,
162*61046927SAndroid Build Coastguard Worker     UMul24 = 170,
163*61046927SAndroid Build Coastguard Worker     UAbs = 201,
164*61046927SAndroid Build Coastguard Worker     UAbs_diff = 202,
165*61046927SAndroid Build Coastguard Worker     UMul_hi = 203,
166*61046927SAndroid Build Coastguard Worker     UMad_hi = 204,
167*61046927SAndroid Build Coastguard Worker 
168*61046927SAndroid Build Coastguard Worker     // Section 2.3: Common instructions
169*61046927SAndroid Build Coastguard Worker     FClamp = 95,
170*61046927SAndroid Build Coastguard Worker     Degrees = 96,
171*61046927SAndroid Build Coastguard Worker     FMax_common = 97,
172*61046927SAndroid Build Coastguard Worker     FMin_common = 98,
173*61046927SAndroid Build Coastguard Worker     Mix = 99,
174*61046927SAndroid Build Coastguard Worker     Radians = 100,
175*61046927SAndroid Build Coastguard Worker     Step = 101,
176*61046927SAndroid Build Coastguard Worker     Smoothstep = 102,
177*61046927SAndroid Build Coastguard Worker     Sign = 103,
178*61046927SAndroid Build Coastguard Worker 
179*61046927SAndroid Build Coastguard Worker     // Section 2.4: Geometric instructions
180*61046927SAndroid Build Coastguard Worker     Cross = 104,
181*61046927SAndroid Build Coastguard Worker     Distance = 105,
182*61046927SAndroid Build Coastguard Worker     Length = 106,
183*61046927SAndroid Build Coastguard Worker     Normalize = 107,
184*61046927SAndroid Build Coastguard Worker     Fast_distance = 108,
185*61046927SAndroid Build Coastguard Worker     Fast_length = 109,
186*61046927SAndroid Build Coastguard Worker     Fast_normalize = 110,
187*61046927SAndroid Build Coastguard Worker 
188*61046927SAndroid Build Coastguard Worker     // Section 2.5: Relational instructions
189*61046927SAndroid Build Coastguard Worker     Bitselect = 186,
190*61046927SAndroid Build Coastguard Worker     Select = 187,
191*61046927SAndroid Build Coastguard Worker 
192*61046927SAndroid Build Coastguard Worker     // Section 2.6: Vector Data Load and Store instructions
193*61046927SAndroid Build Coastguard Worker     Vloadn = 171,
194*61046927SAndroid Build Coastguard Worker     Vstoren = 172,
195*61046927SAndroid Build Coastguard Worker     Vload_half = 173,
196*61046927SAndroid Build Coastguard Worker     Vload_halfn = 174,
197*61046927SAndroid Build Coastguard Worker     Vstore_half = 175,
198*61046927SAndroid Build Coastguard Worker     Vstore_half_r = 176,
199*61046927SAndroid Build Coastguard Worker     Vstore_halfn = 177,
200*61046927SAndroid Build Coastguard Worker     Vstore_halfn_r = 178,
201*61046927SAndroid Build Coastguard Worker     Vloada_halfn = 179,
202*61046927SAndroid Build Coastguard Worker     Vstorea_halfn = 180,
203*61046927SAndroid Build Coastguard Worker     Vstorea_halfn_r = 181,
204*61046927SAndroid Build Coastguard Worker 
205*61046927SAndroid Build Coastguard Worker     // Section 2.7: Miscellaneous Vector instructions
206*61046927SAndroid Build Coastguard Worker     Shuffle = 182,
207*61046927SAndroid Build Coastguard Worker     Shuffle2 = 183,
208*61046927SAndroid Build Coastguard Worker 
209*61046927SAndroid Build Coastguard Worker     // Section 2.8: Misc instructions
210*61046927SAndroid Build Coastguard Worker     Printf = 184,
211*61046927SAndroid Build Coastguard Worker     Prefetch = 185,
212*61046927SAndroid Build Coastguard Worker };
213*61046927SAndroid Build Coastguard Worker 
214*61046927SAndroid Build Coastguard Worker } // end namespace OpenCLLIB
215*61046927SAndroid Build Coastguard Worker 
216*61046927SAndroid Build Coastguard Worker #else
217*61046927SAndroid Build Coastguard Worker 
218*61046927SAndroid Build Coastguard Worker enum OpenCLstd_Entrypoints {
219*61046927SAndroid Build Coastguard Worker 
220*61046927SAndroid Build Coastguard Worker     // Section 2.1: Math extended instructions
221*61046927SAndroid Build Coastguard Worker     OpenCLstd_Acos = 0,
222*61046927SAndroid Build Coastguard Worker     OpenCLstd_Acosh = 1,
223*61046927SAndroid Build Coastguard Worker     OpenCLstd_Acospi = 2,
224*61046927SAndroid Build Coastguard Worker     OpenCLstd_Asin = 3,
225*61046927SAndroid Build Coastguard Worker     OpenCLstd_Asinh = 4,
226*61046927SAndroid Build Coastguard Worker     OpenCLstd_Asinpi = 5,
227*61046927SAndroid Build Coastguard Worker     OpenCLstd_Atan = 6,
228*61046927SAndroid Build Coastguard Worker     OpenCLstd_Atan2 = 7,
229*61046927SAndroid Build Coastguard Worker     OpenCLstd_Atanh = 8,
230*61046927SAndroid Build Coastguard Worker     OpenCLstd_Atanpi = 9,
231*61046927SAndroid Build Coastguard Worker     OpenCLstd_Atan2pi = 10,
232*61046927SAndroid Build Coastguard Worker     OpenCLstd_Cbrt = 11,
233*61046927SAndroid Build Coastguard Worker     OpenCLstd_Ceil = 12,
234*61046927SAndroid Build Coastguard Worker     OpenCLstd_Copysign = 13,
235*61046927SAndroid Build Coastguard Worker     OpenCLstd_Cos = 14,
236*61046927SAndroid Build Coastguard Worker     OpenCLstd_Cosh = 15,
237*61046927SAndroid Build Coastguard Worker     OpenCLstd_Cospi = 16,
238*61046927SAndroid Build Coastguard Worker     OpenCLstd_Erfc = 17,
239*61046927SAndroid Build Coastguard Worker     OpenCLstd_Erf = 18,
240*61046927SAndroid Build Coastguard Worker     OpenCLstd_Exp = 19,
241*61046927SAndroid Build Coastguard Worker     OpenCLstd_Exp2 = 20,
242*61046927SAndroid Build Coastguard Worker     OpenCLstd_Exp10 = 21,
243*61046927SAndroid Build Coastguard Worker     OpenCLstd_Expm1 = 22,
244*61046927SAndroid Build Coastguard Worker     OpenCLstd_Fabs = 23,
245*61046927SAndroid Build Coastguard Worker     OpenCLstd_Fdim = 24,
246*61046927SAndroid Build Coastguard Worker     OpenCLstd_Floor = 25,
247*61046927SAndroid Build Coastguard Worker     OpenCLstd_Fma = 26,
248*61046927SAndroid Build Coastguard Worker     OpenCLstd_Fmax = 27,
249*61046927SAndroid Build Coastguard Worker     OpenCLstd_Fmin = 28,
250*61046927SAndroid Build Coastguard Worker     OpenCLstd_Fmod = 29,
251*61046927SAndroid Build Coastguard Worker     OpenCLstd_Fract = 30,
252*61046927SAndroid Build Coastguard Worker     OpenCLstd_Frexp = 31,
253*61046927SAndroid Build Coastguard Worker     OpenCLstd_Hypot = 32,
254*61046927SAndroid Build Coastguard Worker     OpenCLstd_Ilogb = 33,
255*61046927SAndroid Build Coastguard Worker     OpenCLstd_Ldexp = 34,
256*61046927SAndroid Build Coastguard Worker     OpenCLstd_Lgamma = 35,
257*61046927SAndroid Build Coastguard Worker     OpenCLstd_Lgamma_r = 36,
258*61046927SAndroid Build Coastguard Worker     OpenCLstd_Log = 37,
259*61046927SAndroid Build Coastguard Worker     OpenCLstd_Log2 = 38,
260*61046927SAndroid Build Coastguard Worker     OpenCLstd_Log10 = 39,
261*61046927SAndroid Build Coastguard Worker     OpenCLstd_Log1p = 40,
262*61046927SAndroid Build Coastguard Worker     OpenCLstd_Logb = 41,
263*61046927SAndroid Build Coastguard Worker     OpenCLstd_Mad = 42,
264*61046927SAndroid Build Coastguard Worker     OpenCLstd_Maxmag = 43,
265*61046927SAndroid Build Coastguard Worker     OpenCLstd_Minmag = 44,
266*61046927SAndroid Build Coastguard Worker     OpenCLstd_Modf = 45,
267*61046927SAndroid Build Coastguard Worker     OpenCLstd_Nan = 46,
268*61046927SAndroid Build Coastguard Worker     OpenCLstd_Nextafter = 47,
269*61046927SAndroid Build Coastguard Worker     OpenCLstd_Pow = 48,
270*61046927SAndroid Build Coastguard Worker     OpenCLstd_Pown = 49,
271*61046927SAndroid Build Coastguard Worker     OpenCLstd_Powr = 50,
272*61046927SAndroid Build Coastguard Worker     OpenCLstd_Remainder = 51,
273*61046927SAndroid Build Coastguard Worker     OpenCLstd_Remquo = 52,
274*61046927SAndroid Build Coastguard Worker     OpenCLstd_Rint = 53,
275*61046927SAndroid Build Coastguard Worker     OpenCLstd_Rootn = 54,
276*61046927SAndroid Build Coastguard Worker     OpenCLstd_Round = 55,
277*61046927SAndroid Build Coastguard Worker     OpenCLstd_Rsqrt = 56,
278*61046927SAndroid Build Coastguard Worker     OpenCLstd_Sin = 57,
279*61046927SAndroid Build Coastguard Worker     OpenCLstd_Sincos = 58,
280*61046927SAndroid Build Coastguard Worker     OpenCLstd_Sinh = 59,
281*61046927SAndroid Build Coastguard Worker     OpenCLstd_Sinpi = 60,
282*61046927SAndroid Build Coastguard Worker     OpenCLstd_Sqrt = 61,
283*61046927SAndroid Build Coastguard Worker     OpenCLstd_Tan = 62,
284*61046927SAndroid Build Coastguard Worker     OpenCLstd_Tanh = 63,
285*61046927SAndroid Build Coastguard Worker     OpenCLstd_Tanpi = 64,
286*61046927SAndroid Build Coastguard Worker     OpenCLstd_Tgamma = 65,
287*61046927SAndroid Build Coastguard Worker     OpenCLstd_Trunc = 66,
288*61046927SAndroid Build Coastguard Worker     OpenCLstd_Half_cos = 67,
289*61046927SAndroid Build Coastguard Worker     OpenCLstd_Half_divide = 68,
290*61046927SAndroid Build Coastguard Worker     OpenCLstd_Half_exp = 69,
291*61046927SAndroid Build Coastguard Worker     OpenCLstd_Half_exp2 = 70,
292*61046927SAndroid Build Coastguard Worker     OpenCLstd_Half_exp10 = 71,
293*61046927SAndroid Build Coastguard Worker     OpenCLstd_Half_log = 72,
294*61046927SAndroid Build Coastguard Worker     OpenCLstd_Half_log2 = 73,
295*61046927SAndroid Build Coastguard Worker     OpenCLstd_Half_log10 = 74,
296*61046927SAndroid Build Coastguard Worker     OpenCLstd_Half_powr = 75,
297*61046927SAndroid Build Coastguard Worker     OpenCLstd_Half_recip = 76,
298*61046927SAndroid Build Coastguard Worker     OpenCLstd_Half_rsqrt = 77,
299*61046927SAndroid Build Coastguard Worker     OpenCLstd_Half_sin = 78,
300*61046927SAndroid Build Coastguard Worker     OpenCLstd_Half_sqrt = 79,
301*61046927SAndroid Build Coastguard Worker     OpenCLstd_Half_tan = 80,
302*61046927SAndroid Build Coastguard Worker     OpenCLstd_Native_cos = 81,
303*61046927SAndroid Build Coastguard Worker     OpenCLstd_Native_divide = 82,
304*61046927SAndroid Build Coastguard Worker     OpenCLstd_Native_exp = 83,
305*61046927SAndroid Build Coastguard Worker     OpenCLstd_Native_exp2 = 84,
306*61046927SAndroid Build Coastguard Worker     OpenCLstd_Native_exp10 = 85,
307*61046927SAndroid Build Coastguard Worker     OpenCLstd_Native_log = 86,
308*61046927SAndroid Build Coastguard Worker     OpenCLstd_Native_log2 = 87,
309*61046927SAndroid Build Coastguard Worker     OpenCLstd_Native_log10 = 88,
310*61046927SAndroid Build Coastguard Worker     OpenCLstd_Native_powr = 89,
311*61046927SAndroid Build Coastguard Worker     OpenCLstd_Native_recip = 90,
312*61046927SAndroid Build Coastguard Worker     OpenCLstd_Native_rsqrt = 91,
313*61046927SAndroid Build Coastguard Worker     OpenCLstd_Native_sin = 92,
314*61046927SAndroid Build Coastguard Worker     OpenCLstd_Native_sqrt = 93,
315*61046927SAndroid Build Coastguard Worker     OpenCLstd_Native_tan = 94,
316*61046927SAndroid Build Coastguard Worker 
317*61046927SAndroid Build Coastguard Worker     // Section 2.2: Integer instructions
318*61046927SAndroid Build Coastguard Worker     OpenCLstd_SAbs = 141,
319*61046927SAndroid Build Coastguard Worker     OpenCLstd_SAbs_diff = 142,
320*61046927SAndroid Build Coastguard Worker     OpenCLstd_SAdd_sat = 143,
321*61046927SAndroid Build Coastguard Worker     OpenCLstd_UAdd_sat = 144,
322*61046927SAndroid Build Coastguard Worker     OpenCLstd_SHadd = 145,
323*61046927SAndroid Build Coastguard Worker     OpenCLstd_UHadd = 146,
324*61046927SAndroid Build Coastguard Worker     OpenCLstd_SRhadd = 147,
325*61046927SAndroid Build Coastguard Worker     OpenCLstd_URhadd = 148,
326*61046927SAndroid Build Coastguard Worker     OpenCLstd_SClamp = 149,
327*61046927SAndroid Build Coastguard Worker     OpenCLstd_UClamp = 150,
328*61046927SAndroid Build Coastguard Worker     OpenCLstd_Clz = 151,
329*61046927SAndroid Build Coastguard Worker     OpenCLstd_Ctz = 152,
330*61046927SAndroid Build Coastguard Worker     OpenCLstd_SMad_hi = 153,
331*61046927SAndroid Build Coastguard Worker     OpenCLstd_UMad_sat = 154,
332*61046927SAndroid Build Coastguard Worker     OpenCLstd_SMad_sat = 155,
333*61046927SAndroid Build Coastguard Worker     OpenCLstd_SMax = 156,
334*61046927SAndroid Build Coastguard Worker     OpenCLstd_UMax = 157,
335*61046927SAndroid Build Coastguard Worker     OpenCLstd_SMin = 158,
336*61046927SAndroid Build Coastguard Worker     OpenCLstd_UMin = 159,
337*61046927SAndroid Build Coastguard Worker     OpenCLstd_SMul_hi = 160,
338*61046927SAndroid Build Coastguard Worker     OpenCLstd_Rotate = 161,
339*61046927SAndroid Build Coastguard Worker     OpenCLstd_SSub_sat = 162,
340*61046927SAndroid Build Coastguard Worker     OpenCLstd_USub_sat = 163,
341*61046927SAndroid Build Coastguard Worker     OpenCLstd_U_Upsample = 164,
342*61046927SAndroid Build Coastguard Worker     OpenCLstd_S_Upsample = 165,
343*61046927SAndroid Build Coastguard Worker     OpenCLstd_Popcount = 166,
344*61046927SAndroid Build Coastguard Worker     OpenCLstd_SMad24 = 167,
345*61046927SAndroid Build Coastguard Worker     OpenCLstd_UMad24 = 168,
346*61046927SAndroid Build Coastguard Worker     OpenCLstd_SMul24 = 169,
347*61046927SAndroid Build Coastguard Worker     OpenCLstd_UMul24 = 170,
348*61046927SAndroid Build Coastguard Worker     OpenCLstd_UAbs = 201,
349*61046927SAndroid Build Coastguard Worker     OpenCLstd_UAbs_diff = 202,
350*61046927SAndroid Build Coastguard Worker     OpenCLstd_UMul_hi = 203,
351*61046927SAndroid Build Coastguard Worker     OpenCLstd_UMad_hi = 204,
352*61046927SAndroid Build Coastguard Worker 
353*61046927SAndroid Build Coastguard Worker     // Section 2.3: Common instructions
354*61046927SAndroid Build Coastguard Worker     OpenCLstd_FClamp = 95,
355*61046927SAndroid Build Coastguard Worker     OpenCLstd_Degrees = 96,
356*61046927SAndroid Build Coastguard Worker     OpenCLstd_FMax_common = 97,
357*61046927SAndroid Build Coastguard Worker     OpenCLstd_FMin_common = 98,
358*61046927SAndroid Build Coastguard Worker     OpenCLstd_Mix = 99,
359*61046927SAndroid Build Coastguard Worker     OpenCLstd_Radians = 100,
360*61046927SAndroid Build Coastguard Worker     OpenCLstd_Step = 101,
361*61046927SAndroid Build Coastguard Worker     OpenCLstd_Smoothstep = 102,
362*61046927SAndroid Build Coastguard Worker     OpenCLstd_Sign = 103,
363*61046927SAndroid Build Coastguard Worker 
364*61046927SAndroid Build Coastguard Worker     // Section 2.4: Geometric instructions
365*61046927SAndroid Build Coastguard Worker     OpenCLstd_Cross = 104,
366*61046927SAndroid Build Coastguard Worker     OpenCLstd_Distance = 105,
367*61046927SAndroid Build Coastguard Worker     OpenCLstd_Length = 106,
368*61046927SAndroid Build Coastguard Worker     OpenCLstd_Normalize = 107,
369*61046927SAndroid Build Coastguard Worker     OpenCLstd_Fast_distance = 108,
370*61046927SAndroid Build Coastguard Worker     OpenCLstd_Fast_length = 109,
371*61046927SAndroid Build Coastguard Worker     OpenCLstd_Fast_normalize = 110,
372*61046927SAndroid Build Coastguard Worker 
373*61046927SAndroid Build Coastguard Worker     // Section 2.5: Relational instructions
374*61046927SAndroid Build Coastguard Worker     OpenCLstd_Bitselect = 186,
375*61046927SAndroid Build Coastguard Worker     OpenCLstd_Select = 187,
376*61046927SAndroid Build Coastguard Worker 
377*61046927SAndroid Build Coastguard Worker     // Section 2.6: Vector Data Load and Store instructions
378*61046927SAndroid Build Coastguard Worker     OpenCLstd_Vloadn = 171,
379*61046927SAndroid Build Coastguard Worker     OpenCLstd_Vstoren = 172,
380*61046927SAndroid Build Coastguard Worker     OpenCLstd_Vload_half = 173,
381*61046927SAndroid Build Coastguard Worker     OpenCLstd_Vload_halfn = 174,
382*61046927SAndroid Build Coastguard Worker     OpenCLstd_Vstore_half = 175,
383*61046927SAndroid Build Coastguard Worker     OpenCLstd_Vstore_half_r = 176,
384*61046927SAndroid Build Coastguard Worker     OpenCLstd_Vstore_halfn = 177,
385*61046927SAndroid Build Coastguard Worker     OpenCLstd_Vstore_halfn_r = 178,
386*61046927SAndroid Build Coastguard Worker     OpenCLstd_Vloada_halfn = 179,
387*61046927SAndroid Build Coastguard Worker     OpenCLstd_Vstorea_halfn = 180,
388*61046927SAndroid Build Coastguard Worker     OpenCLstd_Vstorea_halfn_r = 181,
389*61046927SAndroid Build Coastguard Worker 
390*61046927SAndroid Build Coastguard Worker     // Section 2.7: Miscellaneous Vector instructions
391*61046927SAndroid Build Coastguard Worker     OpenCLstd_Shuffle = 182,
392*61046927SAndroid Build Coastguard Worker     OpenCLstd_Shuffle2 = 183,
393*61046927SAndroid Build Coastguard Worker 
394*61046927SAndroid Build Coastguard Worker     // Section 2.8: Misc instructions
395*61046927SAndroid Build Coastguard Worker     OpenCLstd_Printf = 184,
396*61046927SAndroid Build Coastguard Worker     OpenCLstd_Prefetch = 185,
397*61046927SAndroid Build Coastguard Worker };
398*61046927SAndroid Build Coastguard Worker 
399*61046927SAndroid Build Coastguard Worker #endif
400*61046927SAndroid Build Coastguard Worker 
401*61046927SAndroid Build Coastguard Worker #endif  // #ifndef OPENCLstd_H
402