1
2 /* autogenerated from gstgaudieffectsorc.orc */
3
4 #ifdef HAVE_CONFIG_H
5 #include "config.h"
6 #endif
7 #include <glib.h>
8
9 #ifndef _ORC_INTEGER_TYPEDEFS_
10 #define _ORC_INTEGER_TYPEDEFS_
11 #if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
12 #include <stdint.h>
13 typedef int8_t orc_int8;
14 typedef int16_t orc_int16;
15 typedef int32_t orc_int32;
16 typedef int64_t orc_int64;
17 typedef uint8_t orc_uint8;
18 typedef uint16_t orc_uint16;
19 typedef uint32_t orc_uint32;
20 typedef uint64_t orc_uint64;
21 #define ORC_UINT64_C(x) UINT64_C(x)
22 #elif defined(_MSC_VER)
23 typedef signed __int8 orc_int8;
24 typedef signed __int16 orc_int16;
25 typedef signed __int32 orc_int32;
26 typedef signed __int64 orc_int64;
27 typedef unsigned __int8 orc_uint8;
28 typedef unsigned __int16 orc_uint16;
29 typedef unsigned __int32 orc_uint32;
30 typedef unsigned __int64 orc_uint64;
31 #define ORC_UINT64_C(x) (x##Ui64)
32 #define inline __inline
33 #else
34 #include <limits.h>
35 typedef signed char orc_int8;
36 typedef short orc_int16;
37 typedef int orc_int32;
38 typedef unsigned char orc_uint8;
39 typedef unsigned short orc_uint16;
40 typedef unsigned int orc_uint32;
41 #if INT_MAX == LONG_MAX
42 typedef long long orc_int64;
43 typedef unsigned long long orc_uint64;
44 #define ORC_UINT64_C(x) (x##ULL)
45 #else
46 typedef long orc_int64;
47 typedef unsigned long orc_uint64;
48 #define ORC_UINT64_C(x) (x##UL)
49 #endif
50 #endif
51 typedef union
52 {
53 orc_int16 i;
54 orc_int8 x2[2];
55 } orc_union16;
56 typedef union
57 {
58 orc_int32 i;
59 float f;
60 orc_int16 x2[2];
61 orc_int8 x4[4];
62 } orc_union32;
63 typedef union
64 {
65 orc_int64 i;
66 double f;
67 orc_int32 x2[2];
68 float x2f[2];
69 orc_int16 x4[4];
70 } orc_union64;
71 #endif
72 #ifndef ORC_RESTRICT
73 #if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
74 #define ORC_RESTRICT restrict
75 #elif defined(__GNUC__) && __GNUC__ >= 4
76 #define ORC_RESTRICT __restrict__
77 #else
78 #define ORC_RESTRICT
79 #endif
80 #endif
81
82 #ifndef ORC_INTERNAL
83 #if defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590)
84 #define ORC_INTERNAL __attribute__((visibility("hidden")))
85 #elif defined(__SUNPRO_C) && (__SUNPRO_C >= 0x550)
86 #define ORC_INTERNAL __hidden
87 #elif defined (__GNUC__)
88 #define ORC_INTERNAL __attribute__((visibility("hidden")))
89 #else
90 #define ORC_INTERNAL
91 #endif
92 #endif
93
94
95 #ifndef DISABLE_ORC
96 #include <orc/orc.h>
97 #endif
98 void gaudi_orc_burn (guint32 * ORC_RESTRICT d1, const guint32 * ORC_RESTRICT s1,
99 int p1, int n);
100
101
102 /* begin Orc C target preamble */
103 #define ORC_CLAMP(x,a,b) ((x)<(a) ? (a) : ((x)>(b) ? (b) : (x)))
104 #define ORC_ABS(a) ((a)<0 ? -(a) : (a))
105 #define ORC_MIN(a,b) ((a)<(b) ? (a) : (b))
106 #define ORC_MAX(a,b) ((a)>(b) ? (a) : (b))
107 #define ORC_SB_MAX 127
108 #define ORC_SB_MIN (-1-ORC_SB_MAX)
109 #define ORC_UB_MAX (orc_uint8) 255
110 #define ORC_UB_MIN 0
111 #define ORC_SW_MAX 32767
112 #define ORC_SW_MIN (-1-ORC_SW_MAX)
113 #define ORC_UW_MAX (orc_uint16)65535
114 #define ORC_UW_MIN 0
115 #define ORC_SL_MAX 2147483647
116 #define ORC_SL_MIN (-1-ORC_SL_MAX)
117 #define ORC_UL_MAX 4294967295U
118 #define ORC_UL_MIN 0
119 #define ORC_CLAMP_SB(x) ORC_CLAMP(x,ORC_SB_MIN,ORC_SB_MAX)
120 #define ORC_CLAMP_UB(x) ORC_CLAMP(x,ORC_UB_MIN,ORC_UB_MAX)
121 #define ORC_CLAMP_SW(x) ORC_CLAMP(x,ORC_SW_MIN,ORC_SW_MAX)
122 #define ORC_CLAMP_UW(x) ORC_CLAMP(x,ORC_UW_MIN,ORC_UW_MAX)
123 #define ORC_CLAMP_SL(x) ORC_CLAMP(x,ORC_SL_MIN,ORC_SL_MAX)
124 #define ORC_CLAMP_UL(x) ORC_CLAMP(x,ORC_UL_MIN,ORC_UL_MAX)
125 #define ORC_SWAP_W(x) ((((x)&0xffU)<<8) | (((x)&0xff00U)>>8))
126 #define ORC_SWAP_L(x) ((((x)&0xffU)<<24) | (((x)&0xff00U)<<8) | (((x)&0xff0000U)>>8) | (((x)&0xff000000U)>>24))
127 #define ORC_SWAP_Q(x) ((((x)&ORC_UINT64_C(0xff))<<56) | (((x)&ORC_UINT64_C(0xff00))<<40) | (((x)&ORC_UINT64_C(0xff0000))<<24) | (((x)&ORC_UINT64_C(0xff000000))<<8) | (((x)&ORC_UINT64_C(0xff00000000))>>8) | (((x)&ORC_UINT64_C(0xff0000000000))>>24) | (((x)&ORC_UINT64_C(0xff000000000000))>>40) | (((x)&ORC_UINT64_C(0xff00000000000000))>>56))
128 #define ORC_PTR_OFFSET(ptr,offset) ((void *)(((unsigned char *)(ptr)) + (offset)))
129 #define ORC_DENORMAL(x) ((x) & ((((x)&0x7f800000) == 0) ? 0xff800000 : 0xffffffff))
130 #define ORC_ISNAN(x) ((((x)&0x7f800000) == 0x7f800000) && (((x)&0x007fffff) != 0))
131 #define ORC_DENORMAL_DOUBLE(x) ((x) & ((((x)&ORC_UINT64_C(0x7ff0000000000000)) == 0) ? ORC_UINT64_C(0xfff0000000000000) : ORC_UINT64_C(0xffffffffffffffff)))
132 #define ORC_ISNAN_DOUBLE(x) ((((x)&ORC_UINT64_C(0x7ff0000000000000)) == ORC_UINT64_C(0x7ff0000000000000)) && (((x)&ORC_UINT64_C(0x000fffffffffffff)) != 0))
133 #ifndef ORC_RESTRICT
134 #if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
135 #define ORC_RESTRICT restrict
136 #elif defined(__GNUC__) && __GNUC__ >= 4
137 #define ORC_RESTRICT __restrict__
138 #else
139 #define ORC_RESTRICT
140 #endif
141 #endif
142 /* end Orc C target preamble */
143
144
145
146 /* gaudi_orc_burn */
147 #ifdef DISABLE_ORC
148 void
gaudi_orc_burn(guint32 * ORC_RESTRICT d1,const guint32 * ORC_RESTRICT s1,int p1,int n)149 gaudi_orc_burn (guint32 * ORC_RESTRICT d1, const guint32 * ORC_RESTRICT s1,
150 int p1, int n)
151 {
152 int i;
153 orc_union32 *ORC_RESTRICT ptr0;
154 const orc_union32 *ORC_RESTRICT ptr4;
155 orc_union32 var35;
156 orc_union64 var36;
157 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
158 volatile orc_union32 var37;
159 #else
160 orc_union32 var37;
161 #endif
162 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
163 volatile orc_union64 var38;
164 #else
165 orc_union64 var38;
166 #endif
167 orc_union32 var39;
168 orc_union64 var40;
169 orc_union64 var41;
170 orc_union64 var42;
171 orc_union32 var43;
172 orc_union64 var44;
173 orc_union64 var45;
174 orc_union64 var46;
175 orc_union64 var47;
176 orc_union32 var48;
177
178 ptr0 = (orc_union32 *) d1;
179 ptr4 = (orc_union32 *) s1;
180
181 /* 3: loadpw */
182 var36.x4[0] = p1;
183 var36.x4[1] = p1;
184 var36.x4[2] = p1;
185 var36.x4[3] = p1;
186 /* 6: loadpb */
187 var37.x4[0] = 0x000000ff; /* 255 or 1.25987e-321f */
188 var37.x4[1] = 0x000000ff; /* 255 or 1.25987e-321f */
189 var37.x4[2] = 0x000000ff; /* 255 or 1.25987e-321f */
190 var37.x4[3] = 0x000000ff; /* 255 or 1.25987e-321f */
191 /* 11: loadpw */
192 var38.x4[0] = 0x000000ff; /* 255 or 1.25987e-321f */
193 var38.x4[1] = 0x000000ff; /* 255 or 1.25987e-321f */
194 var38.x4[2] = 0x000000ff; /* 255 or 1.25987e-321f */
195 var38.x4[3] = 0x000000ff; /* 255 or 1.25987e-321f */
196
197 for (i = 0; i < n; i++) {
198 /* 0: loadl */
199 var35 = ptr4[i];
200 /* 1: copyb */
201 var39.x4[0] = var35.x4[0];
202 var39.x4[1] = var35.x4[1];
203 var39.x4[2] = var35.x4[2];
204 var39.x4[3] = var35.x4[3];
205 /* 2: convubw */
206 var40.x4[0] = (orc_uint8) var39.x4[0];
207 var40.x4[1] = (orc_uint8) var39.x4[1];
208 var40.x4[2] = (orc_uint8) var39.x4[2];
209 var40.x4[3] = (orc_uint8) var39.x4[3];
210 /* 4: addw */
211 var41.x4[0] = var40.x4[0] + var36.x4[0];
212 var41.x4[1] = var40.x4[1] + var36.x4[1];
213 var41.x4[2] = var40.x4[2] + var36.x4[2];
214 var41.x4[3] = var40.x4[3] + var36.x4[3];
215 /* 5: shruw */
216 var42.x4[0] = ((orc_uint16) var41.x4[0]) >> 1;
217 var42.x4[1] = ((orc_uint16) var41.x4[1]) >> 1;
218 var42.x4[2] = ((orc_uint16) var41.x4[2]) >> 1;
219 var42.x4[3] = ((orc_uint16) var41.x4[3]) >> 1;
220 /* 7: subb */
221 var43.x4[0] = var37.x4[0] - var39.x4[0];
222 var43.x4[1] = var37.x4[1] - var39.x4[1];
223 var43.x4[2] = var37.x4[2] - var39.x4[2];
224 var43.x4[3] = var37.x4[3] - var39.x4[3];
225 /* 8: convubw */
226 var44.x4[0] = (orc_uint8) var43.x4[0];
227 var44.x4[1] = (orc_uint8) var43.x4[1];
228 var44.x4[2] = (orc_uint8) var43.x4[2];
229 var44.x4[3] = (orc_uint8) var43.x4[3];
230 /* 9: shlw */
231 var45.x4[0] = ((orc_uint16) var44.x4[0]) << 7;
232 var45.x4[1] = ((orc_uint16) var44.x4[1]) << 7;
233 var45.x4[2] = ((orc_uint16) var44.x4[2]) << 7;
234 var45.x4[3] = ((orc_uint16) var44.x4[3]) << 7;
235 /* 10: divluw */
236 var46.x4[0] =
237 ((var42.x4[0] & 0xff) ==
238 0) ? 255 : ORC_CLAMP_UB (((orc_uint16) var45.x4[0]) /
239 ((orc_uint16) var42.x4[0] & 0xff));
240 var46.x4[1] =
241 ((var42.x4[1] & 0xff) ==
242 0) ? 255 : ORC_CLAMP_UB (((orc_uint16) var45.x4[1]) /
243 ((orc_uint16) var42.x4[1] & 0xff));
244 var46.x4[2] =
245 ((var42.x4[2] & 0xff) ==
246 0) ? 255 : ORC_CLAMP_UB (((orc_uint16) var45.x4[2]) /
247 ((orc_uint16) var42.x4[2] & 0xff));
248 var46.x4[3] =
249 ((var42.x4[3] & 0xff) ==
250 0) ? 255 : ORC_CLAMP_UB (((orc_uint16) var45.x4[3]) /
251 ((orc_uint16) var42.x4[3] & 0xff));
252 /* 12: subw */
253 var47.x4[0] = var38.x4[0] - var46.x4[0];
254 var47.x4[1] = var38.x4[1] - var46.x4[1];
255 var47.x4[2] = var38.x4[2] - var46.x4[2];
256 var47.x4[3] = var38.x4[3] - var46.x4[3];
257 /* 13: convwb */
258 var48.x4[0] = var47.x4[0];
259 var48.x4[1] = var47.x4[1];
260 var48.x4[2] = var47.x4[2];
261 var48.x4[3] = var47.x4[3];
262 /* 14: storel */
263 ptr0[i] = var48;
264 }
265
266 }
267
268 #else
269 static void
_backup_gaudi_orc_burn(OrcExecutor * ORC_RESTRICT ex)270 _backup_gaudi_orc_burn (OrcExecutor * ORC_RESTRICT ex)
271 {
272 int i;
273 int n = ex->n;
274 orc_union32 *ORC_RESTRICT ptr0;
275 const orc_union32 *ORC_RESTRICT ptr4;
276 orc_union32 var35;
277 orc_union64 var36;
278 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
279 volatile orc_union32 var37;
280 #else
281 orc_union32 var37;
282 #endif
283 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
284 volatile orc_union64 var38;
285 #else
286 orc_union64 var38;
287 #endif
288 orc_union32 var39;
289 orc_union64 var40;
290 orc_union64 var41;
291 orc_union64 var42;
292 orc_union32 var43;
293 orc_union64 var44;
294 orc_union64 var45;
295 orc_union64 var46;
296 orc_union64 var47;
297 orc_union32 var48;
298
299 ptr0 = (orc_union32 *) ex->arrays[0];
300 ptr4 = (orc_union32 *) ex->arrays[4];
301
302 /* 3: loadpw */
303 var36.x4[0] = ex->params[24];
304 var36.x4[1] = ex->params[24];
305 var36.x4[2] = ex->params[24];
306 var36.x4[3] = ex->params[24];
307 /* 6: loadpb */
308 var37.x4[0] = 0x000000ff; /* 255 or 1.25987e-321f */
309 var37.x4[1] = 0x000000ff; /* 255 or 1.25987e-321f */
310 var37.x4[2] = 0x000000ff; /* 255 or 1.25987e-321f */
311 var37.x4[3] = 0x000000ff; /* 255 or 1.25987e-321f */
312 /* 11: loadpw */
313 var38.x4[0] = 0x000000ff; /* 255 or 1.25987e-321f */
314 var38.x4[1] = 0x000000ff; /* 255 or 1.25987e-321f */
315 var38.x4[2] = 0x000000ff; /* 255 or 1.25987e-321f */
316 var38.x4[3] = 0x000000ff; /* 255 or 1.25987e-321f */
317
318 for (i = 0; i < n; i++) {
319 /* 0: loadl */
320 var35 = ptr4[i];
321 /* 1: copyb */
322 var39.x4[0] = var35.x4[0];
323 var39.x4[1] = var35.x4[1];
324 var39.x4[2] = var35.x4[2];
325 var39.x4[3] = var35.x4[3];
326 /* 2: convubw */
327 var40.x4[0] = (orc_uint8) var39.x4[0];
328 var40.x4[1] = (orc_uint8) var39.x4[1];
329 var40.x4[2] = (orc_uint8) var39.x4[2];
330 var40.x4[3] = (orc_uint8) var39.x4[3];
331 /* 4: addw */
332 var41.x4[0] = var40.x4[0] + var36.x4[0];
333 var41.x4[1] = var40.x4[1] + var36.x4[1];
334 var41.x4[2] = var40.x4[2] + var36.x4[2];
335 var41.x4[3] = var40.x4[3] + var36.x4[3];
336 /* 5: shruw */
337 var42.x4[0] = ((orc_uint16) var41.x4[0]) >> 1;
338 var42.x4[1] = ((orc_uint16) var41.x4[1]) >> 1;
339 var42.x4[2] = ((orc_uint16) var41.x4[2]) >> 1;
340 var42.x4[3] = ((orc_uint16) var41.x4[3]) >> 1;
341 /* 7: subb */
342 var43.x4[0] = var37.x4[0] - var39.x4[0];
343 var43.x4[1] = var37.x4[1] - var39.x4[1];
344 var43.x4[2] = var37.x4[2] - var39.x4[2];
345 var43.x4[3] = var37.x4[3] - var39.x4[3];
346 /* 8: convubw */
347 var44.x4[0] = (orc_uint8) var43.x4[0];
348 var44.x4[1] = (orc_uint8) var43.x4[1];
349 var44.x4[2] = (orc_uint8) var43.x4[2];
350 var44.x4[3] = (orc_uint8) var43.x4[3];
351 /* 9: shlw */
352 var45.x4[0] = ((orc_uint16) var44.x4[0]) << 7;
353 var45.x4[1] = ((orc_uint16) var44.x4[1]) << 7;
354 var45.x4[2] = ((orc_uint16) var44.x4[2]) << 7;
355 var45.x4[3] = ((orc_uint16) var44.x4[3]) << 7;
356 /* 10: divluw */
357 var46.x4[0] =
358 ((var42.x4[0] & 0xff) ==
359 0) ? 255 : ORC_CLAMP_UB (((orc_uint16) var45.x4[0]) /
360 ((orc_uint16) var42.x4[0] & 0xff));
361 var46.x4[1] =
362 ((var42.x4[1] & 0xff) ==
363 0) ? 255 : ORC_CLAMP_UB (((orc_uint16) var45.x4[1]) /
364 ((orc_uint16) var42.x4[1] & 0xff));
365 var46.x4[2] =
366 ((var42.x4[2] & 0xff) ==
367 0) ? 255 : ORC_CLAMP_UB (((orc_uint16) var45.x4[2]) /
368 ((orc_uint16) var42.x4[2] & 0xff));
369 var46.x4[3] =
370 ((var42.x4[3] & 0xff) ==
371 0) ? 255 : ORC_CLAMP_UB (((orc_uint16) var45.x4[3]) /
372 ((orc_uint16) var42.x4[3] & 0xff));
373 /* 12: subw */
374 var47.x4[0] = var38.x4[0] - var46.x4[0];
375 var47.x4[1] = var38.x4[1] - var46.x4[1];
376 var47.x4[2] = var38.x4[2] - var46.x4[2];
377 var47.x4[3] = var38.x4[3] - var46.x4[3];
378 /* 13: convwb */
379 var48.x4[0] = var47.x4[0];
380 var48.x4[1] = var47.x4[1];
381 var48.x4[2] = var47.x4[2];
382 var48.x4[3] = var47.x4[3];
383 /* 14: storel */
384 ptr0[i] = var48;
385 }
386
387 }
388
389 void
gaudi_orc_burn(guint32 * ORC_RESTRICT d1,const guint32 * ORC_RESTRICT s1,int p1,int n)390 gaudi_orc_burn (guint32 * ORC_RESTRICT d1, const guint32 * ORC_RESTRICT s1,
391 int p1, int n)
392 {
393 OrcExecutor _ex, *ex = &_ex;
394 static volatile int p_inited = 0;
395 static OrcCode *c = 0;
396 void (*func) (OrcExecutor *);
397
398 if (!p_inited) {
399 orc_once_mutex_lock ();
400 if (!p_inited) {
401 OrcProgram *p;
402
403 #if 1
404 static const orc_uint8 bc[] = {
405 1, 9, 14, 103, 97, 117, 100, 105, 95, 111, 114, 99, 95, 98, 117, 114,
406 110, 11, 4, 4, 12, 4, 4, 14, 1, 255, 0, 0, 0, 14, 1, 7,
407 0, 0, 0, 14, 1, 1, 0, 0, 0, 16, 4, 20, 4, 20, 8, 20,
408 8, 21, 2, 42, 32, 4, 21, 2, 150, 33, 32, 21, 2, 70, 34, 33,
409 24, 21, 2, 95, 34, 34, 18, 21, 2, 65, 32, 16, 32, 21, 2, 150,
410 33, 32, 21, 2, 93, 33, 33, 17, 21, 2, 81, 33, 33, 34, 21, 2,
411 98, 33, 16, 33, 21, 2, 157, 32, 33, 128, 0, 32, 2, 0,
412 };
413 p = orc_program_new_from_static_bytecode (bc);
414 orc_program_set_backup_function (p, _backup_gaudi_orc_burn);
415 #else
416 p = orc_program_new ();
417 orc_program_set_name (p, "gaudi_orc_burn");
418 orc_program_set_backup_function (p, _backup_gaudi_orc_burn);
419 orc_program_add_destination (p, 4, "d1");
420 orc_program_add_source (p, 4, "s1");
421 orc_program_add_constant (p, 1, 0x000000ff, "c1");
422 orc_program_add_constant (p, 1, 0x00000007, "c2");
423 orc_program_add_constant (p, 1, 0x00000001, "c3");
424 orc_program_add_parameter (p, 4, "p1");
425 orc_program_add_temporary (p, 4, "t1");
426 orc_program_add_temporary (p, 8, "t2");
427 orc_program_add_temporary (p, 8, "t3");
428
429 orc_program_append_2 (p, "copyb", 2, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
430 ORC_VAR_D1);
431 orc_program_append_2 (p, "convubw", 2, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_D1,
432 ORC_VAR_D1);
433 orc_program_append_2 (p, "addw", 2, ORC_VAR_T3, ORC_VAR_T2, ORC_VAR_P1,
434 ORC_VAR_D1);
435 orc_program_append_2 (p, "shruw", 2, ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_C3,
436 ORC_VAR_D1);
437 orc_program_append_2 (p, "subb", 2, ORC_VAR_T1, ORC_VAR_C1, ORC_VAR_T1,
438 ORC_VAR_D1);
439 orc_program_append_2 (p, "convubw", 2, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_D1,
440 ORC_VAR_D1);
441 orc_program_append_2 (p, "shlw", 2, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_C2,
442 ORC_VAR_D1);
443 orc_program_append_2 (p, "divluw", 2, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_T3,
444 ORC_VAR_D1);
445 orc_program_append_2 (p, "subw", 2, ORC_VAR_T2, ORC_VAR_C1, ORC_VAR_T2,
446 ORC_VAR_D1);
447 orc_program_append_2 (p, "convwb", 2, ORC_VAR_T1, ORC_VAR_T2, ORC_VAR_D1,
448 ORC_VAR_D1);
449 orc_program_append_2 (p, "storel", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1,
450 ORC_VAR_D1);
451 #endif
452
453 orc_program_compile (p);
454 c = orc_program_take_code (p);
455 orc_program_free (p);
456 }
457 p_inited = TRUE;
458 orc_once_mutex_unlock ();
459 }
460 ex->arrays[ORC_VAR_A2] = c;
461 ex->program = 0;
462
463 ex->n = n;
464 ex->arrays[ORC_VAR_D1] = d1;
465 ex->arrays[ORC_VAR_S1] = (void *) s1;
466 ex->params[ORC_VAR_P1] = p1;
467
468 func = c->exec;
469 func (ex);
470 }
471 #endif
472