Release 1.1.1
[platform/upstream/gstreamer.git] / gst-libs / gst / audio / gstaudiopack-dist.c
1
2 /* autogenerated from gstaudiopack.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 audio_orc_unpack_u8 (gint32 * ORC_RESTRICT d1,
99     const guint8 * ORC_RESTRICT s1, int n);
100 void audio_orc_unpack_s8 (gint32 * ORC_RESTRICT d1,
101     const guint8 * ORC_RESTRICT s1, int n);
102 void audio_orc_unpack_u16 (gint32 * ORC_RESTRICT d1,
103     const guint8 * ORC_RESTRICT s1, int n);
104 void audio_orc_unpack_s16 (gint32 * ORC_RESTRICT d1,
105     const guint8 * ORC_RESTRICT s1, int n);
106 void audio_orc_unpack_u16_swap (gint32 * ORC_RESTRICT d1,
107     const guint8 * ORC_RESTRICT s1, int n);
108 void audio_orc_unpack_s16_swap (gint32 * ORC_RESTRICT d1,
109     const guint8 * ORC_RESTRICT s1, int n);
110 void audio_orc_unpack_u24_32 (gint32 * ORC_RESTRICT d1,
111     const guint8 * ORC_RESTRICT s1, int n);
112 void audio_orc_unpack_s24_32 (gint32 * ORC_RESTRICT d1,
113     const guint8 * ORC_RESTRICT s1, int n);
114 void audio_orc_unpack_u24_32_swap (gint32 * ORC_RESTRICT d1,
115     const guint8 * ORC_RESTRICT s1, int n);
116 void audio_orc_unpack_s24_32_swap (gint32 * ORC_RESTRICT d1,
117     const guint8 * ORC_RESTRICT s1, int n);
118 void audio_orc_unpack_u32 (gint32 * ORC_RESTRICT d1,
119     const guint8 * ORC_RESTRICT s1, int n);
120 void audio_orc_unpack_u32_swap (gint32 * ORC_RESTRICT d1,
121     const guint8 * ORC_RESTRICT s1, int n);
122 void audio_orc_unpack_s32 (gint32 * ORC_RESTRICT d1,
123     const guint8 * ORC_RESTRICT s1, int n);
124 void audio_orc_unpack_s32_swap (gint32 * ORC_RESTRICT d1,
125     const guint8 * ORC_RESTRICT s1, int n);
126 void audio_orc_unpack_f32 (gdouble * ORC_RESTRICT d1,
127     const gfloat * ORC_RESTRICT s1, int n);
128 void audio_orc_unpack_f32_swap (gdouble * ORC_RESTRICT d1,
129     const gfloat * ORC_RESTRICT s1, int n);
130 void audio_orc_unpack_f64 (gdouble * ORC_RESTRICT d1,
131     const gdouble * ORC_RESTRICT s1, int n);
132 void audio_orc_unpack_f64_swap (gdouble * ORC_RESTRICT d1,
133     const gdouble * ORC_RESTRICT s1, int n);
134 void audio_orc_pack_u8 (guint8 * ORC_RESTRICT d1,
135     const gint32 * ORC_RESTRICT s1, int n);
136 void audio_orc_pack_s8 (guint8 * ORC_RESTRICT d1,
137     const gint32 * ORC_RESTRICT s1, int n);
138 void audio_orc_pack_u16 (guint8 * ORC_RESTRICT d1,
139     const gint32 * ORC_RESTRICT s1, int n);
140 void audio_orc_pack_s16 (guint8 * ORC_RESTRICT d1,
141     const gint32 * ORC_RESTRICT s1, int n);
142 void audio_orc_pack_u16_swap (guint8 * ORC_RESTRICT d1,
143     const gint32 * ORC_RESTRICT s1, int n);
144 void audio_orc_pack_s16_swap (guint8 * ORC_RESTRICT d1,
145     const gint32 * ORC_RESTRICT s1, int n);
146 void audio_orc_pack_u24_32 (guint8 * ORC_RESTRICT d1,
147     const gint32 * ORC_RESTRICT s1, int n);
148 void audio_orc_pack_s24_32 (guint8 * ORC_RESTRICT d1,
149     const gint32 * ORC_RESTRICT s1, int n);
150 void audio_orc_pack_u24_32_swap (guint8 * ORC_RESTRICT d1,
151     const gint32 * ORC_RESTRICT s1, int n);
152 void audio_orc_pack_s24_32_swap (guint8 * ORC_RESTRICT d1,
153     const gint32 * ORC_RESTRICT s1, int n);
154 void audio_orc_pack_u32 (guint8 * ORC_RESTRICT d1,
155     const gint32 * ORC_RESTRICT s1, int n);
156 void audio_orc_pack_s32 (guint8 * ORC_RESTRICT d1,
157     const gint32 * ORC_RESTRICT s1, int n);
158 void audio_orc_pack_u32_swap (guint8 * ORC_RESTRICT d1,
159     const gint32 * ORC_RESTRICT s1, int n);
160 void audio_orc_pack_s32_swap (guint8 * ORC_RESTRICT d1,
161     const gint32 * ORC_RESTRICT s1, int n);
162 void audio_orc_pack_f32 (gfloat * ORC_RESTRICT d1,
163     const gdouble * ORC_RESTRICT s1, int n);
164 void audio_orc_pack_f32_swap (gfloat * ORC_RESTRICT d1,
165     const gdouble * ORC_RESTRICT s1, int n);
166 void audio_orc_pack_f64 (gdouble * ORC_RESTRICT d1,
167     const gdouble * ORC_RESTRICT s1, int n);
168 void audio_orc_pack_f64_swap (gdouble * ORC_RESTRICT d1,
169     const gdouble * ORC_RESTRICT s1, int n);
170
171
172 /* begin Orc C target preamble */
173 #define ORC_CLAMP(x,a,b) ((x)<(a) ? (a) : ((x)>(b) ? (b) : (x)))
174 #define ORC_ABS(a) ((a)<0 ? -(a) : (a))
175 #define ORC_MIN(a,b) ((a)<(b) ? (a) : (b))
176 #define ORC_MAX(a,b) ((a)>(b) ? (a) : (b))
177 #define ORC_SB_MAX 127
178 #define ORC_SB_MIN (-1-ORC_SB_MAX)
179 #define ORC_UB_MAX 255
180 #define ORC_UB_MIN 0
181 #define ORC_SW_MAX 32767
182 #define ORC_SW_MIN (-1-ORC_SW_MAX)
183 #define ORC_UW_MAX 65535
184 #define ORC_UW_MIN 0
185 #define ORC_SL_MAX 2147483647
186 #define ORC_SL_MIN (-1-ORC_SL_MAX)
187 #define ORC_UL_MAX 4294967295U
188 #define ORC_UL_MIN 0
189 #define ORC_CLAMP_SB(x) ORC_CLAMP(x,ORC_SB_MIN,ORC_SB_MAX)
190 #define ORC_CLAMP_UB(x) ORC_CLAMP(x,ORC_UB_MIN,ORC_UB_MAX)
191 #define ORC_CLAMP_SW(x) ORC_CLAMP(x,ORC_SW_MIN,ORC_SW_MAX)
192 #define ORC_CLAMP_UW(x) ORC_CLAMP(x,ORC_UW_MIN,ORC_UW_MAX)
193 #define ORC_CLAMP_SL(x) ORC_CLAMP(x,ORC_SL_MIN,ORC_SL_MAX)
194 #define ORC_CLAMP_UL(x) ORC_CLAMP(x,ORC_UL_MIN,ORC_UL_MAX)
195 #define ORC_SWAP_W(x) ((((x)&0xff)<<8) | (((x)&0xff00)>>8))
196 #define ORC_SWAP_L(x) ((((x)&0xff)<<24) | (((x)&0xff00)<<8) | (((x)&0xff0000)>>8) | (((x)&0xff000000)>>24))
197 #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))
198 #define ORC_PTR_OFFSET(ptr,offset) ((void *)(((unsigned char *)(ptr)) + (offset)))
199 #define ORC_DENORMAL(x) ((x) & ((((x)&0x7f800000) == 0) ? 0xff800000 : 0xffffffff))
200 #define ORC_ISNAN(x) ((((x)&0x7f800000) == 0x7f800000) && (((x)&0x007fffff) != 0))
201 #define ORC_DENORMAL_DOUBLE(x) ((x) & ((((x)&ORC_UINT64_C(0x7ff0000000000000)) == 0) ? ORC_UINT64_C(0xfff0000000000000) : ORC_UINT64_C(0xffffffffffffffff)))
202 #define ORC_ISNAN_DOUBLE(x) ((((x)&ORC_UINT64_C(0x7ff0000000000000)) == ORC_UINT64_C(0x7ff0000000000000)) && (((x)&ORC_UINT64_C(0x000fffffffffffff)) != 0))
203 #ifndef ORC_RESTRICT
204 #if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
205 #define ORC_RESTRICT restrict
206 #elif defined(__GNUC__) && __GNUC__ >= 4
207 #define ORC_RESTRICT __restrict__
208 #else
209 #define ORC_RESTRICT
210 #endif
211 #endif
212 /* end Orc C target preamble */
213
214
215
216 /* audio_orc_unpack_u8 */
217 #ifdef DISABLE_ORC
218 void
219 audio_orc_unpack_u8 (gint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
220     int n)
221 {
222   int i;
223   orc_union32 *ORC_RESTRICT ptr0;
224   const orc_int8 *ORC_RESTRICT ptr4;
225   orc_int8 var34;
226 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
227   volatile orc_union32 var35;
228 #else
229   orc_union32 var35;
230 #endif
231   orc_union32 var36;
232   orc_union16 var37;
233   orc_union32 var38;
234   orc_union32 var39;
235
236   ptr0 = (orc_union32 *) d1;
237   ptr4 = (orc_int8 *) s1;
238
239   /* 4: loadpl */
240   var35.i = (int) 0x80000000;   /* -2147483648 or 1.061e-314f */
241
242   for (i = 0; i < n; i++) {
243     /* 0: loadb */
244     var34 = ptr4[i];
245     /* 1: convubw */
246     var37.i = (orc_uint8) var34;
247     /* 2: convuwl */
248     var38.i = (orc_uint16) var37.i;
249     /* 3: shll */
250     var39.i = var38.i << 24;
251     /* 5: xorl */
252     var36.i = var39.i ^ var35.i;
253     /* 6: storel */
254     ptr0[i] = var36;
255   }
256
257 }
258
259 #else
260 static void
261 _backup_audio_orc_unpack_u8 (OrcExecutor * ORC_RESTRICT ex)
262 {
263   int i;
264   int n = ex->n;
265   orc_union32 *ORC_RESTRICT ptr0;
266   const orc_int8 *ORC_RESTRICT ptr4;
267   orc_int8 var34;
268 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
269   volatile orc_union32 var35;
270 #else
271   orc_union32 var35;
272 #endif
273   orc_union32 var36;
274   orc_union16 var37;
275   orc_union32 var38;
276   orc_union32 var39;
277
278   ptr0 = (orc_union32 *) ex->arrays[0];
279   ptr4 = (orc_int8 *) ex->arrays[4];
280
281   /* 4: loadpl */
282   var35.i = (int) 0x80000000;   /* -2147483648 or 1.061e-314f */
283
284   for (i = 0; i < n; i++) {
285     /* 0: loadb */
286     var34 = ptr4[i];
287     /* 1: convubw */
288     var37.i = (orc_uint8) var34;
289     /* 2: convuwl */
290     var38.i = (orc_uint16) var37.i;
291     /* 3: shll */
292     var39.i = var38.i << 24;
293     /* 5: xorl */
294     var36.i = var39.i ^ var35.i;
295     /* 6: storel */
296     ptr0[i] = var36;
297   }
298
299 }
300
301 void
302 audio_orc_unpack_u8 (gint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
303     int n)
304 {
305   OrcExecutor _ex, *ex = &_ex;
306   static volatile int p_inited = 0;
307   static OrcCode *c = 0;
308   void (*func) (OrcExecutor *);
309
310   if (!p_inited) {
311     orc_once_mutex_lock ();
312     if (!p_inited) {
313       OrcProgram *p;
314
315 #if 1
316       static const orc_uint8 bc[] = {
317         1, 9, 19, 97, 117, 100, 105, 111, 95, 111, 114, 99, 95, 117, 110, 112,
318         97, 99, 107, 95, 117, 56, 11, 4, 4, 12, 1, 1, 14, 4, 0, 0,
319         0, 128, 14, 4, 24, 0, 0, 0, 20, 2, 20, 4, 150, 32, 4, 154,
320         33, 32, 124, 33, 33, 17, 132, 0, 33, 16, 2, 0,
321       };
322       p = orc_program_new_from_static_bytecode (bc);
323       orc_program_set_backup_function (p, _backup_audio_orc_unpack_u8);
324 #else
325       p = orc_program_new ();
326       orc_program_set_name (p, "audio_orc_unpack_u8");
327       orc_program_set_backup_function (p, _backup_audio_orc_unpack_u8);
328       orc_program_add_destination (p, 4, "d1");
329       orc_program_add_source (p, 1, "s1");
330       orc_program_add_constant (p, 4, 0x80000000, "c1");
331       orc_program_add_constant (p, 4, 0x00000018, "c2");
332       orc_program_add_temporary (p, 2, "t1");
333       orc_program_add_temporary (p, 4, "t2");
334
335       orc_program_append_2 (p, "convubw", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
336           ORC_VAR_D1);
337       orc_program_append_2 (p, "convuwl", 0, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_D1,
338           ORC_VAR_D1);
339       orc_program_append_2 (p, "shll", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_C2,
340           ORC_VAR_D1);
341       orc_program_append_2 (p, "xorl", 0, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_C1,
342           ORC_VAR_D1);
343 #endif
344
345       orc_program_compile (p);
346       c = orc_program_take_code (p);
347       orc_program_free (p);
348     }
349     p_inited = TRUE;
350     orc_once_mutex_unlock ();
351   }
352   ex->arrays[ORC_VAR_A2] = c;
353   ex->program = 0;
354
355   ex->n = n;
356   ex->arrays[ORC_VAR_D1] = d1;
357   ex->arrays[ORC_VAR_S1] = (void *) s1;
358
359   func = c->exec;
360   func (ex);
361 }
362 #endif
363
364
365 /* audio_orc_unpack_s8 */
366 #ifdef DISABLE_ORC
367 void
368 audio_orc_unpack_s8 (gint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
369     int n)
370 {
371   int i;
372   orc_union32 *ORC_RESTRICT ptr0;
373   const orc_int8 *ORC_RESTRICT ptr4;
374   orc_int8 var34;
375   orc_union32 var35;
376   orc_union16 var36;
377   orc_union32 var37;
378
379   ptr0 = (orc_union32 *) d1;
380   ptr4 = (orc_int8 *) s1;
381
382
383   for (i = 0; i < n; i++) {
384     /* 0: loadb */
385     var34 = ptr4[i];
386     /* 1: convubw */
387     var36.i = (orc_uint8) var34;
388     /* 2: convuwl */
389     var37.i = (orc_uint16) var36.i;
390     /* 3: shll */
391     var35.i = var37.i << 24;
392     /* 4: storel */
393     ptr0[i] = var35;
394   }
395
396 }
397
398 #else
399 static void
400 _backup_audio_orc_unpack_s8 (OrcExecutor * ORC_RESTRICT ex)
401 {
402   int i;
403   int n = ex->n;
404   orc_union32 *ORC_RESTRICT ptr0;
405   const orc_int8 *ORC_RESTRICT ptr4;
406   orc_int8 var34;
407   orc_union32 var35;
408   orc_union16 var36;
409   orc_union32 var37;
410
411   ptr0 = (orc_union32 *) ex->arrays[0];
412   ptr4 = (orc_int8 *) ex->arrays[4];
413
414
415   for (i = 0; i < n; i++) {
416     /* 0: loadb */
417     var34 = ptr4[i];
418     /* 1: convubw */
419     var36.i = (orc_uint8) var34;
420     /* 2: convuwl */
421     var37.i = (orc_uint16) var36.i;
422     /* 3: shll */
423     var35.i = var37.i << 24;
424     /* 4: storel */
425     ptr0[i] = var35;
426   }
427
428 }
429
430 void
431 audio_orc_unpack_s8 (gint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
432     int n)
433 {
434   OrcExecutor _ex, *ex = &_ex;
435   static volatile int p_inited = 0;
436   static OrcCode *c = 0;
437   void (*func) (OrcExecutor *);
438
439   if (!p_inited) {
440     orc_once_mutex_lock ();
441     if (!p_inited) {
442       OrcProgram *p;
443
444 #if 1
445       static const orc_uint8 bc[] = {
446         1, 9, 19, 97, 117, 100, 105, 111, 95, 111, 114, 99, 95, 117, 110, 112,
447         97, 99, 107, 95, 115, 56, 11, 4, 4, 12, 1, 1, 14, 4, 24, 0,
448         0, 0, 20, 2, 20, 4, 150, 32, 4, 154, 33, 32, 124, 0, 33, 16,
449         2, 0,
450       };
451       p = orc_program_new_from_static_bytecode (bc);
452       orc_program_set_backup_function (p, _backup_audio_orc_unpack_s8);
453 #else
454       p = orc_program_new ();
455       orc_program_set_name (p, "audio_orc_unpack_s8");
456       orc_program_set_backup_function (p, _backup_audio_orc_unpack_s8);
457       orc_program_add_destination (p, 4, "d1");
458       orc_program_add_source (p, 1, "s1");
459       orc_program_add_constant (p, 4, 0x00000018, "c1");
460       orc_program_add_temporary (p, 2, "t1");
461       orc_program_add_temporary (p, 4, "t2");
462
463       orc_program_append_2 (p, "convubw", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
464           ORC_VAR_D1);
465       orc_program_append_2 (p, "convuwl", 0, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_D1,
466           ORC_VAR_D1);
467       orc_program_append_2 (p, "shll", 0, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_C1,
468           ORC_VAR_D1);
469 #endif
470
471       orc_program_compile (p);
472       c = orc_program_take_code (p);
473       orc_program_free (p);
474     }
475     p_inited = TRUE;
476     orc_once_mutex_unlock ();
477   }
478   ex->arrays[ORC_VAR_A2] = c;
479   ex->program = 0;
480
481   ex->n = n;
482   ex->arrays[ORC_VAR_D1] = d1;
483   ex->arrays[ORC_VAR_S1] = (void *) s1;
484
485   func = c->exec;
486   func (ex);
487 }
488 #endif
489
490
491 /* audio_orc_unpack_u16 */
492 #ifdef DISABLE_ORC
493 void
494 audio_orc_unpack_u16 (gint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
495     int n)
496 {
497   int i;
498   orc_union32 *ORC_RESTRICT ptr0;
499   const orc_union16 *ORC_RESTRICT ptr4;
500   orc_union16 var33;
501 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
502   volatile orc_union32 var34;
503 #else
504   orc_union32 var34;
505 #endif
506   orc_union32 var35;
507   orc_union32 var36;
508   orc_union32 var37;
509
510   ptr0 = (orc_union32 *) d1;
511   ptr4 = (orc_union16 *) s1;
512
513   /* 3: loadpl */
514   var34.i = (int) 0x80000000;   /* -2147483648 or 1.061e-314f */
515
516   for (i = 0; i < n; i++) {
517     /* 0: loadw */
518     var33 = ptr4[i];
519     /* 1: convuwl */
520     var36.i = (orc_uint16) var33.i;
521     /* 2: shll */
522     var37.i = var36.i << 16;
523     /* 4: xorl */
524     var35.i = var37.i ^ var34.i;
525     /* 5: storel */
526     ptr0[i] = var35;
527   }
528
529 }
530
531 #else
532 static void
533 _backup_audio_orc_unpack_u16 (OrcExecutor * ORC_RESTRICT ex)
534 {
535   int i;
536   int n = ex->n;
537   orc_union32 *ORC_RESTRICT ptr0;
538   const orc_union16 *ORC_RESTRICT ptr4;
539   orc_union16 var33;
540 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
541   volatile orc_union32 var34;
542 #else
543   orc_union32 var34;
544 #endif
545   orc_union32 var35;
546   orc_union32 var36;
547   orc_union32 var37;
548
549   ptr0 = (orc_union32 *) ex->arrays[0];
550   ptr4 = (orc_union16 *) ex->arrays[4];
551
552   /* 3: loadpl */
553   var34.i = (int) 0x80000000;   /* -2147483648 or 1.061e-314f */
554
555   for (i = 0; i < n; i++) {
556     /* 0: loadw */
557     var33 = ptr4[i];
558     /* 1: convuwl */
559     var36.i = (orc_uint16) var33.i;
560     /* 2: shll */
561     var37.i = var36.i << 16;
562     /* 4: xorl */
563     var35.i = var37.i ^ var34.i;
564     /* 5: storel */
565     ptr0[i] = var35;
566   }
567
568 }
569
570 void
571 audio_orc_unpack_u16 (gint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
572     int n)
573 {
574   OrcExecutor _ex, *ex = &_ex;
575   static volatile int p_inited = 0;
576   static OrcCode *c = 0;
577   void (*func) (OrcExecutor *);
578
579   if (!p_inited) {
580     orc_once_mutex_lock ();
581     if (!p_inited) {
582       OrcProgram *p;
583
584 #if 1
585       static const orc_uint8 bc[] = {
586         1, 9, 20, 97, 117, 100, 105, 111, 95, 111, 114, 99, 95, 117, 110, 112,
587         97, 99, 107, 95, 117, 49, 54, 11, 4, 4, 12, 2, 2, 14, 4, 16,
588         0, 0, 0, 14, 4, 0, 0, 0, 128, 20, 4, 154, 32, 4, 124, 32,
589         32, 16, 132, 0, 32, 17, 2, 0,
590       };
591       p = orc_program_new_from_static_bytecode (bc);
592       orc_program_set_backup_function (p, _backup_audio_orc_unpack_u16);
593 #else
594       p = orc_program_new ();
595       orc_program_set_name (p, "audio_orc_unpack_u16");
596       orc_program_set_backup_function (p, _backup_audio_orc_unpack_u16);
597       orc_program_add_destination (p, 4, "d1");
598       orc_program_add_source (p, 2, "s1");
599       orc_program_add_constant (p, 4, 0x00000010, "c1");
600       orc_program_add_constant (p, 4, 0x80000000, "c2");
601       orc_program_add_temporary (p, 4, "t1");
602
603       orc_program_append_2 (p, "convuwl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
604           ORC_VAR_D1);
605       orc_program_append_2 (p, "shll", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
606           ORC_VAR_D1);
607       orc_program_append_2 (p, "xorl", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_C2,
608           ORC_VAR_D1);
609 #endif
610
611       orc_program_compile (p);
612       c = orc_program_take_code (p);
613       orc_program_free (p);
614     }
615     p_inited = TRUE;
616     orc_once_mutex_unlock ();
617   }
618   ex->arrays[ORC_VAR_A2] = c;
619   ex->program = 0;
620
621   ex->n = n;
622   ex->arrays[ORC_VAR_D1] = d1;
623   ex->arrays[ORC_VAR_S1] = (void *) s1;
624
625   func = c->exec;
626   func (ex);
627 }
628 #endif
629
630
631 /* audio_orc_unpack_s16 */
632 #ifdef DISABLE_ORC
633 void
634 audio_orc_unpack_s16 (gint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
635     int n)
636 {
637   int i;
638   orc_union32 *ORC_RESTRICT ptr0;
639   const orc_union16 *ORC_RESTRICT ptr4;
640   orc_union16 var33;
641   orc_union32 var34;
642   orc_union32 var35;
643
644   ptr0 = (orc_union32 *) d1;
645   ptr4 = (orc_union16 *) s1;
646
647
648   for (i = 0; i < n; i++) {
649     /* 0: loadw */
650     var33 = ptr4[i];
651     /* 1: convuwl */
652     var35.i = (orc_uint16) var33.i;
653     /* 2: shll */
654     var34.i = var35.i << 16;
655     /* 3: storel */
656     ptr0[i] = var34;
657   }
658
659 }
660
661 #else
662 static void
663 _backup_audio_orc_unpack_s16 (OrcExecutor * ORC_RESTRICT ex)
664 {
665   int i;
666   int n = ex->n;
667   orc_union32 *ORC_RESTRICT ptr0;
668   const orc_union16 *ORC_RESTRICT ptr4;
669   orc_union16 var33;
670   orc_union32 var34;
671   orc_union32 var35;
672
673   ptr0 = (orc_union32 *) ex->arrays[0];
674   ptr4 = (orc_union16 *) ex->arrays[4];
675
676
677   for (i = 0; i < n; i++) {
678     /* 0: loadw */
679     var33 = ptr4[i];
680     /* 1: convuwl */
681     var35.i = (orc_uint16) var33.i;
682     /* 2: shll */
683     var34.i = var35.i << 16;
684     /* 3: storel */
685     ptr0[i] = var34;
686   }
687
688 }
689
690 void
691 audio_orc_unpack_s16 (gint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
692     int n)
693 {
694   OrcExecutor _ex, *ex = &_ex;
695   static volatile int p_inited = 0;
696   static OrcCode *c = 0;
697   void (*func) (OrcExecutor *);
698
699   if (!p_inited) {
700     orc_once_mutex_lock ();
701     if (!p_inited) {
702       OrcProgram *p;
703
704 #if 1
705       static const orc_uint8 bc[] = {
706         1, 9, 20, 97, 117, 100, 105, 111, 95, 111, 114, 99, 95, 117, 110, 112,
707         97, 99, 107, 95, 115, 49, 54, 11, 4, 4, 12, 2, 2, 14, 4, 16,
708         0, 0, 0, 20, 4, 154, 32, 4, 124, 0, 32, 16, 2, 0,
709       };
710       p = orc_program_new_from_static_bytecode (bc);
711       orc_program_set_backup_function (p, _backup_audio_orc_unpack_s16);
712 #else
713       p = orc_program_new ();
714       orc_program_set_name (p, "audio_orc_unpack_s16");
715       orc_program_set_backup_function (p, _backup_audio_orc_unpack_s16);
716       orc_program_add_destination (p, 4, "d1");
717       orc_program_add_source (p, 2, "s1");
718       orc_program_add_constant (p, 4, 0x00000010, "c1");
719       orc_program_add_temporary (p, 4, "t1");
720
721       orc_program_append_2 (p, "convuwl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
722           ORC_VAR_D1);
723       orc_program_append_2 (p, "shll", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_C1,
724           ORC_VAR_D1);
725 #endif
726
727       orc_program_compile (p);
728       c = orc_program_take_code (p);
729       orc_program_free (p);
730     }
731     p_inited = TRUE;
732     orc_once_mutex_unlock ();
733   }
734   ex->arrays[ORC_VAR_A2] = c;
735   ex->program = 0;
736
737   ex->n = n;
738   ex->arrays[ORC_VAR_D1] = d1;
739   ex->arrays[ORC_VAR_S1] = (void *) s1;
740
741   func = c->exec;
742   func (ex);
743 }
744 #endif
745
746
747 /* audio_orc_unpack_u16_swap */
748 #ifdef DISABLE_ORC
749 void
750 audio_orc_unpack_u16_swap (gint32 * ORC_RESTRICT d1,
751     const guint8 * ORC_RESTRICT s1, int n)
752 {
753   int i;
754   orc_union32 *ORC_RESTRICT ptr0;
755   const orc_union16 *ORC_RESTRICT ptr4;
756   orc_union16 var34;
757 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
758   volatile orc_union32 var35;
759 #else
760   orc_union32 var35;
761 #endif
762   orc_union32 var36;
763   orc_union16 var37;
764   orc_union32 var38;
765   orc_union32 var39;
766
767   ptr0 = (orc_union32 *) d1;
768   ptr4 = (orc_union16 *) s1;
769
770   /* 4: loadpl */
771   var35.i = (int) 0x80000000;   /* -2147483648 or 1.061e-314f */
772
773   for (i = 0; i < n; i++) {
774     /* 0: loadw */
775     var34 = ptr4[i];
776     /* 1: swapw */
777     var37.i = ORC_SWAP_W (var34.i);
778     /* 2: convuwl */
779     var38.i = (orc_uint16) var37.i;
780     /* 3: shll */
781     var39.i = var38.i << 16;
782     /* 5: xorl */
783     var36.i = var39.i ^ var35.i;
784     /* 6: storel */
785     ptr0[i] = var36;
786   }
787
788 }
789
790 #else
791 static void
792 _backup_audio_orc_unpack_u16_swap (OrcExecutor * ORC_RESTRICT ex)
793 {
794   int i;
795   int n = ex->n;
796   orc_union32 *ORC_RESTRICT ptr0;
797   const orc_union16 *ORC_RESTRICT ptr4;
798   orc_union16 var34;
799 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
800   volatile orc_union32 var35;
801 #else
802   orc_union32 var35;
803 #endif
804   orc_union32 var36;
805   orc_union16 var37;
806   orc_union32 var38;
807   orc_union32 var39;
808
809   ptr0 = (orc_union32 *) ex->arrays[0];
810   ptr4 = (orc_union16 *) ex->arrays[4];
811
812   /* 4: loadpl */
813   var35.i = (int) 0x80000000;   /* -2147483648 or 1.061e-314f */
814
815   for (i = 0; i < n; i++) {
816     /* 0: loadw */
817     var34 = ptr4[i];
818     /* 1: swapw */
819     var37.i = ORC_SWAP_W (var34.i);
820     /* 2: convuwl */
821     var38.i = (orc_uint16) var37.i;
822     /* 3: shll */
823     var39.i = var38.i << 16;
824     /* 5: xorl */
825     var36.i = var39.i ^ var35.i;
826     /* 6: storel */
827     ptr0[i] = var36;
828   }
829
830 }
831
832 void
833 audio_orc_unpack_u16_swap (gint32 * ORC_RESTRICT d1,
834     const guint8 * ORC_RESTRICT s1, int n)
835 {
836   OrcExecutor _ex, *ex = &_ex;
837   static volatile int p_inited = 0;
838   static OrcCode *c = 0;
839   void (*func) (OrcExecutor *);
840
841   if (!p_inited) {
842     orc_once_mutex_lock ();
843     if (!p_inited) {
844       OrcProgram *p;
845
846 #if 1
847       static const orc_uint8 bc[] = {
848         1, 9, 25, 97, 117, 100, 105, 111, 95, 111, 114, 99, 95, 117, 110, 112,
849         97, 99, 107, 95, 117, 49, 54, 95, 115, 119, 97, 112, 11, 4, 4, 12,
850         2, 2, 14, 4, 16, 0, 0, 0, 14, 4, 0, 0, 0, 128, 20, 2,
851         20, 4, 183, 32, 4, 154, 33, 32, 124, 33, 33, 16, 132, 0, 33, 17,
852         2, 0,
853       };
854       p = orc_program_new_from_static_bytecode (bc);
855       orc_program_set_backup_function (p, _backup_audio_orc_unpack_u16_swap);
856 #else
857       p = orc_program_new ();
858       orc_program_set_name (p, "audio_orc_unpack_u16_swap");
859       orc_program_set_backup_function (p, _backup_audio_orc_unpack_u16_swap);
860       orc_program_add_destination (p, 4, "d1");
861       orc_program_add_source (p, 2, "s1");
862       orc_program_add_constant (p, 4, 0x00000010, "c1");
863       orc_program_add_constant (p, 4, 0x80000000, "c2");
864       orc_program_add_temporary (p, 2, "t1");
865       orc_program_add_temporary (p, 4, "t2");
866
867       orc_program_append_2 (p, "swapw", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
868           ORC_VAR_D1);
869       orc_program_append_2 (p, "convuwl", 0, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_D1,
870           ORC_VAR_D1);
871       orc_program_append_2 (p, "shll", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_C1,
872           ORC_VAR_D1);
873       orc_program_append_2 (p, "xorl", 0, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_C2,
874           ORC_VAR_D1);
875 #endif
876
877       orc_program_compile (p);
878       c = orc_program_take_code (p);
879       orc_program_free (p);
880     }
881     p_inited = TRUE;
882     orc_once_mutex_unlock ();
883   }
884   ex->arrays[ORC_VAR_A2] = c;
885   ex->program = 0;
886
887   ex->n = n;
888   ex->arrays[ORC_VAR_D1] = d1;
889   ex->arrays[ORC_VAR_S1] = (void *) s1;
890
891   func = c->exec;
892   func (ex);
893 }
894 #endif
895
896
897 /* audio_orc_unpack_s16_swap */
898 #ifdef DISABLE_ORC
899 void
900 audio_orc_unpack_s16_swap (gint32 * ORC_RESTRICT d1,
901     const guint8 * ORC_RESTRICT s1, int n)
902 {
903   int i;
904   orc_union32 *ORC_RESTRICT ptr0;
905   const orc_union16 *ORC_RESTRICT ptr4;
906   orc_union16 var34;
907   orc_union32 var35;
908   orc_union16 var36;
909   orc_union32 var37;
910
911   ptr0 = (orc_union32 *) d1;
912   ptr4 = (orc_union16 *) s1;
913
914
915   for (i = 0; i < n; i++) {
916     /* 0: loadw */
917     var34 = ptr4[i];
918     /* 1: swapw */
919     var36.i = ORC_SWAP_W (var34.i);
920     /* 2: convuwl */
921     var37.i = (orc_uint16) var36.i;
922     /* 3: shll */
923     var35.i = var37.i << 16;
924     /* 4: storel */
925     ptr0[i] = var35;
926   }
927
928 }
929
930 #else
931 static void
932 _backup_audio_orc_unpack_s16_swap (OrcExecutor * ORC_RESTRICT ex)
933 {
934   int i;
935   int n = ex->n;
936   orc_union32 *ORC_RESTRICT ptr0;
937   const orc_union16 *ORC_RESTRICT ptr4;
938   orc_union16 var34;
939   orc_union32 var35;
940   orc_union16 var36;
941   orc_union32 var37;
942
943   ptr0 = (orc_union32 *) ex->arrays[0];
944   ptr4 = (orc_union16 *) ex->arrays[4];
945
946
947   for (i = 0; i < n; i++) {
948     /* 0: loadw */
949     var34 = ptr4[i];
950     /* 1: swapw */
951     var36.i = ORC_SWAP_W (var34.i);
952     /* 2: convuwl */
953     var37.i = (orc_uint16) var36.i;
954     /* 3: shll */
955     var35.i = var37.i << 16;
956     /* 4: storel */
957     ptr0[i] = var35;
958   }
959
960 }
961
962 void
963 audio_orc_unpack_s16_swap (gint32 * ORC_RESTRICT d1,
964     const guint8 * ORC_RESTRICT s1, int n)
965 {
966   OrcExecutor _ex, *ex = &_ex;
967   static volatile int p_inited = 0;
968   static OrcCode *c = 0;
969   void (*func) (OrcExecutor *);
970
971   if (!p_inited) {
972     orc_once_mutex_lock ();
973     if (!p_inited) {
974       OrcProgram *p;
975
976 #if 1
977       static const orc_uint8 bc[] = {
978         1, 9, 25, 97, 117, 100, 105, 111, 95, 111, 114, 99, 95, 117, 110, 112,
979         97, 99, 107, 95, 115, 49, 54, 95, 115, 119, 97, 112, 11, 4, 4, 12,
980         2, 2, 14, 4, 16, 0, 0, 0, 20, 2, 20, 4, 183, 32, 4, 154,
981         33, 32, 124, 0, 33, 16, 2, 0,
982       };
983       p = orc_program_new_from_static_bytecode (bc);
984       orc_program_set_backup_function (p, _backup_audio_orc_unpack_s16_swap);
985 #else
986       p = orc_program_new ();
987       orc_program_set_name (p, "audio_orc_unpack_s16_swap");
988       orc_program_set_backup_function (p, _backup_audio_orc_unpack_s16_swap);
989       orc_program_add_destination (p, 4, "d1");
990       orc_program_add_source (p, 2, "s1");
991       orc_program_add_constant (p, 4, 0x00000010, "c1");
992       orc_program_add_temporary (p, 2, "t1");
993       orc_program_add_temporary (p, 4, "t2");
994
995       orc_program_append_2 (p, "swapw", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
996           ORC_VAR_D1);
997       orc_program_append_2 (p, "convuwl", 0, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_D1,
998           ORC_VAR_D1);
999       orc_program_append_2 (p, "shll", 0, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_C1,
1000           ORC_VAR_D1);
1001 #endif
1002
1003       orc_program_compile (p);
1004       c = orc_program_take_code (p);
1005       orc_program_free (p);
1006     }
1007     p_inited = TRUE;
1008     orc_once_mutex_unlock ();
1009   }
1010   ex->arrays[ORC_VAR_A2] = c;
1011   ex->program = 0;
1012
1013   ex->n = n;
1014   ex->arrays[ORC_VAR_D1] = d1;
1015   ex->arrays[ORC_VAR_S1] = (void *) s1;
1016
1017   func = c->exec;
1018   func (ex);
1019 }
1020 #endif
1021
1022
1023 /* audio_orc_unpack_u24_32 */
1024 #ifdef DISABLE_ORC
1025 void
1026 audio_orc_unpack_u24_32 (gint32 * ORC_RESTRICT d1,
1027     const guint8 * ORC_RESTRICT s1, int n)
1028 {
1029   int i;
1030   orc_union32 *ORC_RESTRICT ptr0;
1031   const orc_union32 *ORC_RESTRICT ptr4;
1032   orc_union32 var33;
1033 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
1034   volatile orc_union32 var34;
1035 #else
1036   orc_union32 var34;
1037 #endif
1038   orc_union32 var35;
1039   orc_union32 var36;
1040
1041   ptr0 = (orc_union32 *) d1;
1042   ptr4 = (orc_union32 *) s1;
1043
1044   /* 2: loadpl */
1045   var34.i = (int) 0x80000000;   /* -2147483648 or 1.061e-314f */
1046
1047   for (i = 0; i < n; i++) {
1048     /* 0: loadl */
1049     var33 = ptr4[i];
1050     /* 1: shll */
1051     var36.i = var33.i << 8;
1052     /* 3: xorl */
1053     var35.i = var36.i ^ var34.i;
1054     /* 4: storel */
1055     ptr0[i] = var35;
1056   }
1057
1058 }
1059
1060 #else
1061 static void
1062 _backup_audio_orc_unpack_u24_32 (OrcExecutor * ORC_RESTRICT ex)
1063 {
1064   int i;
1065   int n = ex->n;
1066   orc_union32 *ORC_RESTRICT ptr0;
1067   const orc_union32 *ORC_RESTRICT ptr4;
1068   orc_union32 var33;
1069 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
1070   volatile orc_union32 var34;
1071 #else
1072   orc_union32 var34;
1073 #endif
1074   orc_union32 var35;
1075   orc_union32 var36;
1076
1077   ptr0 = (orc_union32 *) ex->arrays[0];
1078   ptr4 = (orc_union32 *) ex->arrays[4];
1079
1080   /* 2: loadpl */
1081   var34.i = (int) 0x80000000;   /* -2147483648 or 1.061e-314f */
1082
1083   for (i = 0; i < n; i++) {
1084     /* 0: loadl */
1085     var33 = ptr4[i];
1086     /* 1: shll */
1087     var36.i = var33.i << 8;
1088     /* 3: xorl */
1089     var35.i = var36.i ^ var34.i;
1090     /* 4: storel */
1091     ptr0[i] = var35;
1092   }
1093
1094 }
1095
1096 void
1097 audio_orc_unpack_u24_32 (gint32 * ORC_RESTRICT d1,
1098     const guint8 * ORC_RESTRICT s1, int n)
1099 {
1100   OrcExecutor _ex, *ex = &_ex;
1101   static volatile int p_inited = 0;
1102   static OrcCode *c = 0;
1103   void (*func) (OrcExecutor *);
1104
1105   if (!p_inited) {
1106     orc_once_mutex_lock ();
1107     if (!p_inited) {
1108       OrcProgram *p;
1109
1110 #if 1
1111       static const orc_uint8 bc[] = {
1112         1, 9, 23, 97, 117, 100, 105, 111, 95, 111, 114, 99, 95, 117, 110, 112,
1113         97, 99, 107, 95, 117, 50, 52, 95, 51, 50, 11, 4, 4, 12, 4, 4,
1114         14, 4, 8, 0, 0, 0, 14, 4, 0, 0, 0, 128, 20, 4, 124, 32,
1115         4, 16, 132, 0, 32, 17, 2, 0,
1116       };
1117       p = orc_program_new_from_static_bytecode (bc);
1118       orc_program_set_backup_function (p, _backup_audio_orc_unpack_u24_32);
1119 #else
1120       p = orc_program_new ();
1121       orc_program_set_name (p, "audio_orc_unpack_u24_32");
1122       orc_program_set_backup_function (p, _backup_audio_orc_unpack_u24_32);
1123       orc_program_add_destination (p, 4, "d1");
1124       orc_program_add_source (p, 4, "s1");
1125       orc_program_add_constant (p, 4, 0x00000008, "c1");
1126       orc_program_add_constant (p, 4, 0x80000000, "c2");
1127       orc_program_add_temporary (p, 4, "t1");
1128
1129       orc_program_append_2 (p, "shll", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_C1,
1130           ORC_VAR_D1);
1131       orc_program_append_2 (p, "xorl", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_C2,
1132           ORC_VAR_D1);
1133 #endif
1134
1135       orc_program_compile (p);
1136       c = orc_program_take_code (p);
1137       orc_program_free (p);
1138     }
1139     p_inited = TRUE;
1140     orc_once_mutex_unlock ();
1141   }
1142   ex->arrays[ORC_VAR_A2] = c;
1143   ex->program = 0;
1144
1145   ex->n = n;
1146   ex->arrays[ORC_VAR_D1] = d1;
1147   ex->arrays[ORC_VAR_S1] = (void *) s1;
1148
1149   func = c->exec;
1150   func (ex);
1151 }
1152 #endif
1153
1154
1155 /* audio_orc_unpack_s24_32 */
1156 #ifdef DISABLE_ORC
1157 void
1158 audio_orc_unpack_s24_32 (gint32 * ORC_RESTRICT d1,
1159     const guint8 * ORC_RESTRICT s1, int n)
1160 {
1161   int i;
1162   orc_union32 *ORC_RESTRICT ptr0;
1163   const orc_union32 *ORC_RESTRICT ptr4;
1164   orc_union32 var32;
1165   orc_union32 var33;
1166
1167   ptr0 = (orc_union32 *) d1;
1168   ptr4 = (orc_union32 *) s1;
1169
1170
1171   for (i = 0; i < n; i++) {
1172     /* 0: loadl */
1173     var32 = ptr4[i];
1174     /* 1: shll */
1175     var33.i = var32.i << 8;
1176     /* 2: storel */
1177     ptr0[i] = var33;
1178   }
1179
1180 }
1181
1182 #else
1183 static void
1184 _backup_audio_orc_unpack_s24_32 (OrcExecutor * ORC_RESTRICT ex)
1185 {
1186   int i;
1187   int n = ex->n;
1188   orc_union32 *ORC_RESTRICT ptr0;
1189   const orc_union32 *ORC_RESTRICT ptr4;
1190   orc_union32 var32;
1191   orc_union32 var33;
1192
1193   ptr0 = (orc_union32 *) ex->arrays[0];
1194   ptr4 = (orc_union32 *) ex->arrays[4];
1195
1196
1197   for (i = 0; i < n; i++) {
1198     /* 0: loadl */
1199     var32 = ptr4[i];
1200     /* 1: shll */
1201     var33.i = var32.i << 8;
1202     /* 2: storel */
1203     ptr0[i] = var33;
1204   }
1205
1206 }
1207
1208 void
1209 audio_orc_unpack_s24_32 (gint32 * ORC_RESTRICT d1,
1210     const guint8 * ORC_RESTRICT s1, int n)
1211 {
1212   OrcExecutor _ex, *ex = &_ex;
1213   static volatile int p_inited = 0;
1214   static OrcCode *c = 0;
1215   void (*func) (OrcExecutor *);
1216
1217   if (!p_inited) {
1218     orc_once_mutex_lock ();
1219     if (!p_inited) {
1220       OrcProgram *p;
1221
1222 #if 1
1223       static const orc_uint8 bc[] = {
1224         1, 9, 23, 97, 117, 100, 105, 111, 95, 111, 114, 99, 95, 117, 110, 112,
1225         97, 99, 107, 95, 115, 50, 52, 95, 51, 50, 11, 4, 4, 12, 4, 4,
1226         14, 4, 8, 0, 0, 0, 124, 0, 4, 16, 2, 0,
1227       };
1228       p = orc_program_new_from_static_bytecode (bc);
1229       orc_program_set_backup_function (p, _backup_audio_orc_unpack_s24_32);
1230 #else
1231       p = orc_program_new ();
1232       orc_program_set_name (p, "audio_orc_unpack_s24_32");
1233       orc_program_set_backup_function (p, _backup_audio_orc_unpack_s24_32);
1234       orc_program_add_destination (p, 4, "d1");
1235       orc_program_add_source (p, 4, "s1");
1236       orc_program_add_constant (p, 4, 0x00000008, "c1");
1237
1238       orc_program_append_2 (p, "shll", 0, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_C1,
1239           ORC_VAR_D1);
1240 #endif
1241
1242       orc_program_compile (p);
1243       c = orc_program_take_code (p);
1244       orc_program_free (p);
1245     }
1246     p_inited = TRUE;
1247     orc_once_mutex_unlock ();
1248   }
1249   ex->arrays[ORC_VAR_A2] = c;
1250   ex->program = 0;
1251
1252   ex->n = n;
1253   ex->arrays[ORC_VAR_D1] = d1;
1254   ex->arrays[ORC_VAR_S1] = (void *) s1;
1255
1256   func = c->exec;
1257   func (ex);
1258 }
1259 #endif
1260
1261
1262 /* audio_orc_unpack_u24_32_swap */
1263 #ifdef DISABLE_ORC
1264 void
1265 audio_orc_unpack_u24_32_swap (gint32 * ORC_RESTRICT d1,
1266     const guint8 * ORC_RESTRICT s1, int n)
1267 {
1268   int i;
1269   orc_union32 *ORC_RESTRICT ptr0;
1270   const orc_union32 *ORC_RESTRICT ptr4;
1271   orc_union32 var33;
1272 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
1273   volatile orc_union32 var34;
1274 #else
1275   orc_union32 var34;
1276 #endif
1277   orc_union32 var35;
1278   orc_union32 var36;
1279   orc_union32 var37;
1280
1281   ptr0 = (orc_union32 *) d1;
1282   ptr4 = (orc_union32 *) s1;
1283
1284   /* 3: loadpl */
1285   var34.i = (int) 0x80000000;   /* -2147483648 or 1.061e-314f */
1286
1287   for (i = 0; i < n; i++) {
1288     /* 0: loadl */
1289     var33 = ptr4[i];
1290     /* 1: swapl */
1291     var36.i = ORC_SWAP_L (var33.i);
1292     /* 2: shll */
1293     var37.i = var36.i << 8;
1294     /* 4: xorl */
1295     var35.i = var37.i ^ var34.i;
1296     /* 5: storel */
1297     ptr0[i] = var35;
1298   }
1299
1300 }
1301
1302 #else
1303 static void
1304 _backup_audio_orc_unpack_u24_32_swap (OrcExecutor * ORC_RESTRICT ex)
1305 {
1306   int i;
1307   int n = ex->n;
1308   orc_union32 *ORC_RESTRICT ptr0;
1309   const orc_union32 *ORC_RESTRICT ptr4;
1310   orc_union32 var33;
1311 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
1312   volatile orc_union32 var34;
1313 #else
1314   orc_union32 var34;
1315 #endif
1316   orc_union32 var35;
1317   orc_union32 var36;
1318   orc_union32 var37;
1319
1320   ptr0 = (orc_union32 *) ex->arrays[0];
1321   ptr4 = (orc_union32 *) ex->arrays[4];
1322
1323   /* 3: loadpl */
1324   var34.i = (int) 0x80000000;   /* -2147483648 or 1.061e-314f */
1325
1326   for (i = 0; i < n; i++) {
1327     /* 0: loadl */
1328     var33 = ptr4[i];
1329     /* 1: swapl */
1330     var36.i = ORC_SWAP_L (var33.i);
1331     /* 2: shll */
1332     var37.i = var36.i << 8;
1333     /* 4: xorl */
1334     var35.i = var37.i ^ var34.i;
1335     /* 5: storel */
1336     ptr0[i] = var35;
1337   }
1338
1339 }
1340
1341 void
1342 audio_orc_unpack_u24_32_swap (gint32 * ORC_RESTRICT d1,
1343     const guint8 * ORC_RESTRICT s1, int n)
1344 {
1345   OrcExecutor _ex, *ex = &_ex;
1346   static volatile int p_inited = 0;
1347   static OrcCode *c = 0;
1348   void (*func) (OrcExecutor *);
1349
1350   if (!p_inited) {
1351     orc_once_mutex_lock ();
1352     if (!p_inited) {
1353       OrcProgram *p;
1354
1355 #if 1
1356       static const orc_uint8 bc[] = {
1357         1, 9, 28, 97, 117, 100, 105, 111, 95, 111, 114, 99, 95, 117, 110, 112,
1358         97, 99, 107, 95, 117, 50, 52, 95, 51, 50, 95, 115, 119, 97, 112, 11,
1359         4, 4, 12, 4, 4, 14, 4, 8, 0, 0, 0, 14, 4, 0, 0, 0,
1360         128, 20, 4, 184, 32, 4, 124, 32, 32, 16, 132, 0, 32, 17, 2, 0,
1361
1362       };
1363       p = orc_program_new_from_static_bytecode (bc);
1364       orc_program_set_backup_function (p, _backup_audio_orc_unpack_u24_32_swap);
1365 #else
1366       p = orc_program_new ();
1367       orc_program_set_name (p, "audio_orc_unpack_u24_32_swap");
1368       orc_program_set_backup_function (p, _backup_audio_orc_unpack_u24_32_swap);
1369       orc_program_add_destination (p, 4, "d1");
1370       orc_program_add_source (p, 4, "s1");
1371       orc_program_add_constant (p, 4, 0x00000008, "c1");
1372       orc_program_add_constant (p, 4, 0x80000000, "c2");
1373       orc_program_add_temporary (p, 4, "t1");
1374
1375       orc_program_append_2 (p, "swapl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
1376           ORC_VAR_D1);
1377       orc_program_append_2 (p, "shll", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
1378           ORC_VAR_D1);
1379       orc_program_append_2 (p, "xorl", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_C2,
1380           ORC_VAR_D1);
1381 #endif
1382
1383       orc_program_compile (p);
1384       c = orc_program_take_code (p);
1385       orc_program_free (p);
1386     }
1387     p_inited = TRUE;
1388     orc_once_mutex_unlock ();
1389   }
1390   ex->arrays[ORC_VAR_A2] = c;
1391   ex->program = 0;
1392
1393   ex->n = n;
1394   ex->arrays[ORC_VAR_D1] = d1;
1395   ex->arrays[ORC_VAR_S1] = (void *) s1;
1396
1397   func = c->exec;
1398   func (ex);
1399 }
1400 #endif
1401
1402
1403 /* audio_orc_unpack_s24_32_swap */
1404 #ifdef DISABLE_ORC
1405 void
1406 audio_orc_unpack_s24_32_swap (gint32 * ORC_RESTRICT d1,
1407     const guint8 * ORC_RESTRICT s1, int n)
1408 {
1409   int i;
1410   orc_union32 *ORC_RESTRICT ptr0;
1411   const orc_union32 *ORC_RESTRICT ptr4;
1412   orc_union32 var33;
1413   orc_union32 var34;
1414   orc_union32 var35;
1415
1416   ptr0 = (orc_union32 *) d1;
1417   ptr4 = (orc_union32 *) s1;
1418
1419
1420   for (i = 0; i < n; i++) {
1421     /* 0: loadl */
1422     var33 = ptr4[i];
1423     /* 1: swapl */
1424     var35.i = ORC_SWAP_L (var33.i);
1425     /* 2: shll */
1426     var34.i = var35.i << 8;
1427     /* 3: storel */
1428     ptr0[i] = var34;
1429   }
1430
1431 }
1432
1433 #else
1434 static void
1435 _backup_audio_orc_unpack_s24_32_swap (OrcExecutor * ORC_RESTRICT ex)
1436 {
1437   int i;
1438   int n = ex->n;
1439   orc_union32 *ORC_RESTRICT ptr0;
1440   const orc_union32 *ORC_RESTRICT ptr4;
1441   orc_union32 var33;
1442   orc_union32 var34;
1443   orc_union32 var35;
1444
1445   ptr0 = (orc_union32 *) ex->arrays[0];
1446   ptr4 = (orc_union32 *) ex->arrays[4];
1447
1448
1449   for (i = 0; i < n; i++) {
1450     /* 0: loadl */
1451     var33 = ptr4[i];
1452     /* 1: swapl */
1453     var35.i = ORC_SWAP_L (var33.i);
1454     /* 2: shll */
1455     var34.i = var35.i << 8;
1456     /* 3: storel */
1457     ptr0[i] = var34;
1458   }
1459
1460 }
1461
1462 void
1463 audio_orc_unpack_s24_32_swap (gint32 * ORC_RESTRICT d1,
1464     const guint8 * ORC_RESTRICT s1, int n)
1465 {
1466   OrcExecutor _ex, *ex = &_ex;
1467   static volatile int p_inited = 0;
1468   static OrcCode *c = 0;
1469   void (*func) (OrcExecutor *);
1470
1471   if (!p_inited) {
1472     orc_once_mutex_lock ();
1473     if (!p_inited) {
1474       OrcProgram *p;
1475
1476 #if 1
1477       static const orc_uint8 bc[] = {
1478         1, 9, 28, 97, 117, 100, 105, 111, 95, 111, 114, 99, 95, 117, 110, 112,
1479         97, 99, 107, 95, 115, 50, 52, 95, 51, 50, 95, 115, 119, 97, 112, 11,
1480         4, 4, 12, 4, 4, 14, 4, 8, 0, 0, 0, 20, 4, 184, 32, 4,
1481         124, 0, 32, 16, 2, 0,
1482       };
1483       p = orc_program_new_from_static_bytecode (bc);
1484       orc_program_set_backup_function (p, _backup_audio_orc_unpack_s24_32_swap);
1485 #else
1486       p = orc_program_new ();
1487       orc_program_set_name (p, "audio_orc_unpack_s24_32_swap");
1488       orc_program_set_backup_function (p, _backup_audio_orc_unpack_s24_32_swap);
1489       orc_program_add_destination (p, 4, "d1");
1490       orc_program_add_source (p, 4, "s1");
1491       orc_program_add_constant (p, 4, 0x00000008, "c1");
1492       orc_program_add_temporary (p, 4, "t1");
1493
1494       orc_program_append_2 (p, "swapl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
1495           ORC_VAR_D1);
1496       orc_program_append_2 (p, "shll", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_C1,
1497           ORC_VAR_D1);
1498 #endif
1499
1500       orc_program_compile (p);
1501       c = orc_program_take_code (p);
1502       orc_program_free (p);
1503     }
1504     p_inited = TRUE;
1505     orc_once_mutex_unlock ();
1506   }
1507   ex->arrays[ORC_VAR_A2] = c;
1508   ex->program = 0;
1509
1510   ex->n = n;
1511   ex->arrays[ORC_VAR_D1] = d1;
1512   ex->arrays[ORC_VAR_S1] = (void *) s1;
1513
1514   func = c->exec;
1515   func (ex);
1516 }
1517 #endif
1518
1519
1520 /* audio_orc_unpack_u32 */
1521 #ifdef DISABLE_ORC
1522 void
1523 audio_orc_unpack_u32 (gint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
1524     int n)
1525 {
1526   int i;
1527   orc_union32 *ORC_RESTRICT ptr0;
1528   const orc_union32 *ORC_RESTRICT ptr4;
1529   orc_union32 var32;
1530 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
1531   volatile orc_union32 var33;
1532 #else
1533   orc_union32 var33;
1534 #endif
1535   orc_union32 var34;
1536
1537   ptr0 = (orc_union32 *) d1;
1538   ptr4 = (orc_union32 *) s1;
1539
1540   /* 1: loadpl */
1541   var33.i = (int) 0x80000000;   /* -2147483648 or 1.061e-314f */
1542
1543   for (i = 0; i < n; i++) {
1544     /* 0: loadl */
1545     var32 = ptr4[i];
1546     /* 2: xorl */
1547     var34.i = var32.i ^ var33.i;
1548     /* 3: storel */
1549     ptr0[i] = var34;
1550   }
1551
1552 }
1553
1554 #else
1555 static void
1556 _backup_audio_orc_unpack_u32 (OrcExecutor * ORC_RESTRICT ex)
1557 {
1558   int i;
1559   int n = ex->n;
1560   orc_union32 *ORC_RESTRICT ptr0;
1561   const orc_union32 *ORC_RESTRICT ptr4;
1562   orc_union32 var32;
1563 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
1564   volatile orc_union32 var33;
1565 #else
1566   orc_union32 var33;
1567 #endif
1568   orc_union32 var34;
1569
1570   ptr0 = (orc_union32 *) ex->arrays[0];
1571   ptr4 = (orc_union32 *) ex->arrays[4];
1572
1573   /* 1: loadpl */
1574   var33.i = (int) 0x80000000;   /* -2147483648 or 1.061e-314f */
1575
1576   for (i = 0; i < n; i++) {
1577     /* 0: loadl */
1578     var32 = ptr4[i];
1579     /* 2: xorl */
1580     var34.i = var32.i ^ var33.i;
1581     /* 3: storel */
1582     ptr0[i] = var34;
1583   }
1584
1585 }
1586
1587 void
1588 audio_orc_unpack_u32 (gint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
1589     int n)
1590 {
1591   OrcExecutor _ex, *ex = &_ex;
1592   static volatile int p_inited = 0;
1593   static OrcCode *c = 0;
1594   void (*func) (OrcExecutor *);
1595
1596   if (!p_inited) {
1597     orc_once_mutex_lock ();
1598     if (!p_inited) {
1599       OrcProgram *p;
1600
1601 #if 1
1602       static const orc_uint8 bc[] = {
1603         1, 9, 20, 97, 117, 100, 105, 111, 95, 111, 114, 99, 95, 117, 110, 112,
1604         97, 99, 107, 95, 117, 51, 50, 11, 4, 4, 12, 4, 4, 14, 4, 0,
1605         0, 0, 128, 132, 0, 4, 16, 2, 0,
1606       };
1607       p = orc_program_new_from_static_bytecode (bc);
1608       orc_program_set_backup_function (p, _backup_audio_orc_unpack_u32);
1609 #else
1610       p = orc_program_new ();
1611       orc_program_set_name (p, "audio_orc_unpack_u32");
1612       orc_program_set_backup_function (p, _backup_audio_orc_unpack_u32);
1613       orc_program_add_destination (p, 4, "d1");
1614       orc_program_add_source (p, 4, "s1");
1615       orc_program_add_constant (p, 4, 0x80000000, "c1");
1616
1617       orc_program_append_2 (p, "xorl", 0, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_C1,
1618           ORC_VAR_D1);
1619 #endif
1620
1621       orc_program_compile (p);
1622       c = orc_program_take_code (p);
1623       orc_program_free (p);
1624     }
1625     p_inited = TRUE;
1626     orc_once_mutex_unlock ();
1627   }
1628   ex->arrays[ORC_VAR_A2] = c;
1629   ex->program = 0;
1630
1631   ex->n = n;
1632   ex->arrays[ORC_VAR_D1] = d1;
1633   ex->arrays[ORC_VAR_S1] = (void *) s1;
1634
1635   func = c->exec;
1636   func (ex);
1637 }
1638 #endif
1639
1640
1641 /* audio_orc_unpack_u32_swap */
1642 #ifdef DISABLE_ORC
1643 void
1644 audio_orc_unpack_u32_swap (gint32 * ORC_RESTRICT d1,
1645     const guint8 * ORC_RESTRICT s1, int n)
1646 {
1647   int i;
1648   orc_union32 *ORC_RESTRICT ptr0;
1649   const orc_union32 *ORC_RESTRICT ptr4;
1650   orc_union32 var33;
1651 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
1652   volatile orc_union32 var34;
1653 #else
1654   orc_union32 var34;
1655 #endif
1656   orc_union32 var35;
1657   orc_union32 var36;
1658
1659   ptr0 = (orc_union32 *) d1;
1660   ptr4 = (orc_union32 *) s1;
1661
1662   /* 2: loadpl */
1663   var34.i = (int) 0x80000000;   /* -2147483648 or 1.061e-314f */
1664
1665   for (i = 0; i < n; i++) {
1666     /* 0: loadl */
1667     var33 = ptr4[i];
1668     /* 1: swapl */
1669     var36.i = ORC_SWAP_L (var33.i);
1670     /* 3: xorl */
1671     var35.i = var36.i ^ var34.i;
1672     /* 4: storel */
1673     ptr0[i] = var35;
1674   }
1675
1676 }
1677
1678 #else
1679 static void
1680 _backup_audio_orc_unpack_u32_swap (OrcExecutor * ORC_RESTRICT ex)
1681 {
1682   int i;
1683   int n = ex->n;
1684   orc_union32 *ORC_RESTRICT ptr0;
1685   const orc_union32 *ORC_RESTRICT ptr4;
1686   orc_union32 var33;
1687 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
1688   volatile orc_union32 var34;
1689 #else
1690   orc_union32 var34;
1691 #endif
1692   orc_union32 var35;
1693   orc_union32 var36;
1694
1695   ptr0 = (orc_union32 *) ex->arrays[0];
1696   ptr4 = (orc_union32 *) ex->arrays[4];
1697
1698   /* 2: loadpl */
1699   var34.i = (int) 0x80000000;   /* -2147483648 or 1.061e-314f */
1700
1701   for (i = 0; i < n; i++) {
1702     /* 0: loadl */
1703     var33 = ptr4[i];
1704     /* 1: swapl */
1705     var36.i = ORC_SWAP_L (var33.i);
1706     /* 3: xorl */
1707     var35.i = var36.i ^ var34.i;
1708     /* 4: storel */
1709     ptr0[i] = var35;
1710   }
1711
1712 }
1713
1714 void
1715 audio_orc_unpack_u32_swap (gint32 * ORC_RESTRICT d1,
1716     const guint8 * ORC_RESTRICT s1, int n)
1717 {
1718   OrcExecutor _ex, *ex = &_ex;
1719   static volatile int p_inited = 0;
1720   static OrcCode *c = 0;
1721   void (*func) (OrcExecutor *);
1722
1723   if (!p_inited) {
1724     orc_once_mutex_lock ();
1725     if (!p_inited) {
1726       OrcProgram *p;
1727
1728 #if 1
1729       static const orc_uint8 bc[] = {
1730         1, 9, 25, 97, 117, 100, 105, 111, 95, 111, 114, 99, 95, 117, 110, 112,
1731         97, 99, 107, 95, 117, 51, 50, 95, 115, 119, 97, 112, 11, 4, 4, 12,
1732         4, 4, 14, 4, 0, 0, 0, 128, 20, 4, 184, 32, 4, 132, 0, 32,
1733         16, 2, 0,
1734       };
1735       p = orc_program_new_from_static_bytecode (bc);
1736       orc_program_set_backup_function (p, _backup_audio_orc_unpack_u32_swap);
1737 #else
1738       p = orc_program_new ();
1739       orc_program_set_name (p, "audio_orc_unpack_u32_swap");
1740       orc_program_set_backup_function (p, _backup_audio_orc_unpack_u32_swap);
1741       orc_program_add_destination (p, 4, "d1");
1742       orc_program_add_source (p, 4, "s1");
1743       orc_program_add_constant (p, 4, 0x80000000, "c1");
1744       orc_program_add_temporary (p, 4, "t1");
1745
1746       orc_program_append_2 (p, "swapl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
1747           ORC_VAR_D1);
1748       orc_program_append_2 (p, "xorl", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_C1,
1749           ORC_VAR_D1);
1750 #endif
1751
1752       orc_program_compile (p);
1753       c = orc_program_take_code (p);
1754       orc_program_free (p);
1755     }
1756     p_inited = TRUE;
1757     orc_once_mutex_unlock ();
1758   }
1759   ex->arrays[ORC_VAR_A2] = c;
1760   ex->program = 0;
1761
1762   ex->n = n;
1763   ex->arrays[ORC_VAR_D1] = d1;
1764   ex->arrays[ORC_VAR_S1] = (void *) s1;
1765
1766   func = c->exec;
1767   func (ex);
1768 }
1769 #endif
1770
1771
1772 /* audio_orc_unpack_s32 */
1773 #ifdef DISABLE_ORC
1774 void
1775 audio_orc_unpack_s32 (gint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
1776     int n)
1777 {
1778   int i;
1779   orc_union32 *ORC_RESTRICT ptr0;
1780   const orc_union32 *ORC_RESTRICT ptr4;
1781   orc_union32 var32;
1782   orc_union32 var33;
1783
1784   ptr0 = (orc_union32 *) d1;
1785   ptr4 = (orc_union32 *) s1;
1786
1787
1788   for (i = 0; i < n; i++) {
1789     /* 0: loadl */
1790     var32 = ptr4[i];
1791     /* 1: copyl */
1792     var33.i = var32.i;
1793     /* 2: storel */
1794     ptr0[i] = var33;
1795   }
1796
1797 }
1798
1799 #else
1800 static void
1801 _backup_audio_orc_unpack_s32 (OrcExecutor * ORC_RESTRICT ex)
1802 {
1803   int i;
1804   int n = ex->n;
1805   orc_union32 *ORC_RESTRICT ptr0;
1806   const orc_union32 *ORC_RESTRICT ptr4;
1807   orc_union32 var32;
1808   orc_union32 var33;
1809
1810   ptr0 = (orc_union32 *) ex->arrays[0];
1811   ptr4 = (orc_union32 *) ex->arrays[4];
1812
1813
1814   for (i = 0; i < n; i++) {
1815     /* 0: loadl */
1816     var32 = ptr4[i];
1817     /* 1: copyl */
1818     var33.i = var32.i;
1819     /* 2: storel */
1820     ptr0[i] = var33;
1821   }
1822
1823 }
1824
1825 void
1826 audio_orc_unpack_s32 (gint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
1827     int n)
1828 {
1829   OrcExecutor _ex, *ex = &_ex;
1830   static volatile int p_inited = 0;
1831   static OrcCode *c = 0;
1832   void (*func) (OrcExecutor *);
1833
1834   if (!p_inited) {
1835     orc_once_mutex_lock ();
1836     if (!p_inited) {
1837       OrcProgram *p;
1838
1839 #if 1
1840       static const orc_uint8 bc[] = {
1841         1, 9, 20, 97, 117, 100, 105, 111, 95, 111, 114, 99, 95, 117, 110, 112,
1842         97, 99, 107, 95, 115, 51, 50, 11, 4, 4, 12, 4, 4, 112, 0, 4,
1843         2, 0,
1844       };
1845       p = orc_program_new_from_static_bytecode (bc);
1846       orc_program_set_backup_function (p, _backup_audio_orc_unpack_s32);
1847 #else
1848       p = orc_program_new ();
1849       orc_program_set_name (p, "audio_orc_unpack_s32");
1850       orc_program_set_backup_function (p, _backup_audio_orc_unpack_s32);
1851       orc_program_add_destination (p, 4, "d1");
1852       orc_program_add_source (p, 4, "s1");
1853
1854       orc_program_append_2 (p, "copyl", 0, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_D1,
1855           ORC_VAR_D1);
1856 #endif
1857
1858       orc_program_compile (p);
1859       c = orc_program_take_code (p);
1860       orc_program_free (p);
1861     }
1862     p_inited = TRUE;
1863     orc_once_mutex_unlock ();
1864   }
1865   ex->arrays[ORC_VAR_A2] = c;
1866   ex->program = 0;
1867
1868   ex->n = n;
1869   ex->arrays[ORC_VAR_D1] = d1;
1870   ex->arrays[ORC_VAR_S1] = (void *) s1;
1871
1872   func = c->exec;
1873   func (ex);
1874 }
1875 #endif
1876
1877
1878 /* audio_orc_unpack_s32_swap */
1879 #ifdef DISABLE_ORC
1880 void
1881 audio_orc_unpack_s32_swap (gint32 * ORC_RESTRICT d1,
1882     const guint8 * ORC_RESTRICT s1, int n)
1883 {
1884   int i;
1885   orc_union32 *ORC_RESTRICT ptr0;
1886   const orc_union32 *ORC_RESTRICT ptr4;
1887   orc_union32 var32;
1888   orc_union32 var33;
1889
1890   ptr0 = (orc_union32 *) d1;
1891   ptr4 = (orc_union32 *) s1;
1892
1893
1894   for (i = 0; i < n; i++) {
1895     /* 0: loadl */
1896     var32 = ptr4[i];
1897     /* 1: swapl */
1898     var33.i = ORC_SWAP_L (var32.i);
1899     /* 2: storel */
1900     ptr0[i] = var33;
1901   }
1902
1903 }
1904
1905 #else
1906 static void
1907 _backup_audio_orc_unpack_s32_swap (OrcExecutor * ORC_RESTRICT ex)
1908 {
1909   int i;
1910   int n = ex->n;
1911   orc_union32 *ORC_RESTRICT ptr0;
1912   const orc_union32 *ORC_RESTRICT ptr4;
1913   orc_union32 var32;
1914   orc_union32 var33;
1915
1916   ptr0 = (orc_union32 *) ex->arrays[0];
1917   ptr4 = (orc_union32 *) ex->arrays[4];
1918
1919
1920   for (i = 0; i < n; i++) {
1921     /* 0: loadl */
1922     var32 = ptr4[i];
1923     /* 1: swapl */
1924     var33.i = ORC_SWAP_L (var32.i);
1925     /* 2: storel */
1926     ptr0[i] = var33;
1927   }
1928
1929 }
1930
1931 void
1932 audio_orc_unpack_s32_swap (gint32 * ORC_RESTRICT d1,
1933     const guint8 * ORC_RESTRICT s1, int n)
1934 {
1935   OrcExecutor _ex, *ex = &_ex;
1936   static volatile int p_inited = 0;
1937   static OrcCode *c = 0;
1938   void (*func) (OrcExecutor *);
1939
1940   if (!p_inited) {
1941     orc_once_mutex_lock ();
1942     if (!p_inited) {
1943       OrcProgram *p;
1944
1945 #if 1
1946       static const orc_uint8 bc[] = {
1947         1, 9, 25, 97, 117, 100, 105, 111, 95, 111, 114, 99, 95, 117, 110, 112,
1948         97, 99, 107, 95, 115, 51, 50, 95, 115, 119, 97, 112, 11, 4, 4, 12,
1949         4, 4, 184, 0, 4, 2, 0,
1950       };
1951       p = orc_program_new_from_static_bytecode (bc);
1952       orc_program_set_backup_function (p, _backup_audio_orc_unpack_s32_swap);
1953 #else
1954       p = orc_program_new ();
1955       orc_program_set_name (p, "audio_orc_unpack_s32_swap");
1956       orc_program_set_backup_function (p, _backup_audio_orc_unpack_s32_swap);
1957       orc_program_add_destination (p, 4, "d1");
1958       orc_program_add_source (p, 4, "s1");
1959
1960       orc_program_append_2 (p, "swapl", 0, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_D1,
1961           ORC_VAR_D1);
1962 #endif
1963
1964       orc_program_compile (p);
1965       c = orc_program_take_code (p);
1966       orc_program_free (p);
1967     }
1968     p_inited = TRUE;
1969     orc_once_mutex_unlock ();
1970   }
1971   ex->arrays[ORC_VAR_A2] = c;
1972   ex->program = 0;
1973
1974   ex->n = n;
1975   ex->arrays[ORC_VAR_D1] = d1;
1976   ex->arrays[ORC_VAR_S1] = (void *) s1;
1977
1978   func = c->exec;
1979   func (ex);
1980 }
1981 #endif
1982
1983
1984 /* audio_orc_unpack_f32 */
1985 #ifdef DISABLE_ORC
1986 void
1987 audio_orc_unpack_f32 (gdouble * ORC_RESTRICT d1, const gfloat * ORC_RESTRICT s1,
1988     int n)
1989 {
1990   int i;
1991   orc_union64 *ORC_RESTRICT ptr0;
1992   const orc_union32 *ORC_RESTRICT ptr4;
1993   orc_union32 var32;
1994   orc_union64 var33;
1995
1996   ptr0 = (orc_union64 *) d1;
1997   ptr4 = (orc_union32 *) s1;
1998
1999
2000   for (i = 0; i < n; i++) {
2001     /* 0: loadl */
2002     var32 = ptr4[i];
2003     /* 1: convfd */
2004     {
2005       orc_union32 _src1;
2006       _src1.i = ORC_DENORMAL (var32.i);
2007       var33.f = _src1.f;
2008     }
2009     /* 2: storeq */
2010     ptr0[i] = var33;
2011   }
2012
2013 }
2014
2015 #else
2016 static void
2017 _backup_audio_orc_unpack_f32 (OrcExecutor * ORC_RESTRICT ex)
2018 {
2019   int i;
2020   int n = ex->n;
2021   orc_union64 *ORC_RESTRICT ptr0;
2022   const orc_union32 *ORC_RESTRICT ptr4;
2023   orc_union32 var32;
2024   orc_union64 var33;
2025
2026   ptr0 = (orc_union64 *) ex->arrays[0];
2027   ptr4 = (orc_union32 *) ex->arrays[4];
2028
2029
2030   for (i = 0; i < n; i++) {
2031     /* 0: loadl */
2032     var32 = ptr4[i];
2033     /* 1: convfd */
2034     {
2035       orc_union32 _src1;
2036       _src1.i = ORC_DENORMAL (var32.i);
2037       var33.f = _src1.f;
2038     }
2039     /* 2: storeq */
2040     ptr0[i] = var33;
2041   }
2042
2043 }
2044
2045 void
2046 audio_orc_unpack_f32 (gdouble * ORC_RESTRICT d1, const gfloat * ORC_RESTRICT s1,
2047     int n)
2048 {
2049   OrcExecutor _ex, *ex = &_ex;
2050   static volatile int p_inited = 0;
2051   static OrcCode *c = 0;
2052   void (*func) (OrcExecutor *);
2053
2054   if (!p_inited) {
2055     orc_once_mutex_lock ();
2056     if (!p_inited) {
2057       OrcProgram *p;
2058
2059 #if 1
2060       static const orc_uint8 bc[] = {
2061         1, 9, 20, 97, 117, 100, 105, 111, 95, 111, 114, 99, 95, 117, 110, 112,
2062         97, 99, 107, 95, 102, 51, 50, 11, 8, 8, 12, 4, 4, 224, 0, 4,
2063         2, 0,
2064       };
2065       p = orc_program_new_from_static_bytecode (bc);
2066       orc_program_set_backup_function (p, _backup_audio_orc_unpack_f32);
2067 #else
2068       p = orc_program_new ();
2069       orc_program_set_name (p, "audio_orc_unpack_f32");
2070       orc_program_set_backup_function (p, _backup_audio_orc_unpack_f32);
2071       orc_program_add_destination (p, 8, "d1");
2072       orc_program_add_source (p, 4, "s1");
2073
2074       orc_program_append_2 (p, "convfd", 0, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_D1,
2075           ORC_VAR_D1);
2076 #endif
2077
2078       orc_program_compile (p);
2079       c = orc_program_take_code (p);
2080       orc_program_free (p);
2081     }
2082     p_inited = TRUE;
2083     orc_once_mutex_unlock ();
2084   }
2085   ex->arrays[ORC_VAR_A2] = c;
2086   ex->program = 0;
2087
2088   ex->n = n;
2089   ex->arrays[ORC_VAR_D1] = d1;
2090   ex->arrays[ORC_VAR_S1] = (void *) s1;
2091
2092   func = c->exec;
2093   func (ex);
2094 }
2095 #endif
2096
2097
2098 /* audio_orc_unpack_f32_swap */
2099 #ifdef DISABLE_ORC
2100 void
2101 audio_orc_unpack_f32_swap (gdouble * ORC_RESTRICT d1,
2102     const gfloat * ORC_RESTRICT s1, int n)
2103 {
2104   int i;
2105   orc_union64 *ORC_RESTRICT ptr0;
2106   const orc_union32 *ORC_RESTRICT ptr4;
2107   orc_union32 var33;
2108   orc_union64 var34;
2109   orc_union32 var35;
2110
2111   ptr0 = (orc_union64 *) d1;
2112   ptr4 = (orc_union32 *) s1;
2113
2114
2115   for (i = 0; i < n; i++) {
2116     /* 0: loadl */
2117     var33 = ptr4[i];
2118     /* 1: swapl */
2119     var35.i = ORC_SWAP_L (var33.i);
2120     /* 2: convfd */
2121     {
2122       orc_union32 _src1;
2123       _src1.i = ORC_DENORMAL (var35.i);
2124       var34.f = _src1.f;
2125     }
2126     /* 3: storeq */
2127     ptr0[i] = var34;
2128   }
2129
2130 }
2131
2132 #else
2133 static void
2134 _backup_audio_orc_unpack_f32_swap (OrcExecutor * ORC_RESTRICT ex)
2135 {
2136   int i;
2137   int n = ex->n;
2138   orc_union64 *ORC_RESTRICT ptr0;
2139   const orc_union32 *ORC_RESTRICT ptr4;
2140   orc_union32 var33;
2141   orc_union64 var34;
2142   orc_union32 var35;
2143
2144   ptr0 = (orc_union64 *) ex->arrays[0];
2145   ptr4 = (orc_union32 *) ex->arrays[4];
2146
2147
2148   for (i = 0; i < n; i++) {
2149     /* 0: loadl */
2150     var33 = ptr4[i];
2151     /* 1: swapl */
2152     var35.i = ORC_SWAP_L (var33.i);
2153     /* 2: convfd */
2154     {
2155       orc_union32 _src1;
2156       _src1.i = ORC_DENORMAL (var35.i);
2157       var34.f = _src1.f;
2158     }
2159     /* 3: storeq */
2160     ptr0[i] = var34;
2161   }
2162
2163 }
2164
2165 void
2166 audio_orc_unpack_f32_swap (gdouble * ORC_RESTRICT d1,
2167     const gfloat * ORC_RESTRICT s1, int n)
2168 {
2169   OrcExecutor _ex, *ex = &_ex;
2170   static volatile int p_inited = 0;
2171   static OrcCode *c = 0;
2172   void (*func) (OrcExecutor *);
2173
2174   if (!p_inited) {
2175     orc_once_mutex_lock ();
2176     if (!p_inited) {
2177       OrcProgram *p;
2178
2179 #if 1
2180       static const orc_uint8 bc[] = {
2181         1, 9, 25, 97, 117, 100, 105, 111, 95, 111, 114, 99, 95, 117, 110, 112,
2182         97, 99, 107, 95, 102, 51, 50, 95, 115, 119, 97, 112, 11, 8, 8, 12,
2183         4, 4, 20, 4, 184, 32, 4, 224, 0, 32, 2, 0,
2184       };
2185       p = orc_program_new_from_static_bytecode (bc);
2186       orc_program_set_backup_function (p, _backup_audio_orc_unpack_f32_swap);
2187 #else
2188       p = orc_program_new ();
2189       orc_program_set_name (p, "audio_orc_unpack_f32_swap");
2190       orc_program_set_backup_function (p, _backup_audio_orc_unpack_f32_swap);
2191       orc_program_add_destination (p, 8, "d1");
2192       orc_program_add_source (p, 4, "s1");
2193       orc_program_add_temporary (p, 4, "t1");
2194
2195       orc_program_append_2 (p, "swapl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
2196           ORC_VAR_D1);
2197       orc_program_append_2 (p, "convfd", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1,
2198           ORC_VAR_D1);
2199 #endif
2200
2201       orc_program_compile (p);
2202       c = orc_program_take_code (p);
2203       orc_program_free (p);
2204     }
2205     p_inited = TRUE;
2206     orc_once_mutex_unlock ();
2207   }
2208   ex->arrays[ORC_VAR_A2] = c;
2209   ex->program = 0;
2210
2211   ex->n = n;
2212   ex->arrays[ORC_VAR_D1] = d1;
2213   ex->arrays[ORC_VAR_S1] = (void *) s1;
2214
2215   func = c->exec;
2216   func (ex);
2217 }
2218 #endif
2219
2220
2221 /* audio_orc_unpack_f64 */
2222 #ifdef DISABLE_ORC
2223 void
2224 audio_orc_unpack_f64 (gdouble * ORC_RESTRICT d1,
2225     const gdouble * ORC_RESTRICT s1, int n)
2226 {
2227   int i;
2228   orc_union64 *ORC_RESTRICT ptr0;
2229   const orc_union64 *ORC_RESTRICT ptr4;
2230   orc_union64 var32;
2231   orc_union64 var33;
2232
2233   ptr0 = (orc_union64 *) d1;
2234   ptr4 = (orc_union64 *) s1;
2235
2236
2237   for (i = 0; i < n; i++) {
2238     /* 0: loadq */
2239     var32 = ptr4[i];
2240     /* 1: copyq */
2241     var33.i = var32.i;
2242     /* 2: storeq */
2243     ptr0[i] = var33;
2244   }
2245
2246 }
2247
2248 #else
2249 static void
2250 _backup_audio_orc_unpack_f64 (OrcExecutor * ORC_RESTRICT ex)
2251 {
2252   int i;
2253   int n = ex->n;
2254   orc_union64 *ORC_RESTRICT ptr0;
2255   const orc_union64 *ORC_RESTRICT ptr4;
2256   orc_union64 var32;
2257   orc_union64 var33;
2258
2259   ptr0 = (orc_union64 *) ex->arrays[0];
2260   ptr4 = (orc_union64 *) ex->arrays[4];
2261
2262
2263   for (i = 0; i < n; i++) {
2264     /* 0: loadq */
2265     var32 = ptr4[i];
2266     /* 1: copyq */
2267     var33.i = var32.i;
2268     /* 2: storeq */
2269     ptr0[i] = var33;
2270   }
2271
2272 }
2273
2274 void
2275 audio_orc_unpack_f64 (gdouble * ORC_RESTRICT d1,
2276     const gdouble * ORC_RESTRICT s1, int n)
2277 {
2278   OrcExecutor _ex, *ex = &_ex;
2279   static volatile int p_inited = 0;
2280   static OrcCode *c = 0;
2281   void (*func) (OrcExecutor *);
2282
2283   if (!p_inited) {
2284     orc_once_mutex_lock ();
2285     if (!p_inited) {
2286       OrcProgram *p;
2287
2288 #if 1
2289       static const orc_uint8 bc[] = {
2290         1, 9, 20, 97, 117, 100, 105, 111, 95, 111, 114, 99, 95, 117, 110, 112,
2291         97, 99, 107, 95, 102, 54, 52, 11, 8, 8, 12, 8, 8, 137, 0, 4,
2292         2, 0,
2293       };
2294       p = orc_program_new_from_static_bytecode (bc);
2295       orc_program_set_backup_function (p, _backup_audio_orc_unpack_f64);
2296 #else
2297       p = orc_program_new ();
2298       orc_program_set_name (p, "audio_orc_unpack_f64");
2299       orc_program_set_backup_function (p, _backup_audio_orc_unpack_f64);
2300       orc_program_add_destination (p, 8, "d1");
2301       orc_program_add_source (p, 8, "s1");
2302
2303       orc_program_append_2 (p, "copyq", 0, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_D1,
2304           ORC_VAR_D1);
2305 #endif
2306
2307       orc_program_compile (p);
2308       c = orc_program_take_code (p);
2309       orc_program_free (p);
2310     }
2311     p_inited = TRUE;
2312     orc_once_mutex_unlock ();
2313   }
2314   ex->arrays[ORC_VAR_A2] = c;
2315   ex->program = 0;
2316
2317   ex->n = n;
2318   ex->arrays[ORC_VAR_D1] = d1;
2319   ex->arrays[ORC_VAR_S1] = (void *) s1;
2320
2321   func = c->exec;
2322   func (ex);
2323 }
2324 #endif
2325
2326
2327 /* audio_orc_unpack_f64_swap */
2328 #ifdef DISABLE_ORC
2329 void
2330 audio_orc_unpack_f64_swap (gdouble * ORC_RESTRICT d1,
2331     const gdouble * ORC_RESTRICT s1, int n)
2332 {
2333   int i;
2334   orc_union64 *ORC_RESTRICT ptr0;
2335   const orc_union64 *ORC_RESTRICT ptr4;
2336   orc_union64 var32;
2337   orc_union64 var33;
2338
2339   ptr0 = (orc_union64 *) d1;
2340   ptr4 = (orc_union64 *) s1;
2341
2342
2343   for (i = 0; i < n; i++) {
2344     /* 0: loadq */
2345     var32 = ptr4[i];
2346     /* 1: swapq */
2347     var33.i = ORC_SWAP_Q (var32.i);
2348     /* 2: storeq */
2349     ptr0[i] = var33;
2350   }
2351
2352 }
2353
2354 #else
2355 static void
2356 _backup_audio_orc_unpack_f64_swap (OrcExecutor * ORC_RESTRICT ex)
2357 {
2358   int i;
2359   int n = ex->n;
2360   orc_union64 *ORC_RESTRICT ptr0;
2361   const orc_union64 *ORC_RESTRICT ptr4;
2362   orc_union64 var32;
2363   orc_union64 var33;
2364
2365   ptr0 = (orc_union64 *) ex->arrays[0];
2366   ptr4 = (orc_union64 *) ex->arrays[4];
2367
2368
2369   for (i = 0; i < n; i++) {
2370     /* 0: loadq */
2371     var32 = ptr4[i];
2372     /* 1: swapq */
2373     var33.i = ORC_SWAP_Q (var32.i);
2374     /* 2: storeq */
2375     ptr0[i] = var33;
2376   }
2377
2378 }
2379
2380 void
2381 audio_orc_unpack_f64_swap (gdouble * ORC_RESTRICT d1,
2382     const gdouble * ORC_RESTRICT s1, int n)
2383 {
2384   OrcExecutor _ex, *ex = &_ex;
2385   static volatile int p_inited = 0;
2386   static OrcCode *c = 0;
2387   void (*func) (OrcExecutor *);
2388
2389   if (!p_inited) {
2390     orc_once_mutex_lock ();
2391     if (!p_inited) {
2392       OrcProgram *p;
2393
2394 #if 1
2395       static const orc_uint8 bc[] = {
2396         1, 9, 25, 97, 117, 100, 105, 111, 95, 111, 114, 99, 95, 117, 110, 112,
2397         97, 99, 107, 95, 102, 54, 52, 95, 115, 119, 97, 112, 11, 8, 8, 12,
2398         8, 8, 186, 0, 4, 2, 0,
2399       };
2400       p = orc_program_new_from_static_bytecode (bc);
2401       orc_program_set_backup_function (p, _backup_audio_orc_unpack_f64_swap);
2402 #else
2403       p = orc_program_new ();
2404       orc_program_set_name (p, "audio_orc_unpack_f64_swap");
2405       orc_program_set_backup_function (p, _backup_audio_orc_unpack_f64_swap);
2406       orc_program_add_destination (p, 8, "d1");
2407       orc_program_add_source (p, 8, "s1");
2408
2409       orc_program_append_2 (p, "swapq", 0, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_D1,
2410           ORC_VAR_D1);
2411 #endif
2412
2413       orc_program_compile (p);
2414       c = orc_program_take_code (p);
2415       orc_program_free (p);
2416     }
2417     p_inited = TRUE;
2418     orc_once_mutex_unlock ();
2419   }
2420   ex->arrays[ORC_VAR_A2] = c;
2421   ex->program = 0;
2422
2423   ex->n = n;
2424   ex->arrays[ORC_VAR_D1] = d1;
2425   ex->arrays[ORC_VAR_S1] = (void *) s1;
2426
2427   func = c->exec;
2428   func (ex);
2429 }
2430 #endif
2431
2432
2433 /* audio_orc_pack_u8 */
2434 #ifdef DISABLE_ORC
2435 void
2436 audio_orc_pack_u8 (guint8 * ORC_RESTRICT d1, const gint32 * ORC_RESTRICT s1,
2437     int n)
2438 {
2439   int i;
2440   orc_int8 *ORC_RESTRICT ptr0;
2441   const orc_union32 *ORC_RESTRICT ptr4;
2442   orc_union32 var34;
2443 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
2444   volatile orc_union32 var35;
2445 #else
2446   orc_union32 var35;
2447 #endif
2448   orc_int8 var36;
2449   orc_union32 var37;
2450   orc_union32 var38;
2451   orc_union16 var39;
2452
2453   ptr0 = (orc_int8 *) d1;
2454   ptr4 = (orc_union32 *) s1;
2455
2456   /* 1: loadpl */
2457   var35.i = (int) 0x80000000;   /* -2147483648 or 1.061e-314f */
2458
2459   for (i = 0; i < n; i++) {
2460     /* 0: loadl */
2461     var34 = ptr4[i];
2462     /* 2: xorl */
2463     var37.i = var34.i ^ var35.i;
2464     /* 3: shrul */
2465     var38.i = ((orc_uint32) var37.i) >> 24;
2466     /* 4: convlw */
2467     var39.i = var38.i;
2468     /* 5: convwb */
2469     var36 = var39.i;
2470     /* 6: storeb */
2471     ptr0[i] = var36;
2472   }
2473
2474 }
2475
2476 #else
2477 static void
2478 _backup_audio_orc_pack_u8 (OrcExecutor * ORC_RESTRICT ex)
2479 {
2480   int i;
2481   int n = ex->n;
2482   orc_int8 *ORC_RESTRICT ptr0;
2483   const orc_union32 *ORC_RESTRICT ptr4;
2484   orc_union32 var34;
2485 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
2486   volatile orc_union32 var35;
2487 #else
2488   orc_union32 var35;
2489 #endif
2490   orc_int8 var36;
2491   orc_union32 var37;
2492   orc_union32 var38;
2493   orc_union16 var39;
2494
2495   ptr0 = (orc_int8 *) ex->arrays[0];
2496   ptr4 = (orc_union32 *) ex->arrays[4];
2497
2498   /* 1: loadpl */
2499   var35.i = (int) 0x80000000;   /* -2147483648 or 1.061e-314f */
2500
2501   for (i = 0; i < n; i++) {
2502     /* 0: loadl */
2503     var34 = ptr4[i];
2504     /* 2: xorl */
2505     var37.i = var34.i ^ var35.i;
2506     /* 3: shrul */
2507     var38.i = ((orc_uint32) var37.i) >> 24;
2508     /* 4: convlw */
2509     var39.i = var38.i;
2510     /* 5: convwb */
2511     var36 = var39.i;
2512     /* 6: storeb */
2513     ptr0[i] = var36;
2514   }
2515
2516 }
2517
2518 void
2519 audio_orc_pack_u8 (guint8 * ORC_RESTRICT d1, const gint32 * ORC_RESTRICT s1,
2520     int n)
2521 {
2522   OrcExecutor _ex, *ex = &_ex;
2523   static volatile int p_inited = 0;
2524   static OrcCode *c = 0;
2525   void (*func) (OrcExecutor *);
2526
2527   if (!p_inited) {
2528     orc_once_mutex_lock ();
2529     if (!p_inited) {
2530       OrcProgram *p;
2531
2532 #if 1
2533       static const orc_uint8 bc[] = {
2534         1, 9, 17, 97, 117, 100, 105, 111, 95, 111, 114, 99, 95, 112, 97, 99,
2535         107, 95, 117, 56, 11, 1, 1, 12, 4, 4, 14, 4, 24, 0, 0, 0,
2536         14, 4, 0, 0, 0, 128, 20, 4, 20, 2, 132, 32, 4, 17, 126, 32,
2537         32, 16, 163, 33, 32, 157, 0, 33, 2, 0,
2538       };
2539       p = orc_program_new_from_static_bytecode (bc);
2540       orc_program_set_backup_function (p, _backup_audio_orc_pack_u8);
2541 #else
2542       p = orc_program_new ();
2543       orc_program_set_name (p, "audio_orc_pack_u8");
2544       orc_program_set_backup_function (p, _backup_audio_orc_pack_u8);
2545       orc_program_add_destination (p, 1, "d1");
2546       orc_program_add_source (p, 4, "s1");
2547       orc_program_add_constant (p, 4, 0x00000018, "c1");
2548       orc_program_add_constant (p, 4, 0x80000000, "c2");
2549       orc_program_add_temporary (p, 4, "t1");
2550       orc_program_add_temporary (p, 2, "t2");
2551
2552       orc_program_append_2 (p, "xorl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_C2,
2553           ORC_VAR_D1);
2554       orc_program_append_2 (p, "shrul", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
2555           ORC_VAR_D1);
2556       orc_program_append_2 (p, "convlw", 0, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_D1,
2557           ORC_VAR_D1);
2558       orc_program_append_2 (p, "convwb", 0, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_D1,
2559           ORC_VAR_D1);
2560 #endif
2561
2562       orc_program_compile (p);
2563       c = orc_program_take_code (p);
2564       orc_program_free (p);
2565     }
2566     p_inited = TRUE;
2567     orc_once_mutex_unlock ();
2568   }
2569   ex->arrays[ORC_VAR_A2] = c;
2570   ex->program = 0;
2571
2572   ex->n = n;
2573   ex->arrays[ORC_VAR_D1] = d1;
2574   ex->arrays[ORC_VAR_S1] = (void *) s1;
2575
2576   func = c->exec;
2577   func (ex);
2578 }
2579 #endif
2580
2581
2582 /* audio_orc_pack_s8 */
2583 #ifdef DISABLE_ORC
2584 void
2585 audio_orc_pack_s8 (guint8 * ORC_RESTRICT d1, const gint32 * ORC_RESTRICT s1,
2586     int n)
2587 {
2588   int i;
2589   orc_int8 *ORC_RESTRICT ptr0;
2590   const orc_union32 *ORC_RESTRICT ptr4;
2591   orc_union32 var34;
2592   orc_int8 var35;
2593   orc_union32 var36;
2594   orc_union16 var37;
2595
2596   ptr0 = (orc_int8 *) d1;
2597   ptr4 = (orc_union32 *) s1;
2598
2599
2600   for (i = 0; i < n; i++) {
2601     /* 0: loadl */
2602     var34 = ptr4[i];
2603     /* 1: shrsl */
2604     var36.i = var34.i >> 24;
2605     /* 2: convlw */
2606     var37.i = var36.i;
2607     /* 3: convwb */
2608     var35 = var37.i;
2609     /* 4: storeb */
2610     ptr0[i] = var35;
2611   }
2612
2613 }
2614
2615 #else
2616 static void
2617 _backup_audio_orc_pack_s8 (OrcExecutor * ORC_RESTRICT ex)
2618 {
2619   int i;
2620   int n = ex->n;
2621   orc_int8 *ORC_RESTRICT ptr0;
2622   const orc_union32 *ORC_RESTRICT ptr4;
2623   orc_union32 var34;
2624   orc_int8 var35;
2625   orc_union32 var36;
2626   orc_union16 var37;
2627
2628   ptr0 = (orc_int8 *) ex->arrays[0];
2629   ptr4 = (orc_union32 *) ex->arrays[4];
2630
2631
2632   for (i = 0; i < n; i++) {
2633     /* 0: loadl */
2634     var34 = ptr4[i];
2635     /* 1: shrsl */
2636     var36.i = var34.i >> 24;
2637     /* 2: convlw */
2638     var37.i = var36.i;
2639     /* 3: convwb */
2640     var35 = var37.i;
2641     /* 4: storeb */
2642     ptr0[i] = var35;
2643   }
2644
2645 }
2646
2647 void
2648 audio_orc_pack_s8 (guint8 * ORC_RESTRICT d1, const gint32 * ORC_RESTRICT s1,
2649     int n)
2650 {
2651   OrcExecutor _ex, *ex = &_ex;
2652   static volatile int p_inited = 0;
2653   static OrcCode *c = 0;
2654   void (*func) (OrcExecutor *);
2655
2656   if (!p_inited) {
2657     orc_once_mutex_lock ();
2658     if (!p_inited) {
2659       OrcProgram *p;
2660
2661 #if 1
2662       static const orc_uint8 bc[] = {
2663         1, 9, 17, 97, 117, 100, 105, 111, 95, 111, 114, 99, 95, 112, 97, 99,
2664         107, 95, 115, 56, 11, 1, 1, 12, 4, 4, 14, 4, 24, 0, 0, 0,
2665         20, 4, 20, 2, 125, 32, 4, 16, 163, 33, 32, 157, 0, 33, 2, 0,
2666
2667       };
2668       p = orc_program_new_from_static_bytecode (bc);
2669       orc_program_set_backup_function (p, _backup_audio_orc_pack_s8);
2670 #else
2671       p = orc_program_new ();
2672       orc_program_set_name (p, "audio_orc_pack_s8");
2673       orc_program_set_backup_function (p, _backup_audio_orc_pack_s8);
2674       orc_program_add_destination (p, 1, "d1");
2675       orc_program_add_source (p, 4, "s1");
2676       orc_program_add_constant (p, 4, 0x00000018, "c1");
2677       orc_program_add_temporary (p, 4, "t1");
2678       orc_program_add_temporary (p, 2, "t2");
2679
2680       orc_program_append_2 (p, "shrsl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_C1,
2681           ORC_VAR_D1);
2682       orc_program_append_2 (p, "convlw", 0, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_D1,
2683           ORC_VAR_D1);
2684       orc_program_append_2 (p, "convwb", 0, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_D1,
2685           ORC_VAR_D1);
2686 #endif
2687
2688       orc_program_compile (p);
2689       c = orc_program_take_code (p);
2690       orc_program_free (p);
2691     }
2692     p_inited = TRUE;
2693     orc_once_mutex_unlock ();
2694   }
2695   ex->arrays[ORC_VAR_A2] = c;
2696   ex->program = 0;
2697
2698   ex->n = n;
2699   ex->arrays[ORC_VAR_D1] = d1;
2700   ex->arrays[ORC_VAR_S1] = (void *) s1;
2701
2702   func = c->exec;
2703   func (ex);
2704 }
2705 #endif
2706
2707
2708 /* audio_orc_pack_u16 */
2709 #ifdef DISABLE_ORC
2710 void
2711 audio_orc_pack_u16 (guint8 * ORC_RESTRICT d1, const gint32 * ORC_RESTRICT s1,
2712     int n)
2713 {
2714   int i;
2715   orc_union16 *ORC_RESTRICT ptr0;
2716   const orc_union32 *ORC_RESTRICT ptr4;
2717   orc_union32 var33;
2718 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
2719   volatile orc_union32 var34;
2720 #else
2721   orc_union32 var34;
2722 #endif
2723   orc_union16 var35;
2724   orc_union32 var36;
2725   orc_union32 var37;
2726
2727   ptr0 = (orc_union16 *) d1;
2728   ptr4 = (orc_union32 *) s1;
2729
2730   /* 1: loadpl */
2731   var34.i = (int) 0x80000000;   /* -2147483648 or 1.061e-314f */
2732
2733   for (i = 0; i < n; i++) {
2734     /* 0: loadl */
2735     var33 = ptr4[i];
2736     /* 2: xorl */
2737     var36.i = var33.i ^ var34.i;
2738     /* 3: shrul */
2739     var37.i = ((orc_uint32) var36.i) >> 16;
2740     /* 4: convlw */
2741     var35.i = var37.i;
2742     /* 5: storew */
2743     ptr0[i] = var35;
2744   }
2745
2746 }
2747
2748 #else
2749 static void
2750 _backup_audio_orc_pack_u16 (OrcExecutor * ORC_RESTRICT ex)
2751 {
2752   int i;
2753   int n = ex->n;
2754   orc_union16 *ORC_RESTRICT ptr0;
2755   const orc_union32 *ORC_RESTRICT ptr4;
2756   orc_union32 var33;
2757 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
2758   volatile orc_union32 var34;
2759 #else
2760   orc_union32 var34;
2761 #endif
2762   orc_union16 var35;
2763   orc_union32 var36;
2764   orc_union32 var37;
2765
2766   ptr0 = (orc_union16 *) ex->arrays[0];
2767   ptr4 = (orc_union32 *) ex->arrays[4];
2768
2769   /* 1: loadpl */
2770   var34.i = (int) 0x80000000;   /* -2147483648 or 1.061e-314f */
2771
2772   for (i = 0; i < n; i++) {
2773     /* 0: loadl */
2774     var33 = ptr4[i];
2775     /* 2: xorl */
2776     var36.i = var33.i ^ var34.i;
2777     /* 3: shrul */
2778     var37.i = ((orc_uint32) var36.i) >> 16;
2779     /* 4: convlw */
2780     var35.i = var37.i;
2781     /* 5: storew */
2782     ptr0[i] = var35;
2783   }
2784
2785 }
2786
2787 void
2788 audio_orc_pack_u16 (guint8 * ORC_RESTRICT d1, const gint32 * ORC_RESTRICT s1,
2789     int n)
2790 {
2791   OrcExecutor _ex, *ex = &_ex;
2792   static volatile int p_inited = 0;
2793   static OrcCode *c = 0;
2794   void (*func) (OrcExecutor *);
2795
2796   if (!p_inited) {
2797     orc_once_mutex_lock ();
2798     if (!p_inited) {
2799       OrcProgram *p;
2800
2801 #if 1
2802       static const orc_uint8 bc[] = {
2803         1, 9, 18, 97, 117, 100, 105, 111, 95, 111, 114, 99, 95, 112, 97, 99,
2804         107, 95, 117, 49, 54, 11, 2, 2, 12, 4, 4, 14, 4, 16, 0, 0,
2805         0, 14, 4, 0, 0, 0, 128, 20, 4, 132, 32, 4, 17, 126, 32, 32,
2806         16, 163, 0, 32, 2, 0,
2807       };
2808       p = orc_program_new_from_static_bytecode (bc);
2809       orc_program_set_backup_function (p, _backup_audio_orc_pack_u16);
2810 #else
2811       p = orc_program_new ();
2812       orc_program_set_name (p, "audio_orc_pack_u16");
2813       orc_program_set_backup_function (p, _backup_audio_orc_pack_u16);
2814       orc_program_add_destination (p, 2, "d1");
2815       orc_program_add_source (p, 4, "s1");
2816       orc_program_add_constant (p, 4, 0x00000010, "c1");
2817       orc_program_add_constant (p, 4, 0x80000000, "c2");
2818       orc_program_add_temporary (p, 4, "t1");
2819
2820       orc_program_append_2 (p, "xorl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_C2,
2821           ORC_VAR_D1);
2822       orc_program_append_2 (p, "shrul", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
2823           ORC_VAR_D1);
2824       orc_program_append_2 (p, "convlw", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1,
2825           ORC_VAR_D1);
2826 #endif
2827
2828       orc_program_compile (p);
2829       c = orc_program_take_code (p);
2830       orc_program_free (p);
2831     }
2832     p_inited = TRUE;
2833     orc_once_mutex_unlock ();
2834   }
2835   ex->arrays[ORC_VAR_A2] = c;
2836   ex->program = 0;
2837
2838   ex->n = n;
2839   ex->arrays[ORC_VAR_D1] = d1;
2840   ex->arrays[ORC_VAR_S1] = (void *) s1;
2841
2842   func = c->exec;
2843   func (ex);
2844 }
2845 #endif
2846
2847
2848 /* audio_orc_pack_s16 */
2849 #ifdef DISABLE_ORC
2850 void
2851 audio_orc_pack_s16 (guint8 * ORC_RESTRICT d1, const gint32 * ORC_RESTRICT s1,
2852     int n)
2853 {
2854   int i;
2855   orc_union16 *ORC_RESTRICT ptr0;
2856   const orc_union32 *ORC_RESTRICT ptr4;
2857   orc_union32 var33;
2858   orc_union16 var34;
2859   orc_union32 var35;
2860
2861   ptr0 = (orc_union16 *) d1;
2862   ptr4 = (orc_union32 *) s1;
2863
2864
2865   for (i = 0; i < n; i++) {
2866     /* 0: loadl */
2867     var33 = ptr4[i];
2868     /* 1: shrsl */
2869     var35.i = var33.i >> 16;
2870     /* 2: convlw */
2871     var34.i = var35.i;
2872     /* 3: storew */
2873     ptr0[i] = var34;
2874   }
2875
2876 }
2877
2878 #else
2879 static void
2880 _backup_audio_orc_pack_s16 (OrcExecutor * ORC_RESTRICT ex)
2881 {
2882   int i;
2883   int n = ex->n;
2884   orc_union16 *ORC_RESTRICT ptr0;
2885   const orc_union32 *ORC_RESTRICT ptr4;
2886   orc_union32 var33;
2887   orc_union16 var34;
2888   orc_union32 var35;
2889
2890   ptr0 = (orc_union16 *) ex->arrays[0];
2891   ptr4 = (orc_union32 *) ex->arrays[4];
2892
2893
2894   for (i = 0; i < n; i++) {
2895     /* 0: loadl */
2896     var33 = ptr4[i];
2897     /* 1: shrsl */
2898     var35.i = var33.i >> 16;
2899     /* 2: convlw */
2900     var34.i = var35.i;
2901     /* 3: storew */
2902     ptr0[i] = var34;
2903   }
2904
2905 }
2906
2907 void
2908 audio_orc_pack_s16 (guint8 * ORC_RESTRICT d1, const gint32 * ORC_RESTRICT s1,
2909     int n)
2910 {
2911   OrcExecutor _ex, *ex = &_ex;
2912   static volatile int p_inited = 0;
2913   static OrcCode *c = 0;
2914   void (*func) (OrcExecutor *);
2915
2916   if (!p_inited) {
2917     orc_once_mutex_lock ();
2918     if (!p_inited) {
2919       OrcProgram *p;
2920
2921 #if 1
2922       static const orc_uint8 bc[] = {
2923         1, 9, 18, 97, 117, 100, 105, 111, 95, 111, 114, 99, 95, 112, 97, 99,
2924         107, 95, 115, 49, 54, 11, 2, 2, 12, 4, 4, 14, 4, 16, 0, 0,
2925         0, 20, 4, 125, 32, 4, 16, 163, 0, 32, 2, 0,
2926       };
2927       p = orc_program_new_from_static_bytecode (bc);
2928       orc_program_set_backup_function (p, _backup_audio_orc_pack_s16);
2929 #else
2930       p = orc_program_new ();
2931       orc_program_set_name (p, "audio_orc_pack_s16");
2932       orc_program_set_backup_function (p, _backup_audio_orc_pack_s16);
2933       orc_program_add_destination (p, 2, "d1");
2934       orc_program_add_source (p, 4, "s1");
2935       orc_program_add_constant (p, 4, 0x00000010, "c1");
2936       orc_program_add_temporary (p, 4, "t1");
2937
2938       orc_program_append_2 (p, "shrsl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_C1,
2939           ORC_VAR_D1);
2940       orc_program_append_2 (p, "convlw", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1,
2941           ORC_VAR_D1);
2942 #endif
2943
2944       orc_program_compile (p);
2945       c = orc_program_take_code (p);
2946       orc_program_free (p);
2947     }
2948     p_inited = TRUE;
2949     orc_once_mutex_unlock ();
2950   }
2951   ex->arrays[ORC_VAR_A2] = c;
2952   ex->program = 0;
2953
2954   ex->n = n;
2955   ex->arrays[ORC_VAR_D1] = d1;
2956   ex->arrays[ORC_VAR_S1] = (void *) s1;
2957
2958   func = c->exec;
2959   func (ex);
2960 }
2961 #endif
2962
2963
2964 /* audio_orc_pack_u16_swap */
2965 #ifdef DISABLE_ORC
2966 void
2967 audio_orc_pack_u16_swap (guint8 * ORC_RESTRICT d1,
2968     const gint32 * ORC_RESTRICT s1, int n)
2969 {
2970   int i;
2971   orc_union16 *ORC_RESTRICT ptr0;
2972   const orc_union32 *ORC_RESTRICT ptr4;
2973   orc_union32 var34;
2974 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
2975   volatile orc_union32 var35;
2976 #else
2977   orc_union32 var35;
2978 #endif
2979   orc_union16 var36;
2980   orc_union32 var37;
2981   orc_union32 var38;
2982   orc_union16 var39;
2983
2984   ptr0 = (orc_union16 *) d1;
2985   ptr4 = (orc_union32 *) s1;
2986
2987   /* 1: loadpl */
2988   var35.i = (int) 0x80000000;   /* -2147483648 or 1.061e-314f */
2989
2990   for (i = 0; i < n; i++) {
2991     /* 0: loadl */
2992     var34 = ptr4[i];
2993     /* 2: xorl */
2994     var37.i = var34.i ^ var35.i;
2995     /* 3: shrul */
2996     var38.i = ((orc_uint32) var37.i) >> 16;
2997     /* 4: convlw */
2998     var39.i = var38.i;
2999     /* 5: swapw */
3000     var36.i = ORC_SWAP_W (var39.i);
3001     /* 6: storew */
3002     ptr0[i] = var36;
3003   }
3004
3005 }
3006
3007 #else
3008 static void
3009 _backup_audio_orc_pack_u16_swap (OrcExecutor * ORC_RESTRICT ex)
3010 {
3011   int i;
3012   int n = ex->n;
3013   orc_union16 *ORC_RESTRICT ptr0;
3014   const orc_union32 *ORC_RESTRICT ptr4;
3015   orc_union32 var34;
3016 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
3017   volatile orc_union32 var35;
3018 #else
3019   orc_union32 var35;
3020 #endif
3021   orc_union16 var36;
3022   orc_union32 var37;
3023   orc_union32 var38;
3024   orc_union16 var39;
3025
3026   ptr0 = (orc_union16 *) ex->arrays[0];
3027   ptr4 = (orc_union32 *) ex->arrays[4];
3028
3029   /* 1: loadpl */
3030   var35.i = (int) 0x80000000;   /* -2147483648 or 1.061e-314f */
3031
3032   for (i = 0; i < n; i++) {
3033     /* 0: loadl */
3034     var34 = ptr4[i];
3035     /* 2: xorl */
3036     var37.i = var34.i ^ var35.i;
3037     /* 3: shrul */
3038     var38.i = ((orc_uint32) var37.i) >> 16;
3039     /* 4: convlw */
3040     var39.i = var38.i;
3041     /* 5: swapw */
3042     var36.i = ORC_SWAP_W (var39.i);
3043     /* 6: storew */
3044     ptr0[i] = var36;
3045   }
3046
3047 }
3048
3049 void
3050 audio_orc_pack_u16_swap (guint8 * ORC_RESTRICT d1,
3051     const gint32 * ORC_RESTRICT s1, int n)
3052 {
3053   OrcExecutor _ex, *ex = &_ex;
3054   static volatile int p_inited = 0;
3055   static OrcCode *c = 0;
3056   void (*func) (OrcExecutor *);
3057
3058   if (!p_inited) {
3059     orc_once_mutex_lock ();
3060     if (!p_inited) {
3061       OrcProgram *p;
3062
3063 #if 1
3064       static const orc_uint8 bc[] = {
3065         1, 9, 23, 97, 117, 100, 105, 111, 95, 111, 114, 99, 95, 112, 97, 99,
3066         107, 95, 117, 49, 54, 95, 115, 119, 97, 112, 11, 2, 2, 12, 4, 4,
3067         14, 4, 0, 0, 0, 128, 14, 4, 16, 0, 0, 0, 20, 4, 20, 2,
3068         132, 32, 4, 16, 126, 32, 32, 17, 163, 33, 32, 183, 0, 33, 2, 0,
3069
3070       };
3071       p = orc_program_new_from_static_bytecode (bc);
3072       orc_program_set_backup_function (p, _backup_audio_orc_pack_u16_swap);
3073 #else
3074       p = orc_program_new ();
3075       orc_program_set_name (p, "audio_orc_pack_u16_swap");
3076       orc_program_set_backup_function (p, _backup_audio_orc_pack_u16_swap);
3077       orc_program_add_destination (p, 2, "d1");
3078       orc_program_add_source (p, 4, "s1");
3079       orc_program_add_constant (p, 4, 0x80000000, "c1");
3080       orc_program_add_constant (p, 4, 0x00000010, "c2");
3081       orc_program_add_temporary (p, 4, "t1");
3082       orc_program_add_temporary (p, 2, "t2");
3083
3084       orc_program_append_2 (p, "xorl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_C1,
3085           ORC_VAR_D1);
3086       orc_program_append_2 (p, "shrul", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C2,
3087           ORC_VAR_D1);
3088       orc_program_append_2 (p, "convlw", 0, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_D1,
3089           ORC_VAR_D1);
3090       orc_program_append_2 (p, "swapw", 0, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_D1,
3091           ORC_VAR_D1);
3092 #endif
3093
3094       orc_program_compile (p);
3095       c = orc_program_take_code (p);
3096       orc_program_free (p);
3097     }
3098     p_inited = TRUE;
3099     orc_once_mutex_unlock ();
3100   }
3101   ex->arrays[ORC_VAR_A2] = c;
3102   ex->program = 0;
3103
3104   ex->n = n;
3105   ex->arrays[ORC_VAR_D1] = d1;
3106   ex->arrays[ORC_VAR_S1] = (void *) s1;
3107
3108   func = c->exec;
3109   func (ex);
3110 }
3111 #endif
3112
3113
3114 /* audio_orc_pack_s16_swap */
3115 #ifdef DISABLE_ORC
3116 void
3117 audio_orc_pack_s16_swap (guint8 * ORC_RESTRICT d1,
3118     const gint32 * ORC_RESTRICT s1, int n)
3119 {
3120   int i;
3121   orc_union16 *ORC_RESTRICT ptr0;
3122   const orc_union32 *ORC_RESTRICT ptr4;
3123   orc_union32 var34;
3124   orc_union16 var35;
3125   orc_union32 var36;
3126   orc_union16 var37;
3127
3128   ptr0 = (orc_union16 *) d1;
3129   ptr4 = (orc_union32 *) s1;
3130
3131
3132   for (i = 0; i < n; i++) {
3133     /* 0: loadl */
3134     var34 = ptr4[i];
3135     /* 1: shrsl */
3136     var36.i = var34.i >> 16;
3137     /* 2: convlw */
3138     var37.i = var36.i;
3139     /* 3: swapw */
3140     var35.i = ORC_SWAP_W (var37.i);
3141     /* 4: storew */
3142     ptr0[i] = var35;
3143   }
3144
3145 }
3146
3147 #else
3148 static void
3149 _backup_audio_orc_pack_s16_swap (OrcExecutor * ORC_RESTRICT ex)
3150 {
3151   int i;
3152   int n = ex->n;
3153   orc_union16 *ORC_RESTRICT ptr0;
3154   const orc_union32 *ORC_RESTRICT ptr4;
3155   orc_union32 var34;
3156   orc_union16 var35;
3157   orc_union32 var36;
3158   orc_union16 var37;
3159
3160   ptr0 = (orc_union16 *) ex->arrays[0];
3161   ptr4 = (orc_union32 *) ex->arrays[4];
3162
3163
3164   for (i = 0; i < n; i++) {
3165     /* 0: loadl */
3166     var34 = ptr4[i];
3167     /* 1: shrsl */
3168     var36.i = var34.i >> 16;
3169     /* 2: convlw */
3170     var37.i = var36.i;
3171     /* 3: swapw */
3172     var35.i = ORC_SWAP_W (var37.i);
3173     /* 4: storew */
3174     ptr0[i] = var35;
3175   }
3176
3177 }
3178
3179 void
3180 audio_orc_pack_s16_swap (guint8 * ORC_RESTRICT d1,
3181     const gint32 * ORC_RESTRICT s1, int n)
3182 {
3183   OrcExecutor _ex, *ex = &_ex;
3184   static volatile int p_inited = 0;
3185   static OrcCode *c = 0;
3186   void (*func) (OrcExecutor *);
3187
3188   if (!p_inited) {
3189     orc_once_mutex_lock ();
3190     if (!p_inited) {
3191       OrcProgram *p;
3192
3193 #if 1
3194       static const orc_uint8 bc[] = {
3195         1, 9, 23, 97, 117, 100, 105, 111, 95, 111, 114, 99, 95, 112, 97, 99,
3196         107, 95, 115, 49, 54, 95, 115, 119, 97, 112, 11, 2, 2, 12, 4, 4,
3197         14, 4, 16, 0, 0, 0, 20, 4, 20, 2, 125, 32, 4, 16, 163, 33,
3198         32, 183, 0, 33, 2, 0,
3199       };
3200       p = orc_program_new_from_static_bytecode (bc);
3201       orc_program_set_backup_function (p, _backup_audio_orc_pack_s16_swap);
3202 #else
3203       p = orc_program_new ();
3204       orc_program_set_name (p, "audio_orc_pack_s16_swap");
3205       orc_program_set_backup_function (p, _backup_audio_orc_pack_s16_swap);
3206       orc_program_add_destination (p, 2, "d1");
3207       orc_program_add_source (p, 4, "s1");
3208       orc_program_add_constant (p, 4, 0x00000010, "c1");
3209       orc_program_add_temporary (p, 4, "t1");
3210       orc_program_add_temporary (p, 2, "t2");
3211
3212       orc_program_append_2 (p, "shrsl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_C1,
3213           ORC_VAR_D1);
3214       orc_program_append_2 (p, "convlw", 0, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_D1,
3215           ORC_VAR_D1);
3216       orc_program_append_2 (p, "swapw", 0, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_D1,
3217           ORC_VAR_D1);
3218 #endif
3219
3220       orc_program_compile (p);
3221       c = orc_program_take_code (p);
3222       orc_program_free (p);
3223     }
3224     p_inited = TRUE;
3225     orc_once_mutex_unlock ();
3226   }
3227   ex->arrays[ORC_VAR_A2] = c;
3228   ex->program = 0;
3229
3230   ex->n = n;
3231   ex->arrays[ORC_VAR_D1] = d1;
3232   ex->arrays[ORC_VAR_S1] = (void *) s1;
3233
3234   func = c->exec;
3235   func (ex);
3236 }
3237 #endif
3238
3239
3240 /* audio_orc_pack_u24_32 */
3241 #ifdef DISABLE_ORC
3242 void
3243 audio_orc_pack_u24_32 (guint8 * ORC_RESTRICT d1, const gint32 * ORC_RESTRICT s1,
3244     int n)
3245 {
3246   int i;
3247   orc_union32 *ORC_RESTRICT ptr0;
3248   const orc_union32 *ORC_RESTRICT ptr4;
3249   orc_union32 var33;
3250 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
3251   volatile orc_union32 var34;
3252 #else
3253   orc_union32 var34;
3254 #endif
3255   orc_union32 var35;
3256   orc_union32 var36;
3257
3258   ptr0 = (orc_union32 *) d1;
3259   ptr4 = (orc_union32 *) s1;
3260
3261   /* 1: loadpl */
3262   var34.i = (int) 0x80000000;   /* -2147483648 or 1.061e-314f */
3263
3264   for (i = 0; i < n; i++) {
3265     /* 0: loadl */
3266     var33 = ptr4[i];
3267     /* 2: xorl */
3268     var36.i = var33.i ^ var34.i;
3269     /* 3: shrul */
3270     var35.i = ((orc_uint32) var36.i) >> 8;
3271     /* 4: storel */
3272     ptr0[i] = var35;
3273   }
3274
3275 }
3276
3277 #else
3278 static void
3279 _backup_audio_orc_pack_u24_32 (OrcExecutor * ORC_RESTRICT ex)
3280 {
3281   int i;
3282   int n = ex->n;
3283   orc_union32 *ORC_RESTRICT ptr0;
3284   const orc_union32 *ORC_RESTRICT ptr4;
3285   orc_union32 var33;
3286 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
3287   volatile orc_union32 var34;
3288 #else
3289   orc_union32 var34;
3290 #endif
3291   orc_union32 var35;
3292   orc_union32 var36;
3293
3294   ptr0 = (orc_union32 *) ex->arrays[0];
3295   ptr4 = (orc_union32 *) ex->arrays[4];
3296
3297   /* 1: loadpl */
3298   var34.i = (int) 0x80000000;   /* -2147483648 or 1.061e-314f */
3299
3300   for (i = 0; i < n; i++) {
3301     /* 0: loadl */
3302     var33 = ptr4[i];
3303     /* 2: xorl */
3304     var36.i = var33.i ^ var34.i;
3305     /* 3: shrul */
3306     var35.i = ((orc_uint32) var36.i) >> 8;
3307     /* 4: storel */
3308     ptr0[i] = var35;
3309   }
3310
3311 }
3312
3313 void
3314 audio_orc_pack_u24_32 (guint8 * ORC_RESTRICT d1, const gint32 * ORC_RESTRICT s1,
3315     int n)
3316 {
3317   OrcExecutor _ex, *ex = &_ex;
3318   static volatile int p_inited = 0;
3319   static OrcCode *c = 0;
3320   void (*func) (OrcExecutor *);
3321
3322   if (!p_inited) {
3323     orc_once_mutex_lock ();
3324     if (!p_inited) {
3325       OrcProgram *p;
3326
3327 #if 1
3328       static const orc_uint8 bc[] = {
3329         1, 9, 21, 97, 117, 100, 105, 111, 95, 111, 114, 99, 95, 112, 97, 99,
3330         107, 95, 117, 50, 52, 95, 51, 50, 11, 4, 4, 12, 4, 4, 14, 4,
3331         0, 0, 0, 128, 14, 4, 8, 0, 0, 0, 20, 4, 132, 32, 4, 16,
3332         126, 0, 32, 17, 2, 0,
3333       };
3334       p = orc_program_new_from_static_bytecode (bc);
3335       orc_program_set_backup_function (p, _backup_audio_orc_pack_u24_32);
3336 #else
3337       p = orc_program_new ();
3338       orc_program_set_name (p, "audio_orc_pack_u24_32");
3339       orc_program_set_backup_function (p, _backup_audio_orc_pack_u24_32);
3340       orc_program_add_destination (p, 4, "d1");
3341       orc_program_add_source (p, 4, "s1");
3342       orc_program_add_constant (p, 4, 0x80000000, "c1");
3343       orc_program_add_constant (p, 4, 0x00000008, "c2");
3344       orc_program_add_temporary (p, 4, "t1");
3345
3346       orc_program_append_2 (p, "xorl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_C1,
3347           ORC_VAR_D1);
3348       orc_program_append_2 (p, "shrul", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_C2,
3349           ORC_VAR_D1);
3350 #endif
3351
3352       orc_program_compile (p);
3353       c = orc_program_take_code (p);
3354       orc_program_free (p);
3355     }
3356     p_inited = TRUE;
3357     orc_once_mutex_unlock ();
3358   }
3359   ex->arrays[ORC_VAR_A2] = c;
3360   ex->program = 0;
3361
3362   ex->n = n;
3363   ex->arrays[ORC_VAR_D1] = d1;
3364   ex->arrays[ORC_VAR_S1] = (void *) s1;
3365
3366   func = c->exec;
3367   func (ex);
3368 }
3369 #endif
3370
3371
3372 /* audio_orc_pack_s24_32 */
3373 #ifdef DISABLE_ORC
3374 void
3375 audio_orc_pack_s24_32 (guint8 * ORC_RESTRICT d1, const gint32 * ORC_RESTRICT s1,
3376     int n)
3377 {
3378   int i;
3379   orc_union32 *ORC_RESTRICT ptr0;
3380   const orc_union32 *ORC_RESTRICT ptr4;
3381   orc_union32 var32;
3382   orc_union32 var33;
3383
3384   ptr0 = (orc_union32 *) d1;
3385   ptr4 = (orc_union32 *) s1;
3386
3387
3388   for (i = 0; i < n; i++) {
3389     /* 0: loadl */
3390     var32 = ptr4[i];
3391     /* 1: shrsl */
3392     var33.i = var32.i >> 8;
3393     /* 2: storel */
3394     ptr0[i] = var33;
3395   }
3396
3397 }
3398
3399 #else
3400 static void
3401 _backup_audio_orc_pack_s24_32 (OrcExecutor * ORC_RESTRICT ex)
3402 {
3403   int i;
3404   int n = ex->n;
3405   orc_union32 *ORC_RESTRICT ptr0;
3406   const orc_union32 *ORC_RESTRICT ptr4;
3407   orc_union32 var32;
3408   orc_union32 var33;
3409
3410   ptr0 = (orc_union32 *) ex->arrays[0];
3411   ptr4 = (orc_union32 *) ex->arrays[4];
3412
3413
3414   for (i = 0; i < n; i++) {
3415     /* 0: loadl */
3416     var32 = ptr4[i];
3417     /* 1: shrsl */
3418     var33.i = var32.i >> 8;
3419     /* 2: storel */
3420     ptr0[i] = var33;
3421   }
3422
3423 }
3424
3425 void
3426 audio_orc_pack_s24_32 (guint8 * ORC_RESTRICT d1, const gint32 * ORC_RESTRICT s1,
3427     int n)
3428 {
3429   OrcExecutor _ex, *ex = &_ex;
3430   static volatile int p_inited = 0;
3431   static OrcCode *c = 0;
3432   void (*func) (OrcExecutor *);
3433
3434   if (!p_inited) {
3435     orc_once_mutex_lock ();
3436     if (!p_inited) {
3437       OrcProgram *p;
3438
3439 #if 1
3440       static const orc_uint8 bc[] = {
3441         1, 9, 21, 97, 117, 100, 105, 111, 95, 111, 114, 99, 95, 112, 97, 99,
3442         107, 95, 115, 50, 52, 95, 51, 50, 11, 4, 4, 12, 4, 4, 14, 4,
3443         8, 0, 0, 0, 125, 0, 4, 16, 2, 0,
3444       };
3445       p = orc_program_new_from_static_bytecode (bc);
3446       orc_program_set_backup_function (p, _backup_audio_orc_pack_s24_32);
3447 #else
3448       p = orc_program_new ();
3449       orc_program_set_name (p, "audio_orc_pack_s24_32");
3450       orc_program_set_backup_function (p, _backup_audio_orc_pack_s24_32);
3451       orc_program_add_destination (p, 4, "d1");
3452       orc_program_add_source (p, 4, "s1");
3453       orc_program_add_constant (p, 4, 0x00000008, "c1");
3454
3455       orc_program_append_2 (p, "shrsl", 0, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_C1,
3456           ORC_VAR_D1);
3457 #endif
3458
3459       orc_program_compile (p);
3460       c = orc_program_take_code (p);
3461       orc_program_free (p);
3462     }
3463     p_inited = TRUE;
3464     orc_once_mutex_unlock ();
3465   }
3466   ex->arrays[ORC_VAR_A2] = c;
3467   ex->program = 0;
3468
3469   ex->n = n;
3470   ex->arrays[ORC_VAR_D1] = d1;
3471   ex->arrays[ORC_VAR_S1] = (void *) s1;
3472
3473   func = c->exec;
3474   func (ex);
3475 }
3476 #endif
3477
3478
3479 /* audio_orc_pack_u24_32_swap */
3480 #ifdef DISABLE_ORC
3481 void
3482 audio_orc_pack_u24_32_swap (guint8 * ORC_RESTRICT d1,
3483     const gint32 * ORC_RESTRICT s1, int n)
3484 {
3485   int i;
3486   orc_union32 *ORC_RESTRICT ptr0;
3487   const orc_union32 *ORC_RESTRICT ptr4;
3488   orc_union32 var33;
3489 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
3490   volatile orc_union32 var34;
3491 #else
3492   orc_union32 var34;
3493 #endif
3494   orc_union32 var35;
3495   orc_union32 var36;
3496   orc_union32 var37;
3497
3498   ptr0 = (orc_union32 *) d1;
3499   ptr4 = (orc_union32 *) s1;
3500
3501   /* 1: loadpl */
3502   var34.i = (int) 0x80000000;   /* -2147483648 or 1.061e-314f */
3503
3504   for (i = 0; i < n; i++) {
3505     /* 0: loadl */
3506     var33 = ptr4[i];
3507     /* 2: xorl */
3508     var36.i = var33.i ^ var34.i;
3509     /* 3: shrul */
3510     var37.i = ((orc_uint32) var36.i) >> 8;
3511     /* 4: swapl */
3512     var35.i = ORC_SWAP_L (var37.i);
3513     /* 5: storel */
3514     ptr0[i] = var35;
3515   }
3516
3517 }
3518
3519 #else
3520 static void
3521 _backup_audio_orc_pack_u24_32_swap (OrcExecutor * ORC_RESTRICT ex)
3522 {
3523   int i;
3524   int n = ex->n;
3525   orc_union32 *ORC_RESTRICT ptr0;
3526   const orc_union32 *ORC_RESTRICT ptr4;
3527   orc_union32 var33;
3528 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
3529   volatile orc_union32 var34;
3530 #else
3531   orc_union32 var34;
3532 #endif
3533   orc_union32 var35;
3534   orc_union32 var36;
3535   orc_union32 var37;
3536
3537   ptr0 = (orc_union32 *) ex->arrays[0];
3538   ptr4 = (orc_union32 *) ex->arrays[4];
3539
3540   /* 1: loadpl */
3541   var34.i = (int) 0x80000000;   /* -2147483648 or 1.061e-314f */
3542
3543   for (i = 0; i < n; i++) {
3544     /* 0: loadl */
3545     var33 = ptr4[i];
3546     /* 2: xorl */
3547     var36.i = var33.i ^ var34.i;
3548     /* 3: shrul */
3549     var37.i = ((orc_uint32) var36.i) >> 8;
3550     /* 4: swapl */
3551     var35.i = ORC_SWAP_L (var37.i);
3552     /* 5: storel */
3553     ptr0[i] = var35;
3554   }
3555
3556 }
3557
3558 void
3559 audio_orc_pack_u24_32_swap (guint8 * ORC_RESTRICT d1,
3560     const gint32 * ORC_RESTRICT s1, int n)
3561 {
3562   OrcExecutor _ex, *ex = &_ex;
3563   static volatile int p_inited = 0;
3564   static OrcCode *c = 0;
3565   void (*func) (OrcExecutor *);
3566
3567   if (!p_inited) {
3568     orc_once_mutex_lock ();
3569     if (!p_inited) {
3570       OrcProgram *p;
3571
3572 #if 1
3573       static const orc_uint8 bc[] = {
3574         1, 9, 26, 97, 117, 100, 105, 111, 95, 111, 114, 99, 95, 112, 97, 99,
3575         107, 95, 117, 50, 52, 95, 51, 50, 95, 115, 119, 97, 112, 11, 4, 4,
3576         12, 4, 4, 14, 4, 0, 0, 0, 128, 14, 4, 8, 0, 0, 0, 20,
3577         4, 132, 32, 4, 16, 126, 32, 32, 17, 184, 0, 32, 2, 0,
3578       };
3579       p = orc_program_new_from_static_bytecode (bc);
3580       orc_program_set_backup_function (p, _backup_audio_orc_pack_u24_32_swap);
3581 #else
3582       p = orc_program_new ();
3583       orc_program_set_name (p, "audio_orc_pack_u24_32_swap");
3584       orc_program_set_backup_function (p, _backup_audio_orc_pack_u24_32_swap);
3585       orc_program_add_destination (p, 4, "d1");
3586       orc_program_add_source (p, 4, "s1");
3587       orc_program_add_constant (p, 4, 0x80000000, "c1");
3588       orc_program_add_constant (p, 4, 0x00000008, "c2");
3589       orc_program_add_temporary (p, 4, "t1");
3590
3591       orc_program_append_2 (p, "xorl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_C1,
3592           ORC_VAR_D1);
3593       orc_program_append_2 (p, "shrul", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C2,
3594           ORC_VAR_D1);
3595       orc_program_append_2 (p, "swapl", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1,
3596           ORC_VAR_D1);
3597 #endif
3598
3599       orc_program_compile (p);
3600       c = orc_program_take_code (p);
3601       orc_program_free (p);
3602     }
3603     p_inited = TRUE;
3604     orc_once_mutex_unlock ();
3605   }
3606   ex->arrays[ORC_VAR_A2] = c;
3607   ex->program = 0;
3608
3609   ex->n = n;
3610   ex->arrays[ORC_VAR_D1] = d1;
3611   ex->arrays[ORC_VAR_S1] = (void *) s1;
3612
3613   func = c->exec;
3614   func (ex);
3615 }
3616 #endif
3617
3618
3619 /* audio_orc_pack_s24_32_swap */
3620 #ifdef DISABLE_ORC
3621 void
3622 audio_orc_pack_s24_32_swap (guint8 * ORC_RESTRICT d1,
3623     const gint32 * ORC_RESTRICT s1, int n)
3624 {
3625   int i;
3626   orc_union32 *ORC_RESTRICT ptr0;
3627   const orc_union32 *ORC_RESTRICT ptr4;
3628   orc_union32 var33;
3629   orc_union32 var34;
3630   orc_union32 var35;
3631
3632   ptr0 = (orc_union32 *) d1;
3633   ptr4 = (orc_union32 *) s1;
3634
3635
3636   for (i = 0; i < n; i++) {
3637     /* 0: loadl */
3638     var33 = ptr4[i];
3639     /* 1: shrsl */
3640     var35.i = var33.i >> 8;
3641     /* 2: swapl */
3642     var34.i = ORC_SWAP_L (var35.i);
3643     /* 3: storel */
3644     ptr0[i] = var34;
3645   }
3646
3647 }
3648
3649 #else
3650 static void
3651 _backup_audio_orc_pack_s24_32_swap (OrcExecutor * ORC_RESTRICT ex)
3652 {
3653   int i;
3654   int n = ex->n;
3655   orc_union32 *ORC_RESTRICT ptr0;
3656   const orc_union32 *ORC_RESTRICT ptr4;
3657   orc_union32 var33;
3658   orc_union32 var34;
3659   orc_union32 var35;
3660
3661   ptr0 = (orc_union32 *) ex->arrays[0];
3662   ptr4 = (orc_union32 *) ex->arrays[4];
3663
3664
3665   for (i = 0; i < n; i++) {
3666     /* 0: loadl */
3667     var33 = ptr4[i];
3668     /* 1: shrsl */
3669     var35.i = var33.i >> 8;
3670     /* 2: swapl */
3671     var34.i = ORC_SWAP_L (var35.i);
3672     /* 3: storel */
3673     ptr0[i] = var34;
3674   }
3675
3676 }
3677
3678 void
3679 audio_orc_pack_s24_32_swap (guint8 * ORC_RESTRICT d1,
3680     const gint32 * ORC_RESTRICT s1, int n)
3681 {
3682   OrcExecutor _ex, *ex = &_ex;
3683   static volatile int p_inited = 0;
3684   static OrcCode *c = 0;
3685   void (*func) (OrcExecutor *);
3686
3687   if (!p_inited) {
3688     orc_once_mutex_lock ();
3689     if (!p_inited) {
3690       OrcProgram *p;
3691
3692 #if 1
3693       static const orc_uint8 bc[] = {
3694         1, 9, 26, 97, 117, 100, 105, 111, 95, 111, 114, 99, 95, 112, 97, 99,
3695         107, 95, 115, 50, 52, 95, 51, 50, 95, 115, 119, 97, 112, 11, 4, 4,
3696         12, 4, 4, 14, 4, 8, 0, 0, 0, 20, 4, 125, 32, 4, 16, 184,
3697         0, 32, 2, 0,
3698       };
3699       p = orc_program_new_from_static_bytecode (bc);
3700       orc_program_set_backup_function (p, _backup_audio_orc_pack_s24_32_swap);
3701 #else
3702       p = orc_program_new ();
3703       orc_program_set_name (p, "audio_orc_pack_s24_32_swap");
3704       orc_program_set_backup_function (p, _backup_audio_orc_pack_s24_32_swap);
3705       orc_program_add_destination (p, 4, "d1");
3706       orc_program_add_source (p, 4, "s1");
3707       orc_program_add_constant (p, 4, 0x00000008, "c1");
3708       orc_program_add_temporary (p, 4, "t1");
3709
3710       orc_program_append_2 (p, "shrsl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_C1,
3711           ORC_VAR_D1);
3712       orc_program_append_2 (p, "swapl", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1,
3713           ORC_VAR_D1);
3714 #endif
3715
3716       orc_program_compile (p);
3717       c = orc_program_take_code (p);
3718       orc_program_free (p);
3719     }
3720     p_inited = TRUE;
3721     orc_once_mutex_unlock ();
3722   }
3723   ex->arrays[ORC_VAR_A2] = c;
3724   ex->program = 0;
3725
3726   ex->n = n;
3727   ex->arrays[ORC_VAR_D1] = d1;
3728   ex->arrays[ORC_VAR_S1] = (void *) s1;
3729
3730   func = c->exec;
3731   func (ex);
3732 }
3733 #endif
3734
3735
3736 /* audio_orc_pack_u32 */
3737 #ifdef DISABLE_ORC
3738 void
3739 audio_orc_pack_u32 (guint8 * ORC_RESTRICT d1, const gint32 * ORC_RESTRICT s1,
3740     int n)
3741 {
3742   int i;
3743   orc_union32 *ORC_RESTRICT ptr0;
3744   const orc_union32 *ORC_RESTRICT ptr4;
3745   orc_union32 var32;
3746 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
3747   volatile orc_union32 var33;
3748 #else
3749   orc_union32 var33;
3750 #endif
3751   orc_union32 var34;
3752
3753   ptr0 = (orc_union32 *) d1;
3754   ptr4 = (orc_union32 *) s1;
3755
3756   /* 1: loadpl */
3757   var33.i = (int) 0x80000000;   /* -2147483648 or 1.061e-314f */
3758
3759   for (i = 0; i < n; i++) {
3760     /* 0: loadl */
3761     var32 = ptr4[i];
3762     /* 2: xorl */
3763     var34.i = var32.i ^ var33.i;
3764     /* 3: storel */
3765     ptr0[i] = var34;
3766   }
3767
3768 }
3769
3770 #else
3771 static void
3772 _backup_audio_orc_pack_u32 (OrcExecutor * ORC_RESTRICT ex)
3773 {
3774   int i;
3775   int n = ex->n;
3776   orc_union32 *ORC_RESTRICT ptr0;
3777   const orc_union32 *ORC_RESTRICT ptr4;
3778   orc_union32 var32;
3779 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
3780   volatile orc_union32 var33;
3781 #else
3782   orc_union32 var33;
3783 #endif
3784   orc_union32 var34;
3785
3786   ptr0 = (orc_union32 *) ex->arrays[0];
3787   ptr4 = (orc_union32 *) ex->arrays[4];
3788
3789   /* 1: loadpl */
3790   var33.i = (int) 0x80000000;   /* -2147483648 or 1.061e-314f */
3791
3792   for (i = 0; i < n; i++) {
3793     /* 0: loadl */
3794     var32 = ptr4[i];
3795     /* 2: xorl */
3796     var34.i = var32.i ^ var33.i;
3797     /* 3: storel */
3798     ptr0[i] = var34;
3799   }
3800
3801 }
3802
3803 void
3804 audio_orc_pack_u32 (guint8 * ORC_RESTRICT d1, const gint32 * ORC_RESTRICT s1,
3805     int n)
3806 {
3807   OrcExecutor _ex, *ex = &_ex;
3808   static volatile int p_inited = 0;
3809   static OrcCode *c = 0;
3810   void (*func) (OrcExecutor *);
3811
3812   if (!p_inited) {
3813     orc_once_mutex_lock ();
3814     if (!p_inited) {
3815       OrcProgram *p;
3816
3817 #if 1
3818       static const orc_uint8 bc[] = {
3819         1, 9, 18, 97, 117, 100, 105, 111, 95, 111, 114, 99, 95, 112, 97, 99,
3820         107, 95, 117, 51, 50, 11, 4, 4, 12, 4, 4, 14, 4, 0, 0, 0,
3821         128, 132, 0, 4, 16, 2, 0,
3822       };
3823       p = orc_program_new_from_static_bytecode (bc);
3824       orc_program_set_backup_function (p, _backup_audio_orc_pack_u32);
3825 #else
3826       p = orc_program_new ();
3827       orc_program_set_name (p, "audio_orc_pack_u32");
3828       orc_program_set_backup_function (p, _backup_audio_orc_pack_u32);
3829       orc_program_add_destination (p, 4, "d1");
3830       orc_program_add_source (p, 4, "s1");
3831       orc_program_add_constant (p, 4, 0x80000000, "c1");
3832
3833       orc_program_append_2 (p, "xorl", 0, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_C1,
3834           ORC_VAR_D1);
3835 #endif
3836
3837       orc_program_compile (p);
3838       c = orc_program_take_code (p);
3839       orc_program_free (p);
3840     }
3841     p_inited = TRUE;
3842     orc_once_mutex_unlock ();
3843   }
3844   ex->arrays[ORC_VAR_A2] = c;
3845   ex->program = 0;
3846
3847   ex->n = n;
3848   ex->arrays[ORC_VAR_D1] = d1;
3849   ex->arrays[ORC_VAR_S1] = (void *) s1;
3850
3851   func = c->exec;
3852   func (ex);
3853 }
3854 #endif
3855
3856
3857 /* audio_orc_pack_s32 */
3858 #ifdef DISABLE_ORC
3859 void
3860 audio_orc_pack_s32 (guint8 * ORC_RESTRICT d1, const gint32 * ORC_RESTRICT s1,
3861     int n)
3862 {
3863   int i;
3864   orc_union32 *ORC_RESTRICT ptr0;
3865   const orc_union32 *ORC_RESTRICT ptr4;
3866   orc_union32 var32;
3867   orc_union32 var33;
3868
3869   ptr0 = (orc_union32 *) d1;
3870   ptr4 = (orc_union32 *) s1;
3871
3872
3873   for (i = 0; i < n; i++) {
3874     /* 0: loadl */
3875     var32 = ptr4[i];
3876     /* 1: copyl */
3877     var33.i = var32.i;
3878     /* 2: storel */
3879     ptr0[i] = var33;
3880   }
3881
3882 }
3883
3884 #else
3885 static void
3886 _backup_audio_orc_pack_s32 (OrcExecutor * ORC_RESTRICT ex)
3887 {
3888   int i;
3889   int n = ex->n;
3890   orc_union32 *ORC_RESTRICT ptr0;
3891   const orc_union32 *ORC_RESTRICT ptr4;
3892   orc_union32 var32;
3893   orc_union32 var33;
3894
3895   ptr0 = (orc_union32 *) ex->arrays[0];
3896   ptr4 = (orc_union32 *) ex->arrays[4];
3897
3898
3899   for (i = 0; i < n; i++) {
3900     /* 0: loadl */
3901     var32 = ptr4[i];
3902     /* 1: copyl */
3903     var33.i = var32.i;
3904     /* 2: storel */
3905     ptr0[i] = var33;
3906   }
3907
3908 }
3909
3910 void
3911 audio_orc_pack_s32 (guint8 * ORC_RESTRICT d1, const gint32 * ORC_RESTRICT s1,
3912     int n)
3913 {
3914   OrcExecutor _ex, *ex = &_ex;
3915   static volatile int p_inited = 0;
3916   static OrcCode *c = 0;
3917   void (*func) (OrcExecutor *);
3918
3919   if (!p_inited) {
3920     orc_once_mutex_lock ();
3921     if (!p_inited) {
3922       OrcProgram *p;
3923
3924 #if 1
3925       static const orc_uint8 bc[] = {
3926         1, 9, 18, 97, 117, 100, 105, 111, 95, 111, 114, 99, 95, 112, 97, 99,
3927         107, 95, 115, 51, 50, 11, 4, 4, 12, 4, 4, 112, 0, 4, 2, 0,
3928
3929       };
3930       p = orc_program_new_from_static_bytecode (bc);
3931       orc_program_set_backup_function (p, _backup_audio_orc_pack_s32);
3932 #else
3933       p = orc_program_new ();
3934       orc_program_set_name (p, "audio_orc_pack_s32");
3935       orc_program_set_backup_function (p, _backup_audio_orc_pack_s32);
3936       orc_program_add_destination (p, 4, "d1");
3937       orc_program_add_source (p, 4, "s1");
3938
3939       orc_program_append_2 (p, "copyl", 0, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_D1,
3940           ORC_VAR_D1);
3941 #endif
3942
3943       orc_program_compile (p);
3944       c = orc_program_take_code (p);
3945       orc_program_free (p);
3946     }
3947     p_inited = TRUE;
3948     orc_once_mutex_unlock ();
3949   }
3950   ex->arrays[ORC_VAR_A2] = c;
3951   ex->program = 0;
3952
3953   ex->n = n;
3954   ex->arrays[ORC_VAR_D1] = d1;
3955   ex->arrays[ORC_VAR_S1] = (void *) s1;
3956
3957   func = c->exec;
3958   func (ex);
3959 }
3960 #endif
3961
3962
3963 /* audio_orc_pack_u32_swap */
3964 #ifdef DISABLE_ORC
3965 void
3966 audio_orc_pack_u32_swap (guint8 * ORC_RESTRICT d1,
3967     const gint32 * ORC_RESTRICT s1, int n)
3968 {
3969   int i;
3970   orc_union32 *ORC_RESTRICT ptr0;
3971   const orc_union32 *ORC_RESTRICT ptr4;
3972   orc_union32 var32;
3973 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
3974   volatile orc_union32 var33;
3975 #else
3976   orc_union32 var33;
3977 #endif
3978   orc_union32 var34;
3979
3980   ptr0 = (orc_union32 *) d1;
3981   ptr4 = (orc_union32 *) s1;
3982
3983   /* 1: loadpl */
3984   var33.i = (int) 0x80000000;   /* -2147483648 or 1.061e-314f */
3985
3986   for (i = 0; i < n; i++) {
3987     /* 0: loadl */
3988     var32 = ptr4[i];
3989     /* 2: xorl */
3990     var34.i = var32.i ^ var33.i;
3991     /* 3: storel */
3992     ptr0[i] = var34;
3993   }
3994
3995 }
3996
3997 #else
3998 static void
3999 _backup_audio_orc_pack_u32_swap (OrcExecutor * ORC_RESTRICT ex)
4000 {
4001   int i;
4002   int n = ex->n;
4003   orc_union32 *ORC_RESTRICT ptr0;
4004   const orc_union32 *ORC_RESTRICT ptr4;
4005   orc_union32 var32;
4006 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
4007   volatile orc_union32 var33;
4008 #else
4009   orc_union32 var33;
4010 #endif
4011   orc_union32 var34;
4012
4013   ptr0 = (orc_union32 *) ex->arrays[0];
4014   ptr4 = (orc_union32 *) ex->arrays[4];
4015
4016   /* 1: loadpl */
4017   var33.i = (int) 0x80000000;   /* -2147483648 or 1.061e-314f */
4018
4019   for (i = 0; i < n; i++) {
4020     /* 0: loadl */
4021     var32 = ptr4[i];
4022     /* 2: xorl */
4023     var34.i = var32.i ^ var33.i;
4024     /* 3: storel */
4025     ptr0[i] = var34;
4026   }
4027
4028 }
4029
4030 void
4031 audio_orc_pack_u32_swap (guint8 * ORC_RESTRICT d1,
4032     const gint32 * ORC_RESTRICT s1, int n)
4033 {
4034   OrcExecutor _ex, *ex = &_ex;
4035   static volatile int p_inited = 0;
4036   static OrcCode *c = 0;
4037   void (*func) (OrcExecutor *);
4038
4039   if (!p_inited) {
4040     orc_once_mutex_lock ();
4041     if (!p_inited) {
4042       OrcProgram *p;
4043
4044 #if 1
4045       static const orc_uint8 bc[] = {
4046         1, 9, 23, 97, 117, 100, 105, 111, 95, 111, 114, 99, 95, 112, 97, 99,
4047         107, 95, 117, 51, 50, 95, 115, 119, 97, 112, 11, 4, 4, 12, 4, 4,
4048         14, 4, 0, 0, 0, 128, 132, 0, 4, 16, 2, 0,
4049       };
4050       p = orc_program_new_from_static_bytecode (bc);
4051       orc_program_set_backup_function (p, _backup_audio_orc_pack_u32_swap);
4052 #else
4053       p = orc_program_new ();
4054       orc_program_set_name (p, "audio_orc_pack_u32_swap");
4055       orc_program_set_backup_function (p, _backup_audio_orc_pack_u32_swap);
4056       orc_program_add_destination (p, 4, "d1");
4057       orc_program_add_source (p, 4, "s1");
4058       orc_program_add_constant (p, 4, 0x80000000, "c1");
4059
4060       orc_program_append_2 (p, "xorl", 0, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_C1,
4061           ORC_VAR_D1);
4062 #endif
4063
4064       orc_program_compile (p);
4065       c = orc_program_take_code (p);
4066       orc_program_free (p);
4067     }
4068     p_inited = TRUE;
4069     orc_once_mutex_unlock ();
4070   }
4071   ex->arrays[ORC_VAR_A2] = c;
4072   ex->program = 0;
4073
4074   ex->n = n;
4075   ex->arrays[ORC_VAR_D1] = d1;
4076   ex->arrays[ORC_VAR_S1] = (void *) s1;
4077
4078   func = c->exec;
4079   func (ex);
4080 }
4081 #endif
4082
4083
4084 /* audio_orc_pack_s32_swap */
4085 #ifdef DISABLE_ORC
4086 void
4087 audio_orc_pack_s32_swap (guint8 * ORC_RESTRICT d1,
4088     const gint32 * ORC_RESTRICT s1, int n)
4089 {
4090   int i;
4091   orc_union32 *ORC_RESTRICT ptr0;
4092   const orc_union32 *ORC_RESTRICT ptr4;
4093   orc_union32 var32;
4094   orc_union32 var33;
4095
4096   ptr0 = (orc_union32 *) d1;
4097   ptr4 = (orc_union32 *) s1;
4098
4099
4100   for (i = 0; i < n; i++) {
4101     /* 0: loadl */
4102     var32 = ptr4[i];
4103     /* 1: swapl */
4104     var33.i = ORC_SWAP_L (var32.i);
4105     /* 2: storel */
4106     ptr0[i] = var33;
4107   }
4108
4109 }
4110
4111 #else
4112 static void
4113 _backup_audio_orc_pack_s32_swap (OrcExecutor * ORC_RESTRICT ex)
4114 {
4115   int i;
4116   int n = ex->n;
4117   orc_union32 *ORC_RESTRICT ptr0;
4118   const orc_union32 *ORC_RESTRICT ptr4;
4119   orc_union32 var32;
4120   orc_union32 var33;
4121
4122   ptr0 = (orc_union32 *) ex->arrays[0];
4123   ptr4 = (orc_union32 *) ex->arrays[4];
4124
4125
4126   for (i = 0; i < n; i++) {
4127     /* 0: loadl */
4128     var32 = ptr4[i];
4129     /* 1: swapl */
4130     var33.i = ORC_SWAP_L (var32.i);
4131     /* 2: storel */
4132     ptr0[i] = var33;
4133   }
4134
4135 }
4136
4137 void
4138 audio_orc_pack_s32_swap (guint8 * ORC_RESTRICT d1,
4139     const gint32 * ORC_RESTRICT s1, int n)
4140 {
4141   OrcExecutor _ex, *ex = &_ex;
4142   static volatile int p_inited = 0;
4143   static OrcCode *c = 0;
4144   void (*func) (OrcExecutor *);
4145
4146   if (!p_inited) {
4147     orc_once_mutex_lock ();
4148     if (!p_inited) {
4149       OrcProgram *p;
4150
4151 #if 1
4152       static const orc_uint8 bc[] = {
4153         1, 9, 23, 97, 117, 100, 105, 111, 95, 111, 114, 99, 95, 112, 97, 99,
4154         107, 95, 115, 51, 50, 95, 115, 119, 97, 112, 11, 4, 4, 12, 4, 4,
4155         184, 0, 4, 2, 0,
4156       };
4157       p = orc_program_new_from_static_bytecode (bc);
4158       orc_program_set_backup_function (p, _backup_audio_orc_pack_s32_swap);
4159 #else
4160       p = orc_program_new ();
4161       orc_program_set_name (p, "audio_orc_pack_s32_swap");
4162       orc_program_set_backup_function (p, _backup_audio_orc_pack_s32_swap);
4163       orc_program_add_destination (p, 4, "d1");
4164       orc_program_add_source (p, 4, "s1");
4165
4166       orc_program_append_2 (p, "swapl", 0, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_D1,
4167           ORC_VAR_D1);
4168 #endif
4169
4170       orc_program_compile (p);
4171       c = orc_program_take_code (p);
4172       orc_program_free (p);
4173     }
4174     p_inited = TRUE;
4175     orc_once_mutex_unlock ();
4176   }
4177   ex->arrays[ORC_VAR_A2] = c;
4178   ex->program = 0;
4179
4180   ex->n = n;
4181   ex->arrays[ORC_VAR_D1] = d1;
4182   ex->arrays[ORC_VAR_S1] = (void *) s1;
4183
4184   func = c->exec;
4185   func (ex);
4186 }
4187 #endif
4188
4189
4190 /* audio_orc_pack_f32 */
4191 #ifdef DISABLE_ORC
4192 void
4193 audio_orc_pack_f32 (gfloat * ORC_RESTRICT d1, const gdouble * ORC_RESTRICT s1,
4194     int n)
4195 {
4196   int i;
4197   orc_union32 *ORC_RESTRICT ptr0;
4198   const orc_union64 *ORC_RESTRICT ptr4;
4199   orc_union64 var32;
4200   orc_union32 var33;
4201
4202   ptr0 = (orc_union32 *) d1;
4203   ptr4 = (orc_union64 *) s1;
4204
4205
4206   for (i = 0; i < n; i++) {
4207     /* 0: loadq */
4208     var32 = ptr4[i];
4209     /* 1: convdf */
4210     {
4211       orc_union64 _src1;
4212       orc_union32 _dest;
4213       _src1.i = ORC_DENORMAL_DOUBLE (var32.i);
4214       _dest.f = _src1.f;
4215       var33.i = ORC_DENORMAL (_dest.i);
4216     }
4217     /* 2: storel */
4218     ptr0[i] = var33;
4219   }
4220
4221 }
4222
4223 #else
4224 static void
4225 _backup_audio_orc_pack_f32 (OrcExecutor * ORC_RESTRICT ex)
4226 {
4227   int i;
4228   int n = ex->n;
4229   orc_union32 *ORC_RESTRICT ptr0;
4230   const orc_union64 *ORC_RESTRICT ptr4;
4231   orc_union64 var32;
4232   orc_union32 var33;
4233
4234   ptr0 = (orc_union32 *) ex->arrays[0];
4235   ptr4 = (orc_union64 *) ex->arrays[4];
4236
4237
4238   for (i = 0; i < n; i++) {
4239     /* 0: loadq */
4240     var32 = ptr4[i];
4241     /* 1: convdf */
4242     {
4243       orc_union64 _src1;
4244       orc_union32 _dest;
4245       _src1.i = ORC_DENORMAL_DOUBLE (var32.i);
4246       _dest.f = _src1.f;
4247       var33.i = ORC_DENORMAL (_dest.i);
4248     }
4249     /* 2: storel */
4250     ptr0[i] = var33;
4251   }
4252
4253 }
4254
4255 void
4256 audio_orc_pack_f32 (gfloat * ORC_RESTRICT d1, const gdouble * ORC_RESTRICT s1,
4257     int n)
4258 {
4259   OrcExecutor _ex, *ex = &_ex;
4260   static volatile int p_inited = 0;
4261   static OrcCode *c = 0;
4262   void (*func) (OrcExecutor *);
4263
4264   if (!p_inited) {
4265     orc_once_mutex_lock ();
4266     if (!p_inited) {
4267       OrcProgram *p;
4268
4269 #if 1
4270       static const orc_uint8 bc[] = {
4271         1, 9, 18, 97, 117, 100, 105, 111, 95, 111, 114, 99, 95, 112, 97, 99,
4272         107, 95, 102, 51, 50, 11, 4, 4, 12, 8, 8, 225, 0, 4, 2, 0,
4273
4274       };
4275       p = orc_program_new_from_static_bytecode (bc);
4276       orc_program_set_backup_function (p, _backup_audio_orc_pack_f32);
4277 #else
4278       p = orc_program_new ();
4279       orc_program_set_name (p, "audio_orc_pack_f32");
4280       orc_program_set_backup_function (p, _backup_audio_orc_pack_f32);
4281       orc_program_add_destination (p, 4, "d1");
4282       orc_program_add_source (p, 8, "s1");
4283
4284       orc_program_append_2 (p, "convdf", 0, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_D1,
4285           ORC_VAR_D1);
4286 #endif
4287
4288       orc_program_compile (p);
4289       c = orc_program_take_code (p);
4290       orc_program_free (p);
4291     }
4292     p_inited = TRUE;
4293     orc_once_mutex_unlock ();
4294   }
4295   ex->arrays[ORC_VAR_A2] = c;
4296   ex->program = 0;
4297
4298   ex->n = n;
4299   ex->arrays[ORC_VAR_D1] = d1;
4300   ex->arrays[ORC_VAR_S1] = (void *) s1;
4301
4302   func = c->exec;
4303   func (ex);
4304 }
4305 #endif
4306
4307
4308 /* audio_orc_pack_f32_swap */
4309 #ifdef DISABLE_ORC
4310 void
4311 audio_orc_pack_f32_swap (gfloat * ORC_RESTRICT d1,
4312     const gdouble * ORC_RESTRICT s1, int n)
4313 {
4314   int i;
4315   orc_union32 *ORC_RESTRICT ptr0;
4316   const orc_union64 *ORC_RESTRICT ptr4;
4317   orc_union64 var33;
4318   orc_union32 var34;
4319   orc_union32 var35;
4320
4321   ptr0 = (orc_union32 *) d1;
4322   ptr4 = (orc_union64 *) s1;
4323
4324
4325   for (i = 0; i < n; i++) {
4326     /* 0: loadq */
4327     var33 = ptr4[i];
4328     /* 1: convdf */
4329     {
4330       orc_union64 _src1;
4331       orc_union32 _dest;
4332       _src1.i = ORC_DENORMAL_DOUBLE (var33.i);
4333       _dest.f = _src1.f;
4334       var35.i = ORC_DENORMAL (_dest.i);
4335     }
4336     /* 2: swapl */
4337     var34.i = ORC_SWAP_L (var35.i);
4338     /* 3: storel */
4339     ptr0[i] = var34;
4340   }
4341
4342 }
4343
4344 #else
4345 static void
4346 _backup_audio_orc_pack_f32_swap (OrcExecutor * ORC_RESTRICT ex)
4347 {
4348   int i;
4349   int n = ex->n;
4350   orc_union32 *ORC_RESTRICT ptr0;
4351   const orc_union64 *ORC_RESTRICT ptr4;
4352   orc_union64 var33;
4353   orc_union32 var34;
4354   orc_union32 var35;
4355
4356   ptr0 = (orc_union32 *) ex->arrays[0];
4357   ptr4 = (orc_union64 *) ex->arrays[4];
4358
4359
4360   for (i = 0; i < n; i++) {
4361     /* 0: loadq */
4362     var33 = ptr4[i];
4363     /* 1: convdf */
4364     {
4365       orc_union64 _src1;
4366       orc_union32 _dest;
4367       _src1.i = ORC_DENORMAL_DOUBLE (var33.i);
4368       _dest.f = _src1.f;
4369       var35.i = ORC_DENORMAL (_dest.i);
4370     }
4371     /* 2: swapl */
4372     var34.i = ORC_SWAP_L (var35.i);
4373     /* 3: storel */
4374     ptr0[i] = var34;
4375   }
4376
4377 }
4378
4379 void
4380 audio_orc_pack_f32_swap (gfloat * ORC_RESTRICT d1,
4381     const gdouble * ORC_RESTRICT s1, int n)
4382 {
4383   OrcExecutor _ex, *ex = &_ex;
4384   static volatile int p_inited = 0;
4385   static OrcCode *c = 0;
4386   void (*func) (OrcExecutor *);
4387
4388   if (!p_inited) {
4389     orc_once_mutex_lock ();
4390     if (!p_inited) {
4391       OrcProgram *p;
4392
4393 #if 1
4394       static const orc_uint8 bc[] = {
4395         1, 9, 23, 97, 117, 100, 105, 111, 95, 111, 114, 99, 95, 112, 97, 99,
4396         107, 95, 102, 51, 50, 95, 115, 119, 97, 112, 11, 4, 4, 12, 8, 8,
4397         20, 4, 225, 32, 4, 184, 0, 32, 2, 0,
4398       };
4399       p = orc_program_new_from_static_bytecode (bc);
4400       orc_program_set_backup_function (p, _backup_audio_orc_pack_f32_swap);
4401 #else
4402       p = orc_program_new ();
4403       orc_program_set_name (p, "audio_orc_pack_f32_swap");
4404       orc_program_set_backup_function (p, _backup_audio_orc_pack_f32_swap);
4405       orc_program_add_destination (p, 4, "d1");
4406       orc_program_add_source (p, 8, "s1");
4407       orc_program_add_temporary (p, 4, "t1");
4408
4409       orc_program_append_2 (p, "convdf", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
4410           ORC_VAR_D1);
4411       orc_program_append_2 (p, "swapl", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1,
4412           ORC_VAR_D1);
4413 #endif
4414
4415       orc_program_compile (p);
4416       c = orc_program_take_code (p);
4417       orc_program_free (p);
4418     }
4419     p_inited = TRUE;
4420     orc_once_mutex_unlock ();
4421   }
4422   ex->arrays[ORC_VAR_A2] = c;
4423   ex->program = 0;
4424
4425   ex->n = n;
4426   ex->arrays[ORC_VAR_D1] = d1;
4427   ex->arrays[ORC_VAR_S1] = (void *) s1;
4428
4429   func = c->exec;
4430   func (ex);
4431 }
4432 #endif
4433
4434
4435 /* audio_orc_pack_f64 */
4436 #ifdef DISABLE_ORC
4437 void
4438 audio_orc_pack_f64 (gdouble * ORC_RESTRICT d1, const gdouble * ORC_RESTRICT s1,
4439     int n)
4440 {
4441   int i;
4442   orc_union64 *ORC_RESTRICT ptr0;
4443   const orc_union64 *ORC_RESTRICT ptr4;
4444   orc_union64 var32;
4445   orc_union64 var33;
4446
4447   ptr0 = (orc_union64 *) d1;
4448   ptr4 = (orc_union64 *) s1;
4449
4450
4451   for (i = 0; i < n; i++) {
4452     /* 0: loadq */
4453     var32 = ptr4[i];
4454     /* 1: copyq */
4455     var33.i = var32.i;
4456     /* 2: storeq */
4457     ptr0[i] = var33;
4458   }
4459
4460 }
4461
4462 #else
4463 static void
4464 _backup_audio_orc_pack_f64 (OrcExecutor * ORC_RESTRICT ex)
4465 {
4466   int i;
4467   int n = ex->n;
4468   orc_union64 *ORC_RESTRICT ptr0;
4469   const orc_union64 *ORC_RESTRICT ptr4;
4470   orc_union64 var32;
4471   orc_union64 var33;
4472
4473   ptr0 = (orc_union64 *) ex->arrays[0];
4474   ptr4 = (orc_union64 *) ex->arrays[4];
4475
4476
4477   for (i = 0; i < n; i++) {
4478     /* 0: loadq */
4479     var32 = ptr4[i];
4480     /* 1: copyq */
4481     var33.i = var32.i;
4482     /* 2: storeq */
4483     ptr0[i] = var33;
4484   }
4485
4486 }
4487
4488 void
4489 audio_orc_pack_f64 (gdouble * ORC_RESTRICT d1, const gdouble * ORC_RESTRICT s1,
4490     int n)
4491 {
4492   OrcExecutor _ex, *ex = &_ex;
4493   static volatile int p_inited = 0;
4494   static OrcCode *c = 0;
4495   void (*func) (OrcExecutor *);
4496
4497   if (!p_inited) {
4498     orc_once_mutex_lock ();
4499     if (!p_inited) {
4500       OrcProgram *p;
4501
4502 #if 1
4503       static const orc_uint8 bc[] = {
4504         1, 9, 18, 97, 117, 100, 105, 111, 95, 111, 114, 99, 95, 112, 97, 99,
4505         107, 95, 102, 54, 52, 11, 8, 8, 12, 8, 8, 137, 0, 4, 2, 0,
4506
4507       };
4508       p = orc_program_new_from_static_bytecode (bc);
4509       orc_program_set_backup_function (p, _backup_audio_orc_pack_f64);
4510 #else
4511       p = orc_program_new ();
4512       orc_program_set_name (p, "audio_orc_pack_f64");
4513       orc_program_set_backup_function (p, _backup_audio_orc_pack_f64);
4514       orc_program_add_destination (p, 8, "d1");
4515       orc_program_add_source (p, 8, "s1");
4516
4517       orc_program_append_2 (p, "copyq", 0, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_D1,
4518           ORC_VAR_D1);
4519 #endif
4520
4521       orc_program_compile (p);
4522       c = orc_program_take_code (p);
4523       orc_program_free (p);
4524     }
4525     p_inited = TRUE;
4526     orc_once_mutex_unlock ();
4527   }
4528   ex->arrays[ORC_VAR_A2] = c;
4529   ex->program = 0;
4530
4531   ex->n = n;
4532   ex->arrays[ORC_VAR_D1] = d1;
4533   ex->arrays[ORC_VAR_S1] = (void *) s1;
4534
4535   func = c->exec;
4536   func (ex);
4537 }
4538 #endif
4539
4540
4541 /* audio_orc_pack_f64_swap */
4542 #ifdef DISABLE_ORC
4543 void
4544 audio_orc_pack_f64_swap (gdouble * ORC_RESTRICT d1,
4545     const gdouble * ORC_RESTRICT s1, int n)
4546 {
4547   int i;
4548   orc_union64 *ORC_RESTRICT ptr0;
4549   const orc_union64 *ORC_RESTRICT ptr4;
4550   orc_union64 var32;
4551   orc_union64 var33;
4552
4553   ptr0 = (orc_union64 *) d1;
4554   ptr4 = (orc_union64 *) s1;
4555
4556
4557   for (i = 0; i < n; i++) {
4558     /* 0: loadq */
4559     var32 = ptr4[i];
4560     /* 1: swapq */
4561     var33.i = ORC_SWAP_Q (var32.i);
4562     /* 2: storeq */
4563     ptr0[i] = var33;
4564   }
4565
4566 }
4567
4568 #else
4569 static void
4570 _backup_audio_orc_pack_f64_swap (OrcExecutor * ORC_RESTRICT ex)
4571 {
4572   int i;
4573   int n = ex->n;
4574   orc_union64 *ORC_RESTRICT ptr0;
4575   const orc_union64 *ORC_RESTRICT ptr4;
4576   orc_union64 var32;
4577   orc_union64 var33;
4578
4579   ptr0 = (orc_union64 *) ex->arrays[0];
4580   ptr4 = (orc_union64 *) ex->arrays[4];
4581
4582
4583   for (i = 0; i < n; i++) {
4584     /* 0: loadq */
4585     var32 = ptr4[i];
4586     /* 1: swapq */
4587     var33.i = ORC_SWAP_Q (var32.i);
4588     /* 2: storeq */
4589     ptr0[i] = var33;
4590   }
4591
4592 }
4593
4594 void
4595 audio_orc_pack_f64_swap (gdouble * ORC_RESTRICT d1,
4596     const gdouble * ORC_RESTRICT s1, int n)
4597 {
4598   OrcExecutor _ex, *ex = &_ex;
4599   static volatile int p_inited = 0;
4600   static OrcCode *c = 0;
4601   void (*func) (OrcExecutor *);
4602
4603   if (!p_inited) {
4604     orc_once_mutex_lock ();
4605     if (!p_inited) {
4606       OrcProgram *p;
4607
4608 #if 1
4609       static const orc_uint8 bc[] = {
4610         1, 9, 23, 97, 117, 100, 105, 111, 95, 111, 114, 99, 95, 112, 97, 99,
4611         107, 95, 102, 54, 52, 95, 115, 119, 97, 112, 11, 8, 8, 12, 8, 8,
4612         186, 0, 4, 2, 0,
4613       };
4614       p = orc_program_new_from_static_bytecode (bc);
4615       orc_program_set_backup_function (p, _backup_audio_orc_pack_f64_swap);
4616 #else
4617       p = orc_program_new ();
4618       orc_program_set_name (p, "audio_orc_pack_f64_swap");
4619       orc_program_set_backup_function (p, _backup_audio_orc_pack_f64_swap);
4620       orc_program_add_destination (p, 8, "d1");
4621       orc_program_add_source (p, 8, "s1");
4622
4623       orc_program_append_2 (p, "swapq", 0, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_D1,
4624           ORC_VAR_D1);
4625 #endif
4626
4627       orc_program_compile (p);
4628       c = orc_program_take_code (p);
4629       orc_program_free (p);
4630     }
4631     p_inited = TRUE;
4632     orc_once_mutex_unlock ();
4633   }
4634   ex->arrays[ORC_VAR_A2] = c;
4635   ex->program = 0;
4636
4637   ex->n = n;
4638   ex->arrays[ORC_VAR_D1] = d1;
4639   ex->arrays[ORC_VAR_S1] = (void *) s1;
4640
4641   func = c->exec;
4642   func (ex);
4643 }
4644 #endif