Release 1.1.1
[platform/upstream/gstreamer.git] / gst / audioconvert / gstaudioconvertorc-dist.c
1
2 /* autogenerated from gstaudioconvertorc.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_convert_orc_unpack_u8 (gint32 * ORC_RESTRICT d1,
99     const guint8 * ORC_RESTRICT s1, int p1, int n);
100 void audio_convert_orc_unpack_s8 (gint32 * ORC_RESTRICT d1,
101     const guint8 * ORC_RESTRICT s1, int p1, int n);
102 void audio_convert_orc_unpack_u16 (gint32 * ORC_RESTRICT d1,
103     const guint8 * ORC_RESTRICT s1, int p1, int n);
104 void audio_convert_orc_unpack_s16 (gint32 * ORC_RESTRICT d1,
105     const guint8 * ORC_RESTRICT s1, int p1, int n);
106 void audio_convert_orc_unpack_u16_swap (gint32 * ORC_RESTRICT d1,
107     const guint8 * ORC_RESTRICT s1, int p1, int n);
108 void audio_convert_orc_unpack_s16_swap (gint32 * ORC_RESTRICT d1,
109     const guint8 * ORC_RESTRICT s1, int p1, int n);
110 void audio_convert_orc_unpack_u32 (gint32 * ORC_RESTRICT d1,
111     const guint8 * ORC_RESTRICT s1, int p1, int n);
112 void audio_convert_orc_unpack_s32 (gint32 * ORC_RESTRICT d1,
113     const guint8 * ORC_RESTRICT s1, int p1, int n);
114 void audio_convert_orc_unpack_u32_swap (gint32 * ORC_RESTRICT d1,
115     const guint8 * ORC_RESTRICT s1, int p1, int n);
116 void audio_convert_orc_unpack_s32_swap (gint32 * ORC_RESTRICT d1,
117     const guint8 * ORC_RESTRICT s1, int p1, int n);
118 void audio_convert_orc_unpack_float_s32 (guint32 * ORC_RESTRICT d1,
119     const gfloat * ORC_RESTRICT s1, int n);
120 void audio_convert_orc_unpack_float_s32_swap (guint32 * ORC_RESTRICT d1,
121     const gfloat * ORC_RESTRICT s1, int n);
122 void audio_convert_orc_unpack_double_s32 (guint32 * ORC_RESTRICT d1,
123     const gdouble * ORC_RESTRICT s1, int n);
124 void audio_convert_orc_unpack_double_s32_swap (guint32 * ORC_RESTRICT d1,
125     const gdouble * ORC_RESTRICT s1, int n);
126 void audio_convert_orc_unpack_float_double (gdouble * ORC_RESTRICT d1,
127     const gfloat * ORC_RESTRICT s1, int n);
128 void audio_convert_orc_unpack_float_double_swap (gdouble * ORC_RESTRICT d1,
129     const gfloat * ORC_RESTRICT s1, int n);
130 void audio_convert_orc_unpack_double_double (gdouble * ORC_RESTRICT d1,
131     const gdouble * ORC_RESTRICT s1, int n);
132 void audio_convert_orc_unpack_double_double_swap (gdouble * ORC_RESTRICT d1,
133     const gdouble * ORC_RESTRICT s1, int n);
134 void audio_convert_orc_unpack_u8_double (gdouble * ORC_RESTRICT d1,
135     const guint8 * ORC_RESTRICT s1, int p1, int n);
136 void audio_convert_orc_unpack_s8_double (gdouble * ORC_RESTRICT d1,
137     const guint8 * ORC_RESTRICT s1, int p1, int n);
138 void audio_convert_orc_unpack_u16_double (gdouble * ORC_RESTRICT d1,
139     const guint8 * ORC_RESTRICT s1, int p1, int n);
140 void audio_convert_orc_unpack_s16_double (gdouble * ORC_RESTRICT d1,
141     const guint8 * ORC_RESTRICT s1, int p1, int n);
142 void audio_convert_orc_unpack_u16_double_swap (gdouble * ORC_RESTRICT d1,
143     const guint8 * ORC_RESTRICT s1, int p1, int n);
144 void audio_convert_orc_unpack_s16_double_swap (gdouble * ORC_RESTRICT d1,
145     const guint8 * ORC_RESTRICT s1, int p1, int n);
146 void audio_convert_orc_unpack_u32_double (gdouble * ORC_RESTRICT d1,
147     const guint8 * ORC_RESTRICT s1, int p1, int n);
148 void audio_convert_orc_unpack_s32_double (gdouble * ORC_RESTRICT d1,
149     const guint8 * ORC_RESTRICT s1, int p1, int n);
150 void audio_convert_orc_unpack_u32_double_swap (gdouble * ORC_RESTRICT d1,
151     const guint8 * ORC_RESTRICT s1, int p1, int n);
152 void audio_convert_orc_unpack_s32_double_swap (gdouble * ORC_RESTRICT d1,
153     const guint8 * ORC_RESTRICT s1, int p1, int n);
154 void audio_convert_orc_pack_u8 (guint8 * ORC_RESTRICT d1,
155     const gint32 * ORC_RESTRICT s1, int p1, int n);
156 void audio_convert_orc_pack_s8 (guint8 * ORC_RESTRICT d1,
157     const gint32 * ORC_RESTRICT s1, int p1, int n);
158 void audio_convert_orc_pack_u16 (guint8 * ORC_RESTRICT d1,
159     const gint32 * ORC_RESTRICT s1, int p1, int n);
160 void audio_convert_orc_pack_s16 (guint8 * ORC_RESTRICT d1,
161     const gint32 * ORC_RESTRICT s1, int p1, int n);
162 void audio_convert_orc_pack_u16_swap (guint8 * ORC_RESTRICT d1,
163     const gint32 * ORC_RESTRICT s1, int p1, int n);
164 void audio_convert_orc_pack_s16_swap (guint8 * ORC_RESTRICT d1,
165     const gint32 * ORC_RESTRICT s1, int p1, int n);
166 void audio_convert_orc_pack_u32 (guint8 * ORC_RESTRICT d1,
167     const gint32 * ORC_RESTRICT s1, int p1, int n);
168 void audio_convert_orc_pack_s32 (guint8 * ORC_RESTRICT d1,
169     const gint32 * ORC_RESTRICT s1, int p1, int n);
170 void audio_convert_orc_pack_u32_swap (guint8 * ORC_RESTRICT d1,
171     const gint32 * ORC_RESTRICT s1, int p1, int n);
172 void audio_convert_orc_pack_s32_swap (guint8 * ORC_RESTRICT d1,
173     const gint32 * ORC_RESTRICT s1, int p1, int n);
174 void audio_convert_orc_pack_s32_float (gfloat * ORC_RESTRICT d1,
175     const gint32 * ORC_RESTRICT s1, int n);
176 void audio_convert_orc_pack_s32_float_swap (gfloat * ORC_RESTRICT d1,
177     const gint32 * ORC_RESTRICT s1, int n);
178 void audio_convert_orc_pack_s32_double (gdouble * ORC_RESTRICT d1,
179     const gint32 * ORC_RESTRICT s1, int n);
180 void audio_convert_orc_pack_s32_double_swap (gdouble * ORC_RESTRICT d1,
181     const gint32 * ORC_RESTRICT s1, int n);
182 void audio_convert_orc_pack_double_float (gfloat * ORC_RESTRICT d1,
183     const gdouble * ORC_RESTRICT s1, int n);
184 void audio_convert_orc_pack_double_float_swap (gfloat * ORC_RESTRICT d1,
185     const gdouble * ORC_RESTRICT s1, int n);
186 void audio_convert_orc_pack_double_u8 (guint8 * ORC_RESTRICT d1,
187     const gdouble * ORC_RESTRICT s1, int p1, int n);
188 void audio_convert_orc_pack_double_s8 (guint8 * ORC_RESTRICT d1,
189     const gdouble * ORC_RESTRICT s1, int p1, int n);
190 void audio_convert_orc_pack_double_u16 (guint8 * ORC_RESTRICT d1,
191     const gdouble * ORC_RESTRICT s1, int p1, int n);
192 void audio_convert_orc_pack_double_s16 (guint8 * ORC_RESTRICT d1,
193     const gdouble * ORC_RESTRICT s1, int p1, int n);
194 void audio_convert_orc_pack_double_u16_swap (guint8 * ORC_RESTRICT d1,
195     const gdouble * ORC_RESTRICT s1, int p1, int n);
196 void audio_convert_orc_pack_double_s16_swap (guint8 * ORC_RESTRICT d1,
197     const gdouble * ORC_RESTRICT s1, int p1, int n);
198 void audio_convert_orc_pack_double_u32 (guint8 * ORC_RESTRICT d1,
199     const gdouble * ORC_RESTRICT s1, int p1, int n);
200 void audio_convert_orc_pack_double_s32 (guint8 * ORC_RESTRICT d1,
201     const gdouble * ORC_RESTRICT s1, int p1, int n);
202 void audio_convert_orc_pack_double_u32_swap (guint8 * ORC_RESTRICT d1,
203     const gdouble * ORC_RESTRICT s1, int p1, int n);
204 void audio_convert_orc_pack_double_s32_swap (guint8 * ORC_RESTRICT d1,
205     const gdouble * ORC_RESTRICT s1, int p1, int n);
206
207
208 /* begin Orc C target preamble */
209 #define ORC_CLAMP(x,a,b) ((x)<(a) ? (a) : ((x)>(b) ? (b) : (x)))
210 #define ORC_ABS(a) ((a)<0 ? -(a) : (a))
211 #define ORC_MIN(a,b) ((a)<(b) ? (a) : (b))
212 #define ORC_MAX(a,b) ((a)>(b) ? (a) : (b))
213 #define ORC_SB_MAX 127
214 #define ORC_SB_MIN (-1-ORC_SB_MAX)
215 #define ORC_UB_MAX 255
216 #define ORC_UB_MIN 0
217 #define ORC_SW_MAX 32767
218 #define ORC_SW_MIN (-1-ORC_SW_MAX)
219 #define ORC_UW_MAX 65535
220 #define ORC_UW_MIN 0
221 #define ORC_SL_MAX 2147483647
222 #define ORC_SL_MIN (-1-ORC_SL_MAX)
223 #define ORC_UL_MAX 4294967295U
224 #define ORC_UL_MIN 0
225 #define ORC_CLAMP_SB(x) ORC_CLAMP(x,ORC_SB_MIN,ORC_SB_MAX)
226 #define ORC_CLAMP_UB(x) ORC_CLAMP(x,ORC_UB_MIN,ORC_UB_MAX)
227 #define ORC_CLAMP_SW(x) ORC_CLAMP(x,ORC_SW_MIN,ORC_SW_MAX)
228 #define ORC_CLAMP_UW(x) ORC_CLAMP(x,ORC_UW_MIN,ORC_UW_MAX)
229 #define ORC_CLAMP_SL(x) ORC_CLAMP(x,ORC_SL_MIN,ORC_SL_MAX)
230 #define ORC_CLAMP_UL(x) ORC_CLAMP(x,ORC_UL_MIN,ORC_UL_MAX)
231 #define ORC_SWAP_W(x) ((((x)&0xff)<<8) | (((x)&0xff00)>>8))
232 #define ORC_SWAP_L(x) ((((x)&0xff)<<24) | (((x)&0xff00)<<8) | (((x)&0xff0000)>>8) | (((x)&0xff000000)>>24))
233 #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))
234 #define ORC_PTR_OFFSET(ptr,offset) ((void *)(((unsigned char *)(ptr)) + (offset)))
235 #define ORC_DENORMAL(x) ((x) & ((((x)&0x7f800000) == 0) ? 0xff800000 : 0xffffffff))
236 #define ORC_ISNAN(x) ((((x)&0x7f800000) == 0x7f800000) && (((x)&0x007fffff) != 0))
237 #define ORC_DENORMAL_DOUBLE(x) ((x) & ((((x)&ORC_UINT64_C(0x7ff0000000000000)) == 0) ? ORC_UINT64_C(0xfff0000000000000) : ORC_UINT64_C(0xffffffffffffffff)))
238 #define ORC_ISNAN_DOUBLE(x) ((((x)&ORC_UINT64_C(0x7ff0000000000000)) == ORC_UINT64_C(0x7ff0000000000000)) && (((x)&ORC_UINT64_C(0x000fffffffffffff)) != 0))
239 #ifndef ORC_RESTRICT
240 #if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
241 #define ORC_RESTRICT restrict
242 #elif defined(__GNUC__) && __GNUC__ >= 4
243 #define ORC_RESTRICT __restrict__
244 #else
245 #define ORC_RESTRICT
246 #endif
247 #endif
248 /* end Orc C target preamble */
249
250
251
252 /* audio_convert_orc_unpack_u8 */
253 #ifdef DISABLE_ORC
254 void
255 audio_convert_orc_unpack_u8 (gint32 * ORC_RESTRICT d1,
256     const guint8 * ORC_RESTRICT s1, int p1, int n)
257 {
258   int i;
259   orc_union32 *ORC_RESTRICT ptr0;
260   const orc_int8 *ORC_RESTRICT ptr4;
261   orc_int8 var34;
262 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
263   volatile orc_union32 var35;
264 #else
265   orc_union32 var35;
266 #endif
267   orc_union32 var36;
268   orc_union16 var37;
269   orc_union32 var38;
270   orc_union32 var39;
271
272   ptr0 = (orc_union32 *) d1;
273   ptr4 = (orc_int8 *) s1;
274
275   /* 4: loadpl */
276   var35.i = (int) 0x80000000;   /* -2147483648 or 1.061e-314f */
277
278   for (i = 0; i < n; i++) {
279     /* 0: loadb */
280     var34 = ptr4[i];
281     /* 1: convubw */
282     var37.i = (orc_uint8) var34;
283     /* 2: convuwl */
284     var38.i = (orc_uint16) var37.i;
285     /* 3: shll */
286     var39.i = var38.i << p1;
287     /* 5: xorl */
288     var36.i = var39.i ^ var35.i;
289     /* 6: storel */
290     ptr0[i] = var36;
291   }
292
293 }
294
295 #else
296 static void
297 _backup_audio_convert_orc_unpack_u8 (OrcExecutor * ORC_RESTRICT ex)
298 {
299   int i;
300   int n = ex->n;
301   orc_union32 *ORC_RESTRICT ptr0;
302   const orc_int8 *ORC_RESTRICT ptr4;
303   orc_int8 var34;
304 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
305   volatile orc_union32 var35;
306 #else
307   orc_union32 var35;
308 #endif
309   orc_union32 var36;
310   orc_union16 var37;
311   orc_union32 var38;
312   orc_union32 var39;
313
314   ptr0 = (orc_union32 *) ex->arrays[0];
315   ptr4 = (orc_int8 *) ex->arrays[4];
316
317   /* 4: loadpl */
318   var35.i = (int) 0x80000000;   /* -2147483648 or 1.061e-314f */
319
320   for (i = 0; i < n; i++) {
321     /* 0: loadb */
322     var34 = ptr4[i];
323     /* 1: convubw */
324     var37.i = (orc_uint8) var34;
325     /* 2: convuwl */
326     var38.i = (orc_uint16) var37.i;
327     /* 3: shll */
328     var39.i = var38.i << ex->params[24];
329     /* 5: xorl */
330     var36.i = var39.i ^ var35.i;
331     /* 6: storel */
332     ptr0[i] = var36;
333   }
334
335 }
336
337 void
338 audio_convert_orc_unpack_u8 (gint32 * ORC_RESTRICT d1,
339     const guint8 * ORC_RESTRICT s1, int p1, int n)
340 {
341   OrcExecutor _ex, *ex = &_ex;
342   static volatile int p_inited = 0;
343   static OrcCode *c = 0;
344   void (*func) (OrcExecutor *);
345
346   if (!p_inited) {
347     orc_once_mutex_lock ();
348     if (!p_inited) {
349       OrcProgram *p;
350
351 #if 1
352       static const orc_uint8 bc[] = {
353         1, 9, 27, 97, 117, 100, 105, 111, 95, 99, 111, 110, 118, 101, 114, 116,
354         95, 111, 114, 99, 95, 117, 110, 112, 97, 99, 107, 95, 117, 56, 11, 4,
355         4, 12, 1, 1, 14, 4, 0, 0, 0, 128, 16, 4, 20, 2, 20, 4,
356         150, 32, 4, 154, 33, 32, 124, 33, 33, 24, 132, 0, 33, 16, 2, 0,
357
358       };
359       p = orc_program_new_from_static_bytecode (bc);
360       orc_program_set_backup_function (p, _backup_audio_convert_orc_unpack_u8);
361 #else
362       p = orc_program_new ();
363       orc_program_set_name (p, "audio_convert_orc_unpack_u8");
364       orc_program_set_backup_function (p, _backup_audio_convert_orc_unpack_u8);
365       orc_program_add_destination (p, 4, "d1");
366       orc_program_add_source (p, 1, "s1");
367       orc_program_add_constant (p, 4, 0x80000000, "c1");
368       orc_program_add_parameter (p, 4, "p1");
369       orc_program_add_temporary (p, 2, "t1");
370       orc_program_add_temporary (p, 4, "t2");
371
372       orc_program_append_2 (p, "convubw", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
373           ORC_VAR_D1);
374       orc_program_append_2 (p, "convuwl", 0, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_D1,
375           ORC_VAR_D1);
376       orc_program_append_2 (p, "shll", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_P1,
377           ORC_VAR_D1);
378       orc_program_append_2 (p, "xorl", 0, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_C1,
379           ORC_VAR_D1);
380 #endif
381
382       orc_program_compile (p);
383       c = orc_program_take_code (p);
384       orc_program_free (p);
385     }
386     p_inited = TRUE;
387     orc_once_mutex_unlock ();
388   }
389   ex->arrays[ORC_VAR_A2] = c;
390   ex->program = 0;
391
392   ex->n = n;
393   ex->arrays[ORC_VAR_D1] = d1;
394   ex->arrays[ORC_VAR_S1] = (void *) s1;
395   ex->params[ORC_VAR_P1] = p1;
396
397   func = c->exec;
398   func (ex);
399 }
400 #endif
401
402
403 /* audio_convert_orc_unpack_s8 */
404 #ifdef DISABLE_ORC
405 void
406 audio_convert_orc_unpack_s8 (gint32 * ORC_RESTRICT d1,
407     const guint8 * ORC_RESTRICT s1, int p1, int n)
408 {
409   int i;
410   orc_union32 *ORC_RESTRICT ptr0;
411   const orc_int8 *ORC_RESTRICT ptr4;
412   orc_int8 var34;
413   orc_union32 var35;
414   orc_union16 var36;
415   orc_union32 var37;
416
417   ptr0 = (orc_union32 *) d1;
418   ptr4 = (orc_int8 *) s1;
419
420
421   for (i = 0; i < n; i++) {
422     /* 0: loadb */
423     var34 = ptr4[i];
424     /* 1: convubw */
425     var36.i = (orc_uint8) var34;
426     /* 2: convuwl */
427     var37.i = (orc_uint16) var36.i;
428     /* 3: shll */
429     var35.i = var37.i << p1;
430     /* 4: storel */
431     ptr0[i] = var35;
432   }
433
434 }
435
436 #else
437 static void
438 _backup_audio_convert_orc_unpack_s8 (OrcExecutor * ORC_RESTRICT ex)
439 {
440   int i;
441   int n = ex->n;
442   orc_union32 *ORC_RESTRICT ptr0;
443   const orc_int8 *ORC_RESTRICT ptr4;
444   orc_int8 var34;
445   orc_union32 var35;
446   orc_union16 var36;
447   orc_union32 var37;
448
449   ptr0 = (orc_union32 *) ex->arrays[0];
450   ptr4 = (orc_int8 *) ex->arrays[4];
451
452
453   for (i = 0; i < n; i++) {
454     /* 0: loadb */
455     var34 = ptr4[i];
456     /* 1: convubw */
457     var36.i = (orc_uint8) var34;
458     /* 2: convuwl */
459     var37.i = (orc_uint16) var36.i;
460     /* 3: shll */
461     var35.i = var37.i << ex->params[24];
462     /* 4: storel */
463     ptr0[i] = var35;
464   }
465
466 }
467
468 void
469 audio_convert_orc_unpack_s8 (gint32 * ORC_RESTRICT d1,
470     const guint8 * ORC_RESTRICT s1, int p1, int n)
471 {
472   OrcExecutor _ex, *ex = &_ex;
473   static volatile int p_inited = 0;
474   static OrcCode *c = 0;
475   void (*func) (OrcExecutor *);
476
477   if (!p_inited) {
478     orc_once_mutex_lock ();
479     if (!p_inited) {
480       OrcProgram *p;
481
482 #if 1
483       static const orc_uint8 bc[] = {
484         1, 9, 27, 97, 117, 100, 105, 111, 95, 99, 111, 110, 118, 101, 114, 116,
485         95, 111, 114, 99, 95, 117, 110, 112, 97, 99, 107, 95, 115, 56, 11, 4,
486         4, 12, 1, 1, 16, 4, 20, 2, 20, 4, 150, 32, 4, 154, 33, 32,
487         124, 0, 33, 24, 2, 0,
488       };
489       p = orc_program_new_from_static_bytecode (bc);
490       orc_program_set_backup_function (p, _backup_audio_convert_orc_unpack_s8);
491 #else
492       p = orc_program_new ();
493       orc_program_set_name (p, "audio_convert_orc_unpack_s8");
494       orc_program_set_backup_function (p, _backup_audio_convert_orc_unpack_s8);
495       orc_program_add_destination (p, 4, "d1");
496       orc_program_add_source (p, 1, "s1");
497       orc_program_add_parameter (p, 4, "p1");
498       orc_program_add_temporary (p, 2, "t1");
499       orc_program_add_temporary (p, 4, "t2");
500
501       orc_program_append_2 (p, "convubw", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
502           ORC_VAR_D1);
503       orc_program_append_2 (p, "convuwl", 0, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_D1,
504           ORC_VAR_D1);
505       orc_program_append_2 (p, "shll", 0, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_P1,
506           ORC_VAR_D1);
507 #endif
508
509       orc_program_compile (p);
510       c = orc_program_take_code (p);
511       orc_program_free (p);
512     }
513     p_inited = TRUE;
514     orc_once_mutex_unlock ();
515   }
516   ex->arrays[ORC_VAR_A2] = c;
517   ex->program = 0;
518
519   ex->n = n;
520   ex->arrays[ORC_VAR_D1] = d1;
521   ex->arrays[ORC_VAR_S1] = (void *) s1;
522   ex->params[ORC_VAR_P1] = p1;
523
524   func = c->exec;
525   func (ex);
526 }
527 #endif
528
529
530 /* audio_convert_orc_unpack_u16 */
531 #ifdef DISABLE_ORC
532 void
533 audio_convert_orc_unpack_u16 (gint32 * ORC_RESTRICT d1,
534     const guint8 * ORC_RESTRICT s1, int p1, int n)
535 {
536   int i;
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 *) d1;
550   ptr4 = (orc_union16 *) s1;
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 << p1;
562     /* 4: xorl */
563     var35.i = var37.i ^ var34.i;
564     /* 5: storel */
565     ptr0[i] = var35;
566   }
567
568 }
569
570 #else
571 static void
572 _backup_audio_convert_orc_unpack_u16 (OrcExecutor * ORC_RESTRICT ex)
573 {
574   int i;
575   int n = ex->n;
576   orc_union32 *ORC_RESTRICT ptr0;
577   const orc_union16 *ORC_RESTRICT ptr4;
578   orc_union16 var33;
579 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
580   volatile orc_union32 var34;
581 #else
582   orc_union32 var34;
583 #endif
584   orc_union32 var35;
585   orc_union32 var36;
586   orc_union32 var37;
587
588   ptr0 = (orc_union32 *) ex->arrays[0];
589   ptr4 = (orc_union16 *) ex->arrays[4];
590
591   /* 3: loadpl */
592   var34.i = (int) 0x80000000;   /* -2147483648 or 1.061e-314f */
593
594   for (i = 0; i < n; i++) {
595     /* 0: loadw */
596     var33 = ptr4[i];
597     /* 1: convuwl */
598     var36.i = (orc_uint16) var33.i;
599     /* 2: shll */
600     var37.i = var36.i << ex->params[24];
601     /* 4: xorl */
602     var35.i = var37.i ^ var34.i;
603     /* 5: storel */
604     ptr0[i] = var35;
605   }
606
607 }
608
609 void
610 audio_convert_orc_unpack_u16 (gint32 * ORC_RESTRICT d1,
611     const guint8 * ORC_RESTRICT s1, int p1, int n)
612 {
613   OrcExecutor _ex, *ex = &_ex;
614   static volatile int p_inited = 0;
615   static OrcCode *c = 0;
616   void (*func) (OrcExecutor *);
617
618   if (!p_inited) {
619     orc_once_mutex_lock ();
620     if (!p_inited) {
621       OrcProgram *p;
622
623 #if 1
624       static const orc_uint8 bc[] = {
625         1, 9, 28, 97, 117, 100, 105, 111, 95, 99, 111, 110, 118, 101, 114, 116,
626         95, 111, 114, 99, 95, 117, 110, 112, 97, 99, 107, 95, 117, 49, 54, 11,
627         4, 4, 12, 2, 2, 14, 4, 0, 0, 0, 128, 16, 4, 20, 4, 154,
628         32, 4, 124, 32, 32, 24, 132, 0, 32, 16, 2, 0,
629       };
630       p = orc_program_new_from_static_bytecode (bc);
631       orc_program_set_backup_function (p, _backup_audio_convert_orc_unpack_u16);
632 #else
633       p = orc_program_new ();
634       orc_program_set_name (p, "audio_convert_orc_unpack_u16");
635       orc_program_set_backup_function (p, _backup_audio_convert_orc_unpack_u16);
636       orc_program_add_destination (p, 4, "d1");
637       orc_program_add_source (p, 2, "s1");
638       orc_program_add_constant (p, 4, 0x80000000, "c1");
639       orc_program_add_parameter (p, 4, "p1");
640       orc_program_add_temporary (p, 4, "t1");
641
642       orc_program_append_2 (p, "convuwl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
643           ORC_VAR_D1);
644       orc_program_append_2 (p, "shll", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_P1,
645           ORC_VAR_D1);
646       orc_program_append_2 (p, "xorl", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_C1,
647           ORC_VAR_D1);
648 #endif
649
650       orc_program_compile (p);
651       c = orc_program_take_code (p);
652       orc_program_free (p);
653     }
654     p_inited = TRUE;
655     orc_once_mutex_unlock ();
656   }
657   ex->arrays[ORC_VAR_A2] = c;
658   ex->program = 0;
659
660   ex->n = n;
661   ex->arrays[ORC_VAR_D1] = d1;
662   ex->arrays[ORC_VAR_S1] = (void *) s1;
663   ex->params[ORC_VAR_P1] = p1;
664
665   func = c->exec;
666   func (ex);
667 }
668 #endif
669
670
671 /* audio_convert_orc_unpack_s16 */
672 #ifdef DISABLE_ORC
673 void
674 audio_convert_orc_unpack_s16 (gint32 * ORC_RESTRICT d1,
675     const guint8 * ORC_RESTRICT s1, int p1, int n)
676 {
677   int i;
678   orc_union32 *ORC_RESTRICT ptr0;
679   const orc_union16 *ORC_RESTRICT ptr4;
680   orc_union16 var33;
681   orc_union32 var34;
682   orc_union32 var35;
683
684   ptr0 = (orc_union32 *) d1;
685   ptr4 = (orc_union16 *) s1;
686
687
688   for (i = 0; i < n; i++) {
689     /* 0: loadw */
690     var33 = ptr4[i];
691     /* 1: convuwl */
692     var35.i = (orc_uint16) var33.i;
693     /* 2: shll */
694     var34.i = var35.i << p1;
695     /* 3: storel */
696     ptr0[i] = var34;
697   }
698
699 }
700
701 #else
702 static void
703 _backup_audio_convert_orc_unpack_s16 (OrcExecutor * ORC_RESTRICT ex)
704 {
705   int i;
706   int n = ex->n;
707   orc_union32 *ORC_RESTRICT ptr0;
708   const orc_union16 *ORC_RESTRICT ptr4;
709   orc_union16 var33;
710   orc_union32 var34;
711   orc_union32 var35;
712
713   ptr0 = (orc_union32 *) ex->arrays[0];
714   ptr4 = (orc_union16 *) ex->arrays[4];
715
716
717   for (i = 0; i < n; i++) {
718     /* 0: loadw */
719     var33 = ptr4[i];
720     /* 1: convuwl */
721     var35.i = (orc_uint16) var33.i;
722     /* 2: shll */
723     var34.i = var35.i << ex->params[24];
724     /* 3: storel */
725     ptr0[i] = var34;
726   }
727
728 }
729
730 void
731 audio_convert_orc_unpack_s16 (gint32 * ORC_RESTRICT d1,
732     const guint8 * ORC_RESTRICT s1, int p1, int n)
733 {
734   OrcExecutor _ex, *ex = &_ex;
735   static volatile int p_inited = 0;
736   static OrcCode *c = 0;
737   void (*func) (OrcExecutor *);
738
739   if (!p_inited) {
740     orc_once_mutex_lock ();
741     if (!p_inited) {
742       OrcProgram *p;
743
744 #if 1
745       static const orc_uint8 bc[] = {
746         1, 9, 28, 97, 117, 100, 105, 111, 95, 99, 111, 110, 118, 101, 114, 116,
747         95, 111, 114, 99, 95, 117, 110, 112, 97, 99, 107, 95, 115, 49, 54, 11,
748         4, 4, 12, 2, 2, 16, 4, 20, 4, 154, 32, 4, 124, 0, 32, 24,
749         2, 0,
750       };
751       p = orc_program_new_from_static_bytecode (bc);
752       orc_program_set_backup_function (p, _backup_audio_convert_orc_unpack_s16);
753 #else
754       p = orc_program_new ();
755       orc_program_set_name (p, "audio_convert_orc_unpack_s16");
756       orc_program_set_backup_function (p, _backup_audio_convert_orc_unpack_s16);
757       orc_program_add_destination (p, 4, "d1");
758       orc_program_add_source (p, 2, "s1");
759       orc_program_add_parameter (p, 4, "p1");
760       orc_program_add_temporary (p, 4, "t1");
761
762       orc_program_append_2 (p, "convuwl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
763           ORC_VAR_D1);
764       orc_program_append_2 (p, "shll", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_P1,
765           ORC_VAR_D1);
766 #endif
767
768       orc_program_compile (p);
769       c = orc_program_take_code (p);
770       orc_program_free (p);
771     }
772     p_inited = TRUE;
773     orc_once_mutex_unlock ();
774   }
775   ex->arrays[ORC_VAR_A2] = c;
776   ex->program = 0;
777
778   ex->n = n;
779   ex->arrays[ORC_VAR_D1] = d1;
780   ex->arrays[ORC_VAR_S1] = (void *) s1;
781   ex->params[ORC_VAR_P1] = p1;
782
783   func = c->exec;
784   func (ex);
785 }
786 #endif
787
788
789 /* audio_convert_orc_unpack_u16_swap */
790 #ifdef DISABLE_ORC
791 void
792 audio_convert_orc_unpack_u16_swap (gint32 * ORC_RESTRICT d1,
793     const guint8 * ORC_RESTRICT s1, int p1, int n)
794 {
795   int i;
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 *) d1;
810   ptr4 = (orc_union16 *) s1;
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 << p1;
824     /* 5: xorl */
825     var36.i = var39.i ^ var35.i;
826     /* 6: storel */
827     ptr0[i] = var36;
828   }
829
830 }
831
832 #else
833 static void
834 _backup_audio_convert_orc_unpack_u16_swap (OrcExecutor * ORC_RESTRICT ex)
835 {
836   int i;
837   int n = ex->n;
838   orc_union32 *ORC_RESTRICT ptr0;
839   const orc_union16 *ORC_RESTRICT ptr4;
840   orc_union16 var34;
841 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
842   volatile orc_union32 var35;
843 #else
844   orc_union32 var35;
845 #endif
846   orc_union32 var36;
847   orc_union16 var37;
848   orc_union32 var38;
849   orc_union32 var39;
850
851   ptr0 = (orc_union32 *) ex->arrays[0];
852   ptr4 = (orc_union16 *) ex->arrays[4];
853
854   /* 4: loadpl */
855   var35.i = (int) 0x80000000;   /* -2147483648 or 1.061e-314f */
856
857   for (i = 0; i < n; i++) {
858     /* 0: loadw */
859     var34 = ptr4[i];
860     /* 1: swapw */
861     var37.i = ORC_SWAP_W (var34.i);
862     /* 2: convuwl */
863     var38.i = (orc_uint16) var37.i;
864     /* 3: shll */
865     var39.i = var38.i << ex->params[24];
866     /* 5: xorl */
867     var36.i = var39.i ^ var35.i;
868     /* 6: storel */
869     ptr0[i] = var36;
870   }
871
872 }
873
874 void
875 audio_convert_orc_unpack_u16_swap (gint32 * ORC_RESTRICT d1,
876     const guint8 * ORC_RESTRICT s1, int p1, int n)
877 {
878   OrcExecutor _ex, *ex = &_ex;
879   static volatile int p_inited = 0;
880   static OrcCode *c = 0;
881   void (*func) (OrcExecutor *);
882
883   if (!p_inited) {
884     orc_once_mutex_lock ();
885     if (!p_inited) {
886       OrcProgram *p;
887
888 #if 1
889       static const orc_uint8 bc[] = {
890         1, 9, 33, 97, 117, 100, 105, 111, 95, 99, 111, 110, 118, 101, 114, 116,
891         95, 111, 114, 99, 95, 117, 110, 112, 97, 99, 107, 95, 117, 49, 54, 95,
892         115, 119, 97, 112, 11, 4, 4, 12, 2, 2, 14, 4, 0, 0, 0, 128,
893         16, 4, 20, 2, 20, 4, 183, 32, 4, 154, 33, 32, 124, 33, 33, 24,
894         132, 0, 33, 16, 2, 0,
895       };
896       p = orc_program_new_from_static_bytecode (bc);
897       orc_program_set_backup_function (p,
898           _backup_audio_convert_orc_unpack_u16_swap);
899 #else
900       p = orc_program_new ();
901       orc_program_set_name (p, "audio_convert_orc_unpack_u16_swap");
902       orc_program_set_backup_function (p,
903           _backup_audio_convert_orc_unpack_u16_swap);
904       orc_program_add_destination (p, 4, "d1");
905       orc_program_add_source (p, 2, "s1");
906       orc_program_add_constant (p, 4, 0x80000000, "c1");
907       orc_program_add_parameter (p, 4, "p1");
908       orc_program_add_temporary (p, 2, "t1");
909       orc_program_add_temporary (p, 4, "t2");
910
911       orc_program_append_2 (p, "swapw", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
912           ORC_VAR_D1);
913       orc_program_append_2 (p, "convuwl", 0, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_D1,
914           ORC_VAR_D1);
915       orc_program_append_2 (p, "shll", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_P1,
916           ORC_VAR_D1);
917       orc_program_append_2 (p, "xorl", 0, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_C1,
918           ORC_VAR_D1);
919 #endif
920
921       orc_program_compile (p);
922       c = orc_program_take_code (p);
923       orc_program_free (p);
924     }
925     p_inited = TRUE;
926     orc_once_mutex_unlock ();
927   }
928   ex->arrays[ORC_VAR_A2] = c;
929   ex->program = 0;
930
931   ex->n = n;
932   ex->arrays[ORC_VAR_D1] = d1;
933   ex->arrays[ORC_VAR_S1] = (void *) s1;
934   ex->params[ORC_VAR_P1] = p1;
935
936   func = c->exec;
937   func (ex);
938 }
939 #endif
940
941
942 /* audio_convert_orc_unpack_s16_swap */
943 #ifdef DISABLE_ORC
944 void
945 audio_convert_orc_unpack_s16_swap (gint32 * ORC_RESTRICT d1,
946     const guint8 * ORC_RESTRICT s1, int p1, int n)
947 {
948   int i;
949   orc_union32 *ORC_RESTRICT ptr0;
950   const orc_union16 *ORC_RESTRICT ptr4;
951   orc_union16 var34;
952   orc_union32 var35;
953   orc_union16 var36;
954   orc_union32 var37;
955
956   ptr0 = (orc_union32 *) d1;
957   ptr4 = (orc_union16 *) s1;
958
959
960   for (i = 0; i < n; i++) {
961     /* 0: loadw */
962     var34 = ptr4[i];
963     /* 1: swapw */
964     var36.i = ORC_SWAP_W (var34.i);
965     /* 2: convuwl */
966     var37.i = (orc_uint16) var36.i;
967     /* 3: shll */
968     var35.i = var37.i << p1;
969     /* 4: storel */
970     ptr0[i] = var35;
971   }
972
973 }
974
975 #else
976 static void
977 _backup_audio_convert_orc_unpack_s16_swap (OrcExecutor * ORC_RESTRICT ex)
978 {
979   int i;
980   int n = ex->n;
981   orc_union32 *ORC_RESTRICT ptr0;
982   const orc_union16 *ORC_RESTRICT ptr4;
983   orc_union16 var34;
984   orc_union32 var35;
985   orc_union16 var36;
986   orc_union32 var37;
987
988   ptr0 = (orc_union32 *) ex->arrays[0];
989   ptr4 = (orc_union16 *) ex->arrays[4];
990
991
992   for (i = 0; i < n; i++) {
993     /* 0: loadw */
994     var34 = ptr4[i];
995     /* 1: swapw */
996     var36.i = ORC_SWAP_W (var34.i);
997     /* 2: convuwl */
998     var37.i = (orc_uint16) var36.i;
999     /* 3: shll */
1000     var35.i = var37.i << ex->params[24];
1001     /* 4: storel */
1002     ptr0[i] = var35;
1003   }
1004
1005 }
1006
1007 void
1008 audio_convert_orc_unpack_s16_swap (gint32 * ORC_RESTRICT d1,
1009     const guint8 * ORC_RESTRICT s1, int p1, int n)
1010 {
1011   OrcExecutor _ex, *ex = &_ex;
1012   static volatile int p_inited = 0;
1013   static OrcCode *c = 0;
1014   void (*func) (OrcExecutor *);
1015
1016   if (!p_inited) {
1017     orc_once_mutex_lock ();
1018     if (!p_inited) {
1019       OrcProgram *p;
1020
1021 #if 1
1022       static const orc_uint8 bc[] = {
1023         1, 9, 33, 97, 117, 100, 105, 111, 95, 99, 111, 110, 118, 101, 114, 116,
1024         95, 111, 114, 99, 95, 117, 110, 112, 97, 99, 107, 95, 115, 49, 54, 95,
1025         115, 119, 97, 112, 11, 4, 4, 12, 2, 2, 16, 4, 20, 2, 20, 4,
1026         183, 32, 4, 154, 33, 32, 124, 0, 33, 24, 2, 0,
1027       };
1028       p = orc_program_new_from_static_bytecode (bc);
1029       orc_program_set_backup_function (p,
1030           _backup_audio_convert_orc_unpack_s16_swap);
1031 #else
1032       p = orc_program_new ();
1033       orc_program_set_name (p, "audio_convert_orc_unpack_s16_swap");
1034       orc_program_set_backup_function (p,
1035           _backup_audio_convert_orc_unpack_s16_swap);
1036       orc_program_add_destination (p, 4, "d1");
1037       orc_program_add_source (p, 2, "s1");
1038       orc_program_add_parameter (p, 4, "p1");
1039       orc_program_add_temporary (p, 2, "t1");
1040       orc_program_add_temporary (p, 4, "t2");
1041
1042       orc_program_append_2 (p, "swapw", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
1043           ORC_VAR_D1);
1044       orc_program_append_2 (p, "convuwl", 0, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_D1,
1045           ORC_VAR_D1);
1046       orc_program_append_2 (p, "shll", 0, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_P1,
1047           ORC_VAR_D1);
1048 #endif
1049
1050       orc_program_compile (p);
1051       c = orc_program_take_code (p);
1052       orc_program_free (p);
1053     }
1054     p_inited = TRUE;
1055     orc_once_mutex_unlock ();
1056   }
1057   ex->arrays[ORC_VAR_A2] = c;
1058   ex->program = 0;
1059
1060   ex->n = n;
1061   ex->arrays[ORC_VAR_D1] = d1;
1062   ex->arrays[ORC_VAR_S1] = (void *) s1;
1063   ex->params[ORC_VAR_P1] = p1;
1064
1065   func = c->exec;
1066   func (ex);
1067 }
1068 #endif
1069
1070
1071 /* audio_convert_orc_unpack_u32 */
1072 #ifdef DISABLE_ORC
1073 void
1074 audio_convert_orc_unpack_u32 (gint32 * ORC_RESTRICT d1,
1075     const guint8 * ORC_RESTRICT s1, int p1, int n)
1076 {
1077   int i;
1078   orc_union32 *ORC_RESTRICT ptr0;
1079   const orc_union32 *ORC_RESTRICT ptr4;
1080   orc_union32 var33;
1081 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
1082   volatile orc_union32 var34;
1083 #else
1084   orc_union32 var34;
1085 #endif
1086   orc_union32 var35;
1087   orc_union32 var36;
1088
1089   ptr0 = (orc_union32 *) d1;
1090   ptr4 = (orc_union32 *) s1;
1091
1092   /* 2: loadpl */
1093   var34.i = (int) 0x80000000;   /* -2147483648 or 1.061e-314f */
1094
1095   for (i = 0; i < n; i++) {
1096     /* 0: loadl */
1097     var33 = ptr4[i];
1098     /* 1: shll */
1099     var36.i = var33.i << p1;
1100     /* 3: xorl */
1101     var35.i = var36.i ^ var34.i;
1102     /* 4: storel */
1103     ptr0[i] = var35;
1104   }
1105
1106 }
1107
1108 #else
1109 static void
1110 _backup_audio_convert_orc_unpack_u32 (OrcExecutor * ORC_RESTRICT ex)
1111 {
1112   int i;
1113   int n = ex->n;
1114   orc_union32 *ORC_RESTRICT ptr0;
1115   const orc_union32 *ORC_RESTRICT ptr4;
1116   orc_union32 var33;
1117 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
1118   volatile orc_union32 var34;
1119 #else
1120   orc_union32 var34;
1121 #endif
1122   orc_union32 var35;
1123   orc_union32 var36;
1124
1125   ptr0 = (orc_union32 *) ex->arrays[0];
1126   ptr4 = (orc_union32 *) ex->arrays[4];
1127
1128   /* 2: loadpl */
1129   var34.i = (int) 0x80000000;   /* -2147483648 or 1.061e-314f */
1130
1131   for (i = 0; i < n; i++) {
1132     /* 0: loadl */
1133     var33 = ptr4[i];
1134     /* 1: shll */
1135     var36.i = var33.i << ex->params[24];
1136     /* 3: xorl */
1137     var35.i = var36.i ^ var34.i;
1138     /* 4: storel */
1139     ptr0[i] = var35;
1140   }
1141
1142 }
1143
1144 void
1145 audio_convert_orc_unpack_u32 (gint32 * ORC_RESTRICT d1,
1146     const guint8 * ORC_RESTRICT s1, int p1, int n)
1147 {
1148   OrcExecutor _ex, *ex = &_ex;
1149   static volatile int p_inited = 0;
1150   static OrcCode *c = 0;
1151   void (*func) (OrcExecutor *);
1152
1153   if (!p_inited) {
1154     orc_once_mutex_lock ();
1155     if (!p_inited) {
1156       OrcProgram *p;
1157
1158 #if 1
1159       static const orc_uint8 bc[] = {
1160         1, 9, 28, 97, 117, 100, 105, 111, 95, 99, 111, 110, 118, 101, 114, 116,
1161         95, 111, 114, 99, 95, 117, 110, 112, 97, 99, 107, 95, 117, 51, 50, 11,
1162         4, 4, 12, 4, 4, 14, 4, 0, 0, 0, 128, 16, 4, 20, 4, 124,
1163         32, 4, 24, 132, 0, 32, 16, 2, 0,
1164       };
1165       p = orc_program_new_from_static_bytecode (bc);
1166       orc_program_set_backup_function (p, _backup_audio_convert_orc_unpack_u32);
1167 #else
1168       p = orc_program_new ();
1169       orc_program_set_name (p, "audio_convert_orc_unpack_u32");
1170       orc_program_set_backup_function (p, _backup_audio_convert_orc_unpack_u32);
1171       orc_program_add_destination (p, 4, "d1");
1172       orc_program_add_source (p, 4, "s1");
1173       orc_program_add_constant (p, 4, 0x80000000, "c1");
1174       orc_program_add_parameter (p, 4, "p1");
1175       orc_program_add_temporary (p, 4, "t1");
1176
1177       orc_program_append_2 (p, "shll", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_P1,
1178           ORC_VAR_D1);
1179       orc_program_append_2 (p, "xorl", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_C1,
1180           ORC_VAR_D1);
1181 #endif
1182
1183       orc_program_compile (p);
1184       c = orc_program_take_code (p);
1185       orc_program_free (p);
1186     }
1187     p_inited = TRUE;
1188     orc_once_mutex_unlock ();
1189   }
1190   ex->arrays[ORC_VAR_A2] = c;
1191   ex->program = 0;
1192
1193   ex->n = n;
1194   ex->arrays[ORC_VAR_D1] = d1;
1195   ex->arrays[ORC_VAR_S1] = (void *) s1;
1196   ex->params[ORC_VAR_P1] = p1;
1197
1198   func = c->exec;
1199   func (ex);
1200 }
1201 #endif
1202
1203
1204 /* audio_convert_orc_unpack_s32 */
1205 #ifdef DISABLE_ORC
1206 void
1207 audio_convert_orc_unpack_s32 (gint32 * ORC_RESTRICT d1,
1208     const guint8 * ORC_RESTRICT s1, int p1, int n)
1209 {
1210   int i;
1211   orc_union32 *ORC_RESTRICT ptr0;
1212   const orc_union32 *ORC_RESTRICT ptr4;
1213   orc_union32 var32;
1214   orc_union32 var33;
1215
1216   ptr0 = (orc_union32 *) d1;
1217   ptr4 = (orc_union32 *) s1;
1218
1219
1220   for (i = 0; i < n; i++) {
1221     /* 0: loadl */
1222     var32 = ptr4[i];
1223     /* 1: shll */
1224     var33.i = var32.i << p1;
1225     /* 2: storel */
1226     ptr0[i] = var33;
1227   }
1228
1229 }
1230
1231 #else
1232 static void
1233 _backup_audio_convert_orc_unpack_s32 (OrcExecutor * ORC_RESTRICT ex)
1234 {
1235   int i;
1236   int n = ex->n;
1237   orc_union32 *ORC_RESTRICT ptr0;
1238   const orc_union32 *ORC_RESTRICT ptr4;
1239   orc_union32 var32;
1240   orc_union32 var33;
1241
1242   ptr0 = (orc_union32 *) ex->arrays[0];
1243   ptr4 = (orc_union32 *) ex->arrays[4];
1244
1245
1246   for (i = 0; i < n; i++) {
1247     /* 0: loadl */
1248     var32 = ptr4[i];
1249     /* 1: shll */
1250     var33.i = var32.i << ex->params[24];
1251     /* 2: storel */
1252     ptr0[i] = var33;
1253   }
1254
1255 }
1256
1257 void
1258 audio_convert_orc_unpack_s32 (gint32 * ORC_RESTRICT d1,
1259     const guint8 * ORC_RESTRICT s1, int p1, int n)
1260 {
1261   OrcExecutor _ex, *ex = &_ex;
1262   static volatile int p_inited = 0;
1263   static OrcCode *c = 0;
1264   void (*func) (OrcExecutor *);
1265
1266   if (!p_inited) {
1267     orc_once_mutex_lock ();
1268     if (!p_inited) {
1269       OrcProgram *p;
1270
1271 #if 1
1272       static const orc_uint8 bc[] = {
1273         1, 9, 28, 97, 117, 100, 105, 111, 95, 99, 111, 110, 118, 101, 114, 116,
1274         95, 111, 114, 99, 95, 117, 110, 112, 97, 99, 107, 95, 115, 51, 50, 11,
1275         4, 4, 12, 4, 4, 16, 4, 124, 0, 4, 24, 2, 0,
1276       };
1277       p = orc_program_new_from_static_bytecode (bc);
1278       orc_program_set_backup_function (p, _backup_audio_convert_orc_unpack_s32);
1279 #else
1280       p = orc_program_new ();
1281       orc_program_set_name (p, "audio_convert_orc_unpack_s32");
1282       orc_program_set_backup_function (p, _backup_audio_convert_orc_unpack_s32);
1283       orc_program_add_destination (p, 4, "d1");
1284       orc_program_add_source (p, 4, "s1");
1285       orc_program_add_parameter (p, 4, "p1");
1286
1287       orc_program_append_2 (p, "shll", 0, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_P1,
1288           ORC_VAR_D1);
1289 #endif
1290
1291       orc_program_compile (p);
1292       c = orc_program_take_code (p);
1293       orc_program_free (p);
1294     }
1295     p_inited = TRUE;
1296     orc_once_mutex_unlock ();
1297   }
1298   ex->arrays[ORC_VAR_A2] = c;
1299   ex->program = 0;
1300
1301   ex->n = n;
1302   ex->arrays[ORC_VAR_D1] = d1;
1303   ex->arrays[ORC_VAR_S1] = (void *) s1;
1304   ex->params[ORC_VAR_P1] = p1;
1305
1306   func = c->exec;
1307   func (ex);
1308 }
1309 #endif
1310
1311
1312 /* audio_convert_orc_unpack_u32_swap */
1313 #ifdef DISABLE_ORC
1314 void
1315 audio_convert_orc_unpack_u32_swap (gint32 * ORC_RESTRICT d1,
1316     const guint8 * ORC_RESTRICT s1, int p1, int n)
1317 {
1318   int i;
1319   orc_union32 *ORC_RESTRICT ptr0;
1320   const orc_union32 *ORC_RESTRICT ptr4;
1321   orc_union32 var33;
1322 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
1323   volatile orc_union32 var34;
1324 #else
1325   orc_union32 var34;
1326 #endif
1327   orc_union32 var35;
1328   orc_union32 var36;
1329   orc_union32 var37;
1330
1331   ptr0 = (orc_union32 *) d1;
1332   ptr4 = (orc_union32 *) s1;
1333
1334   /* 3: loadpl */
1335   var34.i = (int) 0x80000000;   /* -2147483648 or 1.061e-314f */
1336
1337   for (i = 0; i < n; i++) {
1338     /* 0: loadl */
1339     var33 = ptr4[i];
1340     /* 1: swapl */
1341     var36.i = ORC_SWAP_L (var33.i);
1342     /* 2: shll */
1343     var37.i = var36.i << p1;
1344     /* 4: xorl */
1345     var35.i = var37.i ^ var34.i;
1346     /* 5: storel */
1347     ptr0[i] = var35;
1348   }
1349
1350 }
1351
1352 #else
1353 static void
1354 _backup_audio_convert_orc_unpack_u32_swap (OrcExecutor * ORC_RESTRICT ex)
1355 {
1356   int i;
1357   int n = ex->n;
1358   orc_union32 *ORC_RESTRICT ptr0;
1359   const orc_union32 *ORC_RESTRICT ptr4;
1360   orc_union32 var33;
1361 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
1362   volatile orc_union32 var34;
1363 #else
1364   orc_union32 var34;
1365 #endif
1366   orc_union32 var35;
1367   orc_union32 var36;
1368   orc_union32 var37;
1369
1370   ptr0 = (orc_union32 *) ex->arrays[0];
1371   ptr4 = (orc_union32 *) ex->arrays[4];
1372
1373   /* 3: loadpl */
1374   var34.i = (int) 0x80000000;   /* -2147483648 or 1.061e-314f */
1375
1376   for (i = 0; i < n; i++) {
1377     /* 0: loadl */
1378     var33 = ptr4[i];
1379     /* 1: swapl */
1380     var36.i = ORC_SWAP_L (var33.i);
1381     /* 2: shll */
1382     var37.i = var36.i << ex->params[24];
1383     /* 4: xorl */
1384     var35.i = var37.i ^ var34.i;
1385     /* 5: storel */
1386     ptr0[i] = var35;
1387   }
1388
1389 }
1390
1391 void
1392 audio_convert_orc_unpack_u32_swap (gint32 * ORC_RESTRICT d1,
1393     const guint8 * ORC_RESTRICT s1, int p1, int n)
1394 {
1395   OrcExecutor _ex, *ex = &_ex;
1396   static volatile int p_inited = 0;
1397   static OrcCode *c = 0;
1398   void (*func) (OrcExecutor *);
1399
1400   if (!p_inited) {
1401     orc_once_mutex_lock ();
1402     if (!p_inited) {
1403       OrcProgram *p;
1404
1405 #if 1
1406       static const orc_uint8 bc[] = {
1407         1, 9, 33, 97, 117, 100, 105, 111, 95, 99, 111, 110, 118, 101, 114, 116,
1408         95, 111, 114, 99, 95, 117, 110, 112, 97, 99, 107, 95, 117, 51, 50, 95,
1409         115, 119, 97, 112, 11, 4, 4, 12, 4, 4, 14, 4, 0, 0, 0, 128,
1410         16, 4, 20, 4, 184, 32, 4, 124, 32, 32, 24, 132, 0, 32, 16, 2,
1411         0,
1412       };
1413       p = orc_program_new_from_static_bytecode (bc);
1414       orc_program_set_backup_function (p,
1415           _backup_audio_convert_orc_unpack_u32_swap);
1416 #else
1417       p = orc_program_new ();
1418       orc_program_set_name (p, "audio_convert_orc_unpack_u32_swap");
1419       orc_program_set_backup_function (p,
1420           _backup_audio_convert_orc_unpack_u32_swap);
1421       orc_program_add_destination (p, 4, "d1");
1422       orc_program_add_source (p, 4, "s1");
1423       orc_program_add_constant (p, 4, 0x80000000, "c1");
1424       orc_program_add_parameter (p, 4, "p1");
1425       orc_program_add_temporary (p, 4, "t1");
1426
1427       orc_program_append_2 (p, "swapl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
1428           ORC_VAR_D1);
1429       orc_program_append_2 (p, "shll", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_P1,
1430           ORC_VAR_D1);
1431       orc_program_append_2 (p, "xorl", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_C1,
1432           ORC_VAR_D1);
1433 #endif
1434
1435       orc_program_compile (p);
1436       c = orc_program_take_code (p);
1437       orc_program_free (p);
1438     }
1439     p_inited = TRUE;
1440     orc_once_mutex_unlock ();
1441   }
1442   ex->arrays[ORC_VAR_A2] = c;
1443   ex->program = 0;
1444
1445   ex->n = n;
1446   ex->arrays[ORC_VAR_D1] = d1;
1447   ex->arrays[ORC_VAR_S1] = (void *) s1;
1448   ex->params[ORC_VAR_P1] = p1;
1449
1450   func = c->exec;
1451   func (ex);
1452 }
1453 #endif
1454
1455
1456 /* audio_convert_orc_unpack_s32_swap */
1457 #ifdef DISABLE_ORC
1458 void
1459 audio_convert_orc_unpack_s32_swap (gint32 * ORC_RESTRICT d1,
1460     const guint8 * ORC_RESTRICT s1, int p1, int n)
1461 {
1462   int i;
1463   orc_union32 *ORC_RESTRICT ptr0;
1464   const orc_union32 *ORC_RESTRICT ptr4;
1465   orc_union32 var33;
1466   orc_union32 var34;
1467   orc_union32 var35;
1468
1469   ptr0 = (orc_union32 *) d1;
1470   ptr4 = (orc_union32 *) s1;
1471
1472
1473   for (i = 0; i < n; i++) {
1474     /* 0: loadl */
1475     var33 = ptr4[i];
1476     /* 1: swapl */
1477     var35.i = ORC_SWAP_L (var33.i);
1478     /* 2: shll */
1479     var34.i = var35.i << p1;
1480     /* 3: storel */
1481     ptr0[i] = var34;
1482   }
1483
1484 }
1485
1486 #else
1487 static void
1488 _backup_audio_convert_orc_unpack_s32_swap (OrcExecutor * ORC_RESTRICT ex)
1489 {
1490   int i;
1491   int n = ex->n;
1492   orc_union32 *ORC_RESTRICT ptr0;
1493   const orc_union32 *ORC_RESTRICT ptr4;
1494   orc_union32 var33;
1495   orc_union32 var34;
1496   orc_union32 var35;
1497
1498   ptr0 = (orc_union32 *) ex->arrays[0];
1499   ptr4 = (orc_union32 *) ex->arrays[4];
1500
1501
1502   for (i = 0; i < n; i++) {
1503     /* 0: loadl */
1504     var33 = ptr4[i];
1505     /* 1: swapl */
1506     var35.i = ORC_SWAP_L (var33.i);
1507     /* 2: shll */
1508     var34.i = var35.i << ex->params[24];
1509     /* 3: storel */
1510     ptr0[i] = var34;
1511   }
1512
1513 }
1514
1515 void
1516 audio_convert_orc_unpack_s32_swap (gint32 * ORC_RESTRICT d1,
1517     const guint8 * ORC_RESTRICT s1, int p1, int n)
1518 {
1519   OrcExecutor _ex, *ex = &_ex;
1520   static volatile int p_inited = 0;
1521   static OrcCode *c = 0;
1522   void (*func) (OrcExecutor *);
1523
1524   if (!p_inited) {
1525     orc_once_mutex_lock ();
1526     if (!p_inited) {
1527       OrcProgram *p;
1528
1529 #if 1
1530       static const orc_uint8 bc[] = {
1531         1, 9, 33, 97, 117, 100, 105, 111, 95, 99, 111, 110, 118, 101, 114, 116,
1532         95, 111, 114, 99, 95, 117, 110, 112, 97, 99, 107, 95, 115, 51, 50, 95,
1533         115, 119, 97, 112, 11, 4, 4, 12, 4, 4, 16, 4, 20, 4, 184, 32,
1534         4, 124, 0, 32, 24, 2, 0,
1535       };
1536       p = orc_program_new_from_static_bytecode (bc);
1537       orc_program_set_backup_function (p,
1538           _backup_audio_convert_orc_unpack_s32_swap);
1539 #else
1540       p = orc_program_new ();
1541       orc_program_set_name (p, "audio_convert_orc_unpack_s32_swap");
1542       orc_program_set_backup_function (p,
1543           _backup_audio_convert_orc_unpack_s32_swap);
1544       orc_program_add_destination (p, 4, "d1");
1545       orc_program_add_source (p, 4, "s1");
1546       orc_program_add_parameter (p, 4, "p1");
1547       orc_program_add_temporary (p, 4, "t1");
1548
1549       orc_program_append_2 (p, "swapl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
1550           ORC_VAR_D1);
1551       orc_program_append_2 (p, "shll", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_P1,
1552           ORC_VAR_D1);
1553 #endif
1554
1555       orc_program_compile (p);
1556       c = orc_program_take_code (p);
1557       orc_program_free (p);
1558     }
1559     p_inited = TRUE;
1560     orc_once_mutex_unlock ();
1561   }
1562   ex->arrays[ORC_VAR_A2] = c;
1563   ex->program = 0;
1564
1565   ex->n = n;
1566   ex->arrays[ORC_VAR_D1] = d1;
1567   ex->arrays[ORC_VAR_S1] = (void *) s1;
1568   ex->params[ORC_VAR_P1] = p1;
1569
1570   func = c->exec;
1571   func (ex);
1572 }
1573 #endif
1574
1575
1576 /* audio_convert_orc_unpack_float_s32 */
1577 #ifdef DISABLE_ORC
1578 void
1579 audio_convert_orc_unpack_float_s32 (guint32 * ORC_RESTRICT d1,
1580     const gfloat * ORC_RESTRICT s1, int n)
1581 {
1582   int i;
1583   orc_union32 *ORC_RESTRICT ptr0;
1584   const orc_union32 *ORC_RESTRICT ptr4;
1585 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
1586   volatile orc_union32 var33;
1587 #else
1588   orc_union32 var33;
1589 #endif
1590 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
1591   volatile orc_union32 var34;
1592 #else
1593   orc_union32 var34;
1594 #endif
1595   orc_union32 var35;
1596   orc_union32 var36;
1597   orc_union32 var37;
1598   orc_union32 var38;
1599
1600   ptr0 = (orc_union32 *) d1;
1601   ptr4 = (orc_union32 *) s1;
1602
1603   /* 1: loadpl */
1604   var33.i = (int) 0x4f000000;   /* 1325400064 or 6.54835e-315f */
1605   /* 3: loadpl */
1606   var34.i = (int) 0x3f000000;   /* 1056964608 or 5.2221e-315f */
1607
1608   for (i = 0; i < n; i++) {
1609     /* 0: loadl */
1610     var36 = ptr4[i];
1611     /* 2: mulf */
1612     {
1613       orc_union32 _src1;
1614       orc_union32 _src2;
1615       orc_union32 _dest1;
1616       _src1.i = ORC_DENORMAL (var36.i);
1617       _src2.i = ORC_DENORMAL (var33.i);
1618       _dest1.f = _src1.f * _src2.f;
1619       var37.i = ORC_DENORMAL (_dest1.i);
1620     }
1621     /* 4: addf */
1622     {
1623       orc_union32 _src1;
1624       orc_union32 _src2;
1625       orc_union32 _dest1;
1626       _src1.i = ORC_DENORMAL (var37.i);
1627       _src2.i = ORC_DENORMAL (var34.i);
1628       _dest1.f = _src1.f + _src2.f;
1629       var38.i = ORC_DENORMAL (_dest1.i);
1630     }
1631     /* 5: convfl */
1632     {
1633       int tmp;
1634       tmp = (int) var38.f;
1635       if (tmp == 0x80000000 && !(var38.i & 0x80000000))
1636         tmp = 0x7fffffff;
1637       var35.i = tmp;
1638     }
1639     /* 6: storel */
1640     ptr0[i] = var35;
1641   }
1642
1643 }
1644
1645 #else
1646 static void
1647 _backup_audio_convert_orc_unpack_float_s32 (OrcExecutor * ORC_RESTRICT ex)
1648 {
1649   int i;
1650   int n = ex->n;
1651   orc_union32 *ORC_RESTRICT ptr0;
1652   const orc_union32 *ORC_RESTRICT ptr4;
1653 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
1654   volatile orc_union32 var33;
1655 #else
1656   orc_union32 var33;
1657 #endif
1658 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
1659   volatile orc_union32 var34;
1660 #else
1661   orc_union32 var34;
1662 #endif
1663   orc_union32 var35;
1664   orc_union32 var36;
1665   orc_union32 var37;
1666   orc_union32 var38;
1667
1668   ptr0 = (orc_union32 *) ex->arrays[0];
1669   ptr4 = (orc_union32 *) ex->arrays[4];
1670
1671   /* 1: loadpl */
1672   var33.i = (int) 0x4f000000;   /* 1325400064 or 6.54835e-315f */
1673   /* 3: loadpl */
1674   var34.i = (int) 0x3f000000;   /* 1056964608 or 5.2221e-315f */
1675
1676   for (i = 0; i < n; i++) {
1677     /* 0: loadl */
1678     var36 = ptr4[i];
1679     /* 2: mulf */
1680     {
1681       orc_union32 _src1;
1682       orc_union32 _src2;
1683       orc_union32 _dest1;
1684       _src1.i = ORC_DENORMAL (var36.i);
1685       _src2.i = ORC_DENORMAL (var33.i);
1686       _dest1.f = _src1.f * _src2.f;
1687       var37.i = ORC_DENORMAL (_dest1.i);
1688     }
1689     /* 4: addf */
1690     {
1691       orc_union32 _src1;
1692       orc_union32 _src2;
1693       orc_union32 _dest1;
1694       _src1.i = ORC_DENORMAL (var37.i);
1695       _src2.i = ORC_DENORMAL (var34.i);
1696       _dest1.f = _src1.f + _src2.f;
1697       var38.i = ORC_DENORMAL (_dest1.i);
1698     }
1699     /* 5: convfl */
1700     {
1701       int tmp;
1702       tmp = (int) var38.f;
1703       if (tmp == 0x80000000 && !(var38.i & 0x80000000))
1704         tmp = 0x7fffffff;
1705       var35.i = tmp;
1706     }
1707     /* 6: storel */
1708     ptr0[i] = var35;
1709   }
1710
1711 }
1712
1713 void
1714 audio_convert_orc_unpack_float_s32 (guint32 * ORC_RESTRICT d1,
1715     const gfloat * ORC_RESTRICT s1, int n)
1716 {
1717   OrcExecutor _ex, *ex = &_ex;
1718   static volatile int p_inited = 0;
1719   static OrcCode *c = 0;
1720   void (*func) (OrcExecutor *);
1721
1722   if (!p_inited) {
1723     orc_once_mutex_lock ();
1724     if (!p_inited) {
1725       OrcProgram *p;
1726
1727 #if 1
1728       static const orc_uint8 bc[] = {
1729         1, 9, 34, 97, 117, 100, 105, 111, 95, 99, 111, 110, 118, 101, 114, 116,
1730         95, 111, 114, 99, 95, 117, 110, 112, 97, 99, 107, 95, 102, 108, 111, 97,
1731         116, 95, 115, 51, 50, 11, 4, 4, 12, 4, 4, 14, 4, 0, 0, 0,
1732         79, 14, 4, 0, 0, 0, 63, 20, 4, 113, 32, 4, 202, 32, 32, 16,
1733         200, 32, 32, 17, 210, 0, 32, 2, 0,
1734       };
1735       p = orc_program_new_from_static_bytecode (bc);
1736       orc_program_set_backup_function (p,
1737           _backup_audio_convert_orc_unpack_float_s32);
1738 #else
1739       p = orc_program_new ();
1740       orc_program_set_name (p, "audio_convert_orc_unpack_float_s32");
1741       orc_program_set_backup_function (p,
1742           _backup_audio_convert_orc_unpack_float_s32);
1743       orc_program_add_destination (p, 4, "d1");
1744       orc_program_add_source (p, 4, "s1");
1745       orc_program_add_constant (p, 4, 0x4f000000, "c1");
1746       orc_program_add_constant (p, 4, 0x3f000000, "c2");
1747       orc_program_add_temporary (p, 4, "t1");
1748
1749       orc_program_append_2 (p, "loadl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
1750           ORC_VAR_D1);
1751       orc_program_append_2 (p, "mulf", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
1752           ORC_VAR_D1);
1753       orc_program_append_2 (p, "addf", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C2,
1754           ORC_VAR_D1);
1755       orc_program_append_2 (p, "convfl", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1,
1756           ORC_VAR_D1);
1757 #endif
1758
1759       orc_program_compile (p);
1760       c = orc_program_take_code (p);
1761       orc_program_free (p);
1762     }
1763     p_inited = TRUE;
1764     orc_once_mutex_unlock ();
1765   }
1766   ex->arrays[ORC_VAR_A2] = c;
1767   ex->program = 0;
1768
1769   ex->n = n;
1770   ex->arrays[ORC_VAR_D1] = d1;
1771   ex->arrays[ORC_VAR_S1] = (void *) s1;
1772
1773   func = c->exec;
1774   func (ex);
1775 }
1776 #endif
1777
1778
1779 /* audio_convert_orc_unpack_float_s32_swap */
1780 #ifdef DISABLE_ORC
1781 void
1782 audio_convert_orc_unpack_float_s32_swap (guint32 * ORC_RESTRICT d1,
1783     const gfloat * ORC_RESTRICT s1, int n)
1784 {
1785   int i;
1786   orc_union32 *ORC_RESTRICT ptr0;
1787   const orc_union32 *ORC_RESTRICT ptr4;
1788   orc_union32 var33;
1789 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
1790   volatile orc_union32 var34;
1791 #else
1792   orc_union32 var34;
1793 #endif
1794 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
1795   volatile orc_union32 var35;
1796 #else
1797   orc_union32 var35;
1798 #endif
1799   orc_union32 var36;
1800   orc_union32 var37;
1801   orc_union32 var38;
1802   orc_union32 var39;
1803
1804   ptr0 = (orc_union32 *) d1;
1805   ptr4 = (orc_union32 *) s1;
1806
1807   /* 2: loadpl */
1808   var34.i = (int) 0x4f000000;   /* 1325400064 or 6.54835e-315f */
1809   /* 4: loadpl */
1810   var35.i = (int) 0x3f000000;   /* 1056964608 or 5.2221e-315f */
1811
1812   for (i = 0; i < n; i++) {
1813     /* 0: loadl */
1814     var33 = ptr4[i];
1815     /* 1: swapl */
1816     var37.i = ORC_SWAP_L (var33.i);
1817     /* 3: mulf */
1818     {
1819       orc_union32 _src1;
1820       orc_union32 _src2;
1821       orc_union32 _dest1;
1822       _src1.i = ORC_DENORMAL (var37.i);
1823       _src2.i = ORC_DENORMAL (var34.i);
1824       _dest1.f = _src1.f * _src2.f;
1825       var38.i = ORC_DENORMAL (_dest1.i);
1826     }
1827     /* 5: addf */
1828     {
1829       orc_union32 _src1;
1830       orc_union32 _src2;
1831       orc_union32 _dest1;
1832       _src1.i = ORC_DENORMAL (var38.i);
1833       _src2.i = ORC_DENORMAL (var35.i);
1834       _dest1.f = _src1.f + _src2.f;
1835       var39.i = ORC_DENORMAL (_dest1.i);
1836     }
1837     /* 6: convfl */
1838     {
1839       int tmp;
1840       tmp = (int) var39.f;
1841       if (tmp == 0x80000000 && !(var39.i & 0x80000000))
1842         tmp = 0x7fffffff;
1843       var36.i = tmp;
1844     }
1845     /* 7: storel */
1846     ptr0[i] = var36;
1847   }
1848
1849 }
1850
1851 #else
1852 static void
1853 _backup_audio_convert_orc_unpack_float_s32_swap (OrcExecutor * ORC_RESTRICT ex)
1854 {
1855   int i;
1856   int n = ex->n;
1857   orc_union32 *ORC_RESTRICT ptr0;
1858   const orc_union32 *ORC_RESTRICT ptr4;
1859   orc_union32 var33;
1860 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
1861   volatile orc_union32 var34;
1862 #else
1863   orc_union32 var34;
1864 #endif
1865 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
1866   volatile orc_union32 var35;
1867 #else
1868   orc_union32 var35;
1869 #endif
1870   orc_union32 var36;
1871   orc_union32 var37;
1872   orc_union32 var38;
1873   orc_union32 var39;
1874
1875   ptr0 = (orc_union32 *) ex->arrays[0];
1876   ptr4 = (orc_union32 *) ex->arrays[4];
1877
1878   /* 2: loadpl */
1879   var34.i = (int) 0x4f000000;   /* 1325400064 or 6.54835e-315f */
1880   /* 4: loadpl */
1881   var35.i = (int) 0x3f000000;   /* 1056964608 or 5.2221e-315f */
1882
1883   for (i = 0; i < n; i++) {
1884     /* 0: loadl */
1885     var33 = ptr4[i];
1886     /* 1: swapl */
1887     var37.i = ORC_SWAP_L (var33.i);
1888     /* 3: mulf */
1889     {
1890       orc_union32 _src1;
1891       orc_union32 _src2;
1892       orc_union32 _dest1;
1893       _src1.i = ORC_DENORMAL (var37.i);
1894       _src2.i = ORC_DENORMAL (var34.i);
1895       _dest1.f = _src1.f * _src2.f;
1896       var38.i = ORC_DENORMAL (_dest1.i);
1897     }
1898     /* 5: addf */
1899     {
1900       orc_union32 _src1;
1901       orc_union32 _src2;
1902       orc_union32 _dest1;
1903       _src1.i = ORC_DENORMAL (var38.i);
1904       _src2.i = ORC_DENORMAL (var35.i);
1905       _dest1.f = _src1.f + _src2.f;
1906       var39.i = ORC_DENORMAL (_dest1.i);
1907     }
1908     /* 6: convfl */
1909     {
1910       int tmp;
1911       tmp = (int) var39.f;
1912       if (tmp == 0x80000000 && !(var39.i & 0x80000000))
1913         tmp = 0x7fffffff;
1914       var36.i = tmp;
1915     }
1916     /* 7: storel */
1917     ptr0[i] = var36;
1918   }
1919
1920 }
1921
1922 void
1923 audio_convert_orc_unpack_float_s32_swap (guint32 * ORC_RESTRICT d1,
1924     const gfloat * ORC_RESTRICT s1, int n)
1925 {
1926   OrcExecutor _ex, *ex = &_ex;
1927   static volatile int p_inited = 0;
1928   static OrcCode *c = 0;
1929   void (*func) (OrcExecutor *);
1930
1931   if (!p_inited) {
1932     orc_once_mutex_lock ();
1933     if (!p_inited) {
1934       OrcProgram *p;
1935
1936 #if 1
1937       static const orc_uint8 bc[] = {
1938         1, 9, 39, 97, 117, 100, 105, 111, 95, 99, 111, 110, 118, 101, 114, 116,
1939         95, 111, 114, 99, 95, 117, 110, 112, 97, 99, 107, 95, 102, 108, 111, 97,
1940         116, 95, 115, 51, 50, 95, 115, 119, 97, 112, 11, 4, 4, 12, 4, 4,
1941         14, 4, 0, 0, 0, 79, 14, 4, 0, 0, 0, 63, 20, 4, 184, 32,
1942         4, 202, 32, 32, 16, 200, 32, 32, 17, 210, 0, 32, 2, 0,
1943       };
1944       p = orc_program_new_from_static_bytecode (bc);
1945       orc_program_set_backup_function (p,
1946           _backup_audio_convert_orc_unpack_float_s32_swap);
1947 #else
1948       p = orc_program_new ();
1949       orc_program_set_name (p, "audio_convert_orc_unpack_float_s32_swap");
1950       orc_program_set_backup_function (p,
1951           _backup_audio_convert_orc_unpack_float_s32_swap);
1952       orc_program_add_destination (p, 4, "d1");
1953       orc_program_add_source (p, 4, "s1");
1954       orc_program_add_constant (p, 4, 0x4f000000, "c1");
1955       orc_program_add_constant (p, 4, 0x3f000000, "c2");
1956       orc_program_add_temporary (p, 4, "t1");
1957
1958       orc_program_append_2 (p, "swapl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
1959           ORC_VAR_D1);
1960       orc_program_append_2 (p, "mulf", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
1961           ORC_VAR_D1);
1962       orc_program_append_2 (p, "addf", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C2,
1963           ORC_VAR_D1);
1964       orc_program_append_2 (p, "convfl", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1,
1965           ORC_VAR_D1);
1966 #endif
1967
1968       orc_program_compile (p);
1969       c = orc_program_take_code (p);
1970       orc_program_free (p);
1971     }
1972     p_inited = TRUE;
1973     orc_once_mutex_unlock ();
1974   }
1975   ex->arrays[ORC_VAR_A2] = c;
1976   ex->program = 0;
1977
1978   ex->n = n;
1979   ex->arrays[ORC_VAR_D1] = d1;
1980   ex->arrays[ORC_VAR_S1] = (void *) s1;
1981
1982   func = c->exec;
1983   func (ex);
1984 }
1985 #endif
1986
1987
1988 /* audio_convert_orc_unpack_double_s32 */
1989 #ifdef DISABLE_ORC
1990 void
1991 audio_convert_orc_unpack_double_s32 (guint32 * ORC_RESTRICT d1,
1992     const gdouble * ORC_RESTRICT s1, int n)
1993 {
1994   int i;
1995   orc_union32 *ORC_RESTRICT ptr0;
1996   const orc_union64 *ORC_RESTRICT ptr4;
1997 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
1998   volatile orc_union64 var33;
1999 #else
2000   orc_union64 var33;
2001 #endif
2002 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
2003   volatile orc_union64 var34;
2004 #else
2005   orc_union64 var34;
2006 #endif
2007   orc_union32 var35;
2008   orc_union64 var36;
2009   orc_union64 var37;
2010   orc_union64 var38;
2011
2012   ptr0 = (orc_union32 *) d1;
2013   ptr4 = (orc_union64 *) s1;
2014
2015   /* 1: loadpq */
2016   var33.i = ORC_UINT64_C (0x41dfffffffc00000);  /* 2.14748e+09f */
2017   /* 3: loadpq */
2018   var34.i = ORC_UINT64_C (0x3fe0000000000000);  /* 0.5f */
2019
2020   for (i = 0; i < n; i++) {
2021     /* 0: loadq */
2022     var36 = ptr4[i];
2023     /* 2: muld */
2024     {
2025       orc_union64 _src1;
2026       orc_union64 _src2;
2027       orc_union64 _dest1;
2028       _src1.i = ORC_DENORMAL_DOUBLE (var36.i);
2029       _src2.i = ORC_DENORMAL_DOUBLE (var33.i);
2030       _dest1.f = _src1.f * _src2.f;
2031       var37.i = ORC_DENORMAL_DOUBLE (_dest1.i);
2032     }
2033     /* 4: addd */
2034     {
2035       orc_union64 _src1;
2036       orc_union64 _src2;
2037       orc_union64 _dest1;
2038       _src1.i = ORC_DENORMAL_DOUBLE (var37.i);
2039       _src2.i = ORC_DENORMAL_DOUBLE (var34.i);
2040       _dest1.f = _src1.f + _src2.f;
2041       var38.i = ORC_DENORMAL_DOUBLE (_dest1.i);
2042     }
2043     /* 5: convdl */
2044     {
2045       int tmp;
2046       tmp = var38.f;
2047       if (tmp == 0x80000000 && !(var38.i & ORC_UINT64_C (0x8000000000000000)))
2048         tmp = 0x7fffffff;
2049       var35.i = tmp;
2050     }
2051     /* 6: storel */
2052     ptr0[i] = var35;
2053   }
2054
2055 }
2056
2057 #else
2058 static void
2059 _backup_audio_convert_orc_unpack_double_s32 (OrcExecutor * ORC_RESTRICT ex)
2060 {
2061   int i;
2062   int n = ex->n;
2063   orc_union32 *ORC_RESTRICT ptr0;
2064   const orc_union64 *ORC_RESTRICT ptr4;
2065 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
2066   volatile orc_union64 var33;
2067 #else
2068   orc_union64 var33;
2069 #endif
2070 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
2071   volatile orc_union64 var34;
2072 #else
2073   orc_union64 var34;
2074 #endif
2075   orc_union32 var35;
2076   orc_union64 var36;
2077   orc_union64 var37;
2078   orc_union64 var38;
2079
2080   ptr0 = (orc_union32 *) ex->arrays[0];
2081   ptr4 = (orc_union64 *) ex->arrays[4];
2082
2083   /* 1: loadpq */
2084   var33.i = ORC_UINT64_C (0x41dfffffffc00000);  /* 2.14748e+09f */
2085   /* 3: loadpq */
2086   var34.i = ORC_UINT64_C (0x3fe0000000000000);  /* 0.5f */
2087
2088   for (i = 0; i < n; i++) {
2089     /* 0: loadq */
2090     var36 = ptr4[i];
2091     /* 2: muld */
2092     {
2093       orc_union64 _src1;
2094       orc_union64 _src2;
2095       orc_union64 _dest1;
2096       _src1.i = ORC_DENORMAL_DOUBLE (var36.i);
2097       _src2.i = ORC_DENORMAL_DOUBLE (var33.i);
2098       _dest1.f = _src1.f * _src2.f;
2099       var37.i = ORC_DENORMAL_DOUBLE (_dest1.i);
2100     }
2101     /* 4: addd */
2102     {
2103       orc_union64 _src1;
2104       orc_union64 _src2;
2105       orc_union64 _dest1;
2106       _src1.i = ORC_DENORMAL_DOUBLE (var37.i);
2107       _src2.i = ORC_DENORMAL_DOUBLE (var34.i);
2108       _dest1.f = _src1.f + _src2.f;
2109       var38.i = ORC_DENORMAL_DOUBLE (_dest1.i);
2110     }
2111     /* 5: convdl */
2112     {
2113       int tmp;
2114       tmp = var38.f;
2115       if (tmp == 0x80000000 && !(var38.i & ORC_UINT64_C (0x8000000000000000)))
2116         tmp = 0x7fffffff;
2117       var35.i = tmp;
2118     }
2119     /* 6: storel */
2120     ptr0[i] = var35;
2121   }
2122
2123 }
2124
2125 void
2126 audio_convert_orc_unpack_double_s32 (guint32 * ORC_RESTRICT d1,
2127     const gdouble * ORC_RESTRICT s1, int n)
2128 {
2129   OrcExecutor _ex, *ex = &_ex;
2130   static volatile int p_inited = 0;
2131   static OrcCode *c = 0;
2132   void (*func) (OrcExecutor *);
2133
2134   if (!p_inited) {
2135     orc_once_mutex_lock ();
2136     if (!p_inited) {
2137       OrcProgram *p;
2138
2139 #if 1
2140       static const orc_uint8 bc[] = {
2141         1, 9, 35, 97, 117, 100, 105, 111, 95, 99, 111, 110, 118, 101, 114, 116,
2142         95, 111, 114, 99, 95, 117, 110, 112, 97, 99, 107, 95, 100, 111, 117, 98,
2143         108, 101, 95, 115, 51, 50, 11, 4, 4, 12, 8, 8, 15, 8, 0, 0,
2144         192, 255, 255, 255, 223, 65, 15, 8, 0, 0, 0, 0, 0, 0, 224, 63,
2145         20, 8, 133, 32, 4, 214, 32, 32, 16, 212, 32, 32, 17, 222, 0, 32,
2146         2, 0,
2147       };
2148       p = orc_program_new_from_static_bytecode (bc);
2149       orc_program_set_backup_function (p,
2150           _backup_audio_convert_orc_unpack_double_s32);
2151 #else
2152       p = orc_program_new ();
2153       orc_program_set_name (p, "audio_convert_orc_unpack_double_s32");
2154       orc_program_set_backup_function (p,
2155           _backup_audio_convert_orc_unpack_double_s32);
2156       orc_program_add_destination (p, 4, "d1");
2157       orc_program_add_source (p, 8, "s1");
2158       orc_program_add_constant_int64 (p, 8, 0x41dfffffffc00000ULL, "c1");
2159       orc_program_add_constant_int64 (p, 8, 0x3fe0000000000000ULL, "c2");
2160       orc_program_add_temporary (p, 8, "t1");
2161
2162       orc_program_append_2 (p, "loadq", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
2163           ORC_VAR_D1);
2164       orc_program_append_2 (p, "muld", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
2165           ORC_VAR_D1);
2166       orc_program_append_2 (p, "addd", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C2,
2167           ORC_VAR_D1);
2168       orc_program_append_2 (p, "convdl", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1,
2169           ORC_VAR_D1);
2170 #endif
2171
2172       orc_program_compile (p);
2173       c = orc_program_take_code (p);
2174       orc_program_free (p);
2175     }
2176     p_inited = TRUE;
2177     orc_once_mutex_unlock ();
2178   }
2179   ex->arrays[ORC_VAR_A2] = c;
2180   ex->program = 0;
2181
2182   ex->n = n;
2183   ex->arrays[ORC_VAR_D1] = d1;
2184   ex->arrays[ORC_VAR_S1] = (void *) s1;
2185
2186   func = c->exec;
2187   func (ex);
2188 }
2189 #endif
2190
2191
2192 /* audio_convert_orc_unpack_double_s32_swap */
2193 #ifdef DISABLE_ORC
2194 void
2195 audio_convert_orc_unpack_double_s32_swap (guint32 * ORC_RESTRICT d1,
2196     const gdouble * ORC_RESTRICT s1, int n)
2197 {
2198   int i;
2199   orc_union32 *ORC_RESTRICT ptr0;
2200   const orc_union64 *ORC_RESTRICT ptr4;
2201   orc_union64 var33;
2202 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
2203   volatile orc_union64 var34;
2204 #else
2205   orc_union64 var34;
2206 #endif
2207 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
2208   volatile orc_union64 var35;
2209 #else
2210   orc_union64 var35;
2211 #endif
2212   orc_union32 var36;
2213   orc_union64 var37;
2214   orc_union64 var38;
2215   orc_union64 var39;
2216
2217   ptr0 = (orc_union32 *) d1;
2218   ptr4 = (orc_union64 *) s1;
2219
2220   /* 2: loadpq */
2221   var34.i = ORC_UINT64_C (0x41dfffffffc00000);  /* 2.14748e+09f */
2222   /* 4: loadpq */
2223   var35.i = ORC_UINT64_C (0x3fe0000000000000);  /* 0.5f */
2224
2225   for (i = 0; i < n; i++) {
2226     /* 0: loadq */
2227     var33 = ptr4[i];
2228     /* 1: swapq */
2229     var37.i = ORC_SWAP_Q (var33.i);
2230     /* 3: muld */
2231     {
2232       orc_union64 _src1;
2233       orc_union64 _src2;
2234       orc_union64 _dest1;
2235       _src1.i = ORC_DENORMAL_DOUBLE (var37.i);
2236       _src2.i = ORC_DENORMAL_DOUBLE (var34.i);
2237       _dest1.f = _src1.f * _src2.f;
2238       var38.i = ORC_DENORMAL_DOUBLE (_dest1.i);
2239     }
2240     /* 5: addd */
2241     {
2242       orc_union64 _src1;
2243       orc_union64 _src2;
2244       orc_union64 _dest1;
2245       _src1.i = ORC_DENORMAL_DOUBLE (var38.i);
2246       _src2.i = ORC_DENORMAL_DOUBLE (var35.i);
2247       _dest1.f = _src1.f + _src2.f;
2248       var39.i = ORC_DENORMAL_DOUBLE (_dest1.i);
2249     }
2250     /* 6: convdl */
2251     {
2252       int tmp;
2253       tmp = var39.f;
2254       if (tmp == 0x80000000 && !(var39.i & ORC_UINT64_C (0x8000000000000000)))
2255         tmp = 0x7fffffff;
2256       var36.i = tmp;
2257     }
2258     /* 7: storel */
2259     ptr0[i] = var36;
2260   }
2261
2262 }
2263
2264 #else
2265 static void
2266 _backup_audio_convert_orc_unpack_double_s32_swap (OrcExecutor * ORC_RESTRICT ex)
2267 {
2268   int i;
2269   int n = ex->n;
2270   orc_union32 *ORC_RESTRICT ptr0;
2271   const orc_union64 *ORC_RESTRICT ptr4;
2272   orc_union64 var33;
2273 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
2274   volatile orc_union64 var34;
2275 #else
2276   orc_union64 var34;
2277 #endif
2278 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
2279   volatile orc_union64 var35;
2280 #else
2281   orc_union64 var35;
2282 #endif
2283   orc_union32 var36;
2284   orc_union64 var37;
2285   orc_union64 var38;
2286   orc_union64 var39;
2287
2288   ptr0 = (orc_union32 *) ex->arrays[0];
2289   ptr4 = (orc_union64 *) ex->arrays[4];
2290
2291   /* 2: loadpq */
2292   var34.i = ORC_UINT64_C (0x41dfffffffc00000);  /* 2.14748e+09f */
2293   /* 4: loadpq */
2294   var35.i = ORC_UINT64_C (0x3fe0000000000000);  /* 0.5f */
2295
2296   for (i = 0; i < n; i++) {
2297     /* 0: loadq */
2298     var33 = ptr4[i];
2299     /* 1: swapq */
2300     var37.i = ORC_SWAP_Q (var33.i);
2301     /* 3: muld */
2302     {
2303       orc_union64 _src1;
2304       orc_union64 _src2;
2305       orc_union64 _dest1;
2306       _src1.i = ORC_DENORMAL_DOUBLE (var37.i);
2307       _src2.i = ORC_DENORMAL_DOUBLE (var34.i);
2308       _dest1.f = _src1.f * _src2.f;
2309       var38.i = ORC_DENORMAL_DOUBLE (_dest1.i);
2310     }
2311     /* 5: addd */
2312     {
2313       orc_union64 _src1;
2314       orc_union64 _src2;
2315       orc_union64 _dest1;
2316       _src1.i = ORC_DENORMAL_DOUBLE (var38.i);
2317       _src2.i = ORC_DENORMAL_DOUBLE (var35.i);
2318       _dest1.f = _src1.f + _src2.f;
2319       var39.i = ORC_DENORMAL_DOUBLE (_dest1.i);
2320     }
2321     /* 6: convdl */
2322     {
2323       int tmp;
2324       tmp = var39.f;
2325       if (tmp == 0x80000000 && !(var39.i & ORC_UINT64_C (0x8000000000000000)))
2326         tmp = 0x7fffffff;
2327       var36.i = tmp;
2328     }
2329     /* 7: storel */
2330     ptr0[i] = var36;
2331   }
2332
2333 }
2334
2335 void
2336 audio_convert_orc_unpack_double_s32_swap (guint32 * ORC_RESTRICT d1,
2337     const gdouble * ORC_RESTRICT s1, int n)
2338 {
2339   OrcExecutor _ex, *ex = &_ex;
2340   static volatile int p_inited = 0;
2341   static OrcCode *c = 0;
2342   void (*func) (OrcExecutor *);
2343
2344   if (!p_inited) {
2345     orc_once_mutex_lock ();
2346     if (!p_inited) {
2347       OrcProgram *p;
2348
2349 #if 1
2350       static const orc_uint8 bc[] = {
2351         1, 9, 40, 97, 117, 100, 105, 111, 95, 99, 111, 110, 118, 101, 114, 116,
2352         95, 111, 114, 99, 95, 117, 110, 112, 97, 99, 107, 95, 100, 111, 117, 98,
2353         108, 101, 95, 115, 51, 50, 95, 115, 119, 97, 112, 11, 4, 4, 12, 8,
2354         8, 15, 8, 0, 0, 192, 255, 255, 255, 223, 65, 15, 8, 0, 0, 0,
2355         0, 0, 0, 224, 63, 20, 8, 186, 32, 4, 214, 32, 32, 16, 212, 32,
2356         32, 17, 222, 0, 32, 2, 0,
2357       };
2358       p = orc_program_new_from_static_bytecode (bc);
2359       orc_program_set_backup_function (p,
2360           _backup_audio_convert_orc_unpack_double_s32_swap);
2361 #else
2362       p = orc_program_new ();
2363       orc_program_set_name (p, "audio_convert_orc_unpack_double_s32_swap");
2364       orc_program_set_backup_function (p,
2365           _backup_audio_convert_orc_unpack_double_s32_swap);
2366       orc_program_add_destination (p, 4, "d1");
2367       orc_program_add_source (p, 8, "s1");
2368       orc_program_add_constant_int64 (p, 8, 0x41dfffffffc00000ULL, "c1");
2369       orc_program_add_constant_int64 (p, 8, 0x3fe0000000000000ULL, "c2");
2370       orc_program_add_temporary (p, 8, "t1");
2371
2372       orc_program_append_2 (p, "swapq", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
2373           ORC_VAR_D1);
2374       orc_program_append_2 (p, "muld", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
2375           ORC_VAR_D1);
2376       orc_program_append_2 (p, "addd", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C2,
2377           ORC_VAR_D1);
2378       orc_program_append_2 (p, "convdl", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1,
2379           ORC_VAR_D1);
2380 #endif
2381
2382       orc_program_compile (p);
2383       c = orc_program_take_code (p);
2384       orc_program_free (p);
2385     }
2386     p_inited = TRUE;
2387     orc_once_mutex_unlock ();
2388   }
2389   ex->arrays[ORC_VAR_A2] = c;
2390   ex->program = 0;
2391
2392   ex->n = n;
2393   ex->arrays[ORC_VAR_D1] = d1;
2394   ex->arrays[ORC_VAR_S1] = (void *) s1;
2395
2396   func = c->exec;
2397   func (ex);
2398 }
2399 #endif
2400
2401
2402 /* audio_convert_orc_unpack_float_double */
2403 #ifdef DISABLE_ORC
2404 void
2405 audio_convert_orc_unpack_float_double (gdouble * ORC_RESTRICT d1,
2406     const gfloat * ORC_RESTRICT s1, int n)
2407 {
2408   int i;
2409   orc_union64 *ORC_RESTRICT ptr0;
2410   const orc_union32 *ORC_RESTRICT ptr4;
2411   orc_union32 var32;
2412   orc_union64 var33;
2413
2414   ptr0 = (orc_union64 *) d1;
2415   ptr4 = (orc_union32 *) s1;
2416
2417
2418   for (i = 0; i < n; i++) {
2419     /* 0: loadl */
2420     var32 = ptr4[i];
2421     /* 1: convfd */
2422     {
2423       orc_union32 _src1;
2424       _src1.i = ORC_DENORMAL (var32.i);
2425       var33.f = _src1.f;
2426     }
2427     /* 2: storeq */
2428     ptr0[i] = var33;
2429   }
2430
2431 }
2432
2433 #else
2434 static void
2435 _backup_audio_convert_orc_unpack_float_double (OrcExecutor * ORC_RESTRICT ex)
2436 {
2437   int i;
2438   int n = ex->n;
2439   orc_union64 *ORC_RESTRICT ptr0;
2440   const orc_union32 *ORC_RESTRICT ptr4;
2441   orc_union32 var32;
2442   orc_union64 var33;
2443
2444   ptr0 = (orc_union64 *) ex->arrays[0];
2445   ptr4 = (orc_union32 *) ex->arrays[4];
2446
2447
2448   for (i = 0; i < n; i++) {
2449     /* 0: loadl */
2450     var32 = ptr4[i];
2451     /* 1: convfd */
2452     {
2453       orc_union32 _src1;
2454       _src1.i = ORC_DENORMAL (var32.i);
2455       var33.f = _src1.f;
2456     }
2457     /* 2: storeq */
2458     ptr0[i] = var33;
2459   }
2460
2461 }
2462
2463 void
2464 audio_convert_orc_unpack_float_double (gdouble * ORC_RESTRICT d1,
2465     const gfloat * ORC_RESTRICT s1, int n)
2466 {
2467   OrcExecutor _ex, *ex = &_ex;
2468   static volatile int p_inited = 0;
2469   static OrcCode *c = 0;
2470   void (*func) (OrcExecutor *);
2471
2472   if (!p_inited) {
2473     orc_once_mutex_lock ();
2474     if (!p_inited) {
2475       OrcProgram *p;
2476
2477 #if 1
2478       static const orc_uint8 bc[] = {
2479         1, 9, 37, 97, 117, 100, 105, 111, 95, 99, 111, 110, 118, 101, 114, 116,
2480         95, 111, 114, 99, 95, 117, 110, 112, 97, 99, 107, 95, 102, 108, 111, 97,
2481         116, 95, 100, 111, 117, 98, 108, 101, 11, 8, 8, 12, 4, 4, 224, 0,
2482         4, 2, 0,
2483       };
2484       p = orc_program_new_from_static_bytecode (bc);
2485       orc_program_set_backup_function (p,
2486           _backup_audio_convert_orc_unpack_float_double);
2487 #else
2488       p = orc_program_new ();
2489       orc_program_set_name (p, "audio_convert_orc_unpack_float_double");
2490       orc_program_set_backup_function (p,
2491           _backup_audio_convert_orc_unpack_float_double);
2492       orc_program_add_destination (p, 8, "d1");
2493       orc_program_add_source (p, 4, "s1");
2494
2495       orc_program_append_2 (p, "convfd", 0, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_D1,
2496           ORC_VAR_D1);
2497 #endif
2498
2499       orc_program_compile (p);
2500       c = orc_program_take_code (p);
2501       orc_program_free (p);
2502     }
2503     p_inited = TRUE;
2504     orc_once_mutex_unlock ();
2505   }
2506   ex->arrays[ORC_VAR_A2] = c;
2507   ex->program = 0;
2508
2509   ex->n = n;
2510   ex->arrays[ORC_VAR_D1] = d1;
2511   ex->arrays[ORC_VAR_S1] = (void *) s1;
2512
2513   func = c->exec;
2514   func (ex);
2515 }
2516 #endif
2517
2518
2519 /* audio_convert_orc_unpack_float_double_swap */
2520 #ifdef DISABLE_ORC
2521 void
2522 audio_convert_orc_unpack_float_double_swap (gdouble * ORC_RESTRICT d1,
2523     const gfloat * ORC_RESTRICT s1, int n)
2524 {
2525   int i;
2526   orc_union64 *ORC_RESTRICT ptr0;
2527   const orc_union32 *ORC_RESTRICT ptr4;
2528   orc_union32 var33;
2529   orc_union64 var34;
2530   orc_union32 var35;
2531
2532   ptr0 = (orc_union64 *) d1;
2533   ptr4 = (orc_union32 *) s1;
2534
2535
2536   for (i = 0; i < n; i++) {
2537     /* 0: loadl */
2538     var33 = ptr4[i];
2539     /* 1: swapl */
2540     var35.i = ORC_SWAP_L (var33.i);
2541     /* 2: convfd */
2542     {
2543       orc_union32 _src1;
2544       _src1.i = ORC_DENORMAL (var35.i);
2545       var34.f = _src1.f;
2546     }
2547     /* 3: storeq */
2548     ptr0[i] = var34;
2549   }
2550
2551 }
2552
2553 #else
2554 static void
2555 _backup_audio_convert_orc_unpack_float_double_swap (OrcExecutor *
2556     ORC_RESTRICT ex)
2557 {
2558   int i;
2559   int n = ex->n;
2560   orc_union64 *ORC_RESTRICT ptr0;
2561   const orc_union32 *ORC_RESTRICT ptr4;
2562   orc_union32 var33;
2563   orc_union64 var34;
2564   orc_union32 var35;
2565
2566   ptr0 = (orc_union64 *) ex->arrays[0];
2567   ptr4 = (orc_union32 *) ex->arrays[4];
2568
2569
2570   for (i = 0; i < n; i++) {
2571     /* 0: loadl */
2572     var33 = ptr4[i];
2573     /* 1: swapl */
2574     var35.i = ORC_SWAP_L (var33.i);
2575     /* 2: convfd */
2576     {
2577       orc_union32 _src1;
2578       _src1.i = ORC_DENORMAL (var35.i);
2579       var34.f = _src1.f;
2580     }
2581     /* 3: storeq */
2582     ptr0[i] = var34;
2583   }
2584
2585 }
2586
2587 void
2588 audio_convert_orc_unpack_float_double_swap (gdouble * ORC_RESTRICT d1,
2589     const gfloat * ORC_RESTRICT s1, int n)
2590 {
2591   OrcExecutor _ex, *ex = &_ex;
2592   static volatile int p_inited = 0;
2593   static OrcCode *c = 0;
2594   void (*func) (OrcExecutor *);
2595
2596   if (!p_inited) {
2597     orc_once_mutex_lock ();
2598     if (!p_inited) {
2599       OrcProgram *p;
2600
2601 #if 1
2602       static const orc_uint8 bc[] = {
2603         1, 9, 42, 97, 117, 100, 105, 111, 95, 99, 111, 110, 118, 101, 114, 116,
2604         95, 111, 114, 99, 95, 117, 110, 112, 97, 99, 107, 95, 102, 108, 111, 97,
2605         116, 95, 100, 111, 117, 98, 108, 101, 95, 115, 119, 97, 112, 11, 8, 8,
2606         12, 4, 4, 20, 4, 184, 32, 4, 224, 0, 32, 2, 0,
2607       };
2608       p = orc_program_new_from_static_bytecode (bc);
2609       orc_program_set_backup_function (p,
2610           _backup_audio_convert_orc_unpack_float_double_swap);
2611 #else
2612       p = orc_program_new ();
2613       orc_program_set_name (p, "audio_convert_orc_unpack_float_double_swap");
2614       orc_program_set_backup_function (p,
2615           _backup_audio_convert_orc_unpack_float_double_swap);
2616       orc_program_add_destination (p, 8, "d1");
2617       orc_program_add_source (p, 4, "s1");
2618       orc_program_add_temporary (p, 4, "t1");
2619
2620       orc_program_append_2 (p, "swapl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
2621           ORC_VAR_D1);
2622       orc_program_append_2 (p, "convfd", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1,
2623           ORC_VAR_D1);
2624 #endif
2625
2626       orc_program_compile (p);
2627       c = orc_program_take_code (p);
2628       orc_program_free (p);
2629     }
2630     p_inited = TRUE;
2631     orc_once_mutex_unlock ();
2632   }
2633   ex->arrays[ORC_VAR_A2] = c;
2634   ex->program = 0;
2635
2636   ex->n = n;
2637   ex->arrays[ORC_VAR_D1] = d1;
2638   ex->arrays[ORC_VAR_S1] = (void *) s1;
2639
2640   func = c->exec;
2641   func (ex);
2642 }
2643 #endif
2644
2645
2646 /* audio_convert_orc_unpack_double_double */
2647 #ifdef DISABLE_ORC
2648 void
2649 audio_convert_orc_unpack_double_double (gdouble * ORC_RESTRICT d1,
2650     const gdouble * ORC_RESTRICT s1, int n)
2651 {
2652   int i;
2653   orc_union64 *ORC_RESTRICT ptr0;
2654   const orc_union64 *ORC_RESTRICT ptr4;
2655   orc_union64 var32;
2656   orc_union64 var33;
2657
2658   ptr0 = (orc_union64 *) d1;
2659   ptr4 = (orc_union64 *) s1;
2660
2661
2662   for (i = 0; i < n; i++) {
2663     /* 0: loadq */
2664     var32 = ptr4[i];
2665     /* 1: copyq */
2666     var33.i = var32.i;
2667     /* 2: storeq */
2668     ptr0[i] = var33;
2669   }
2670
2671 }
2672
2673 #else
2674 static void
2675 _backup_audio_convert_orc_unpack_double_double (OrcExecutor * ORC_RESTRICT ex)
2676 {
2677   int i;
2678   int n = ex->n;
2679   orc_union64 *ORC_RESTRICT ptr0;
2680   const orc_union64 *ORC_RESTRICT ptr4;
2681   orc_union64 var32;
2682   orc_union64 var33;
2683
2684   ptr0 = (orc_union64 *) ex->arrays[0];
2685   ptr4 = (orc_union64 *) ex->arrays[4];
2686
2687
2688   for (i = 0; i < n; i++) {
2689     /* 0: loadq */
2690     var32 = ptr4[i];
2691     /* 1: copyq */
2692     var33.i = var32.i;
2693     /* 2: storeq */
2694     ptr0[i] = var33;
2695   }
2696
2697 }
2698
2699 void
2700 audio_convert_orc_unpack_double_double (gdouble * ORC_RESTRICT d1,
2701     const gdouble * ORC_RESTRICT s1, int n)
2702 {
2703   OrcExecutor _ex, *ex = &_ex;
2704   static volatile int p_inited = 0;
2705   static OrcCode *c = 0;
2706   void (*func) (OrcExecutor *);
2707
2708   if (!p_inited) {
2709     orc_once_mutex_lock ();
2710     if (!p_inited) {
2711       OrcProgram *p;
2712
2713 #if 1
2714       static const orc_uint8 bc[] = {
2715         1, 9, 38, 97, 117, 100, 105, 111, 95, 99, 111, 110, 118, 101, 114, 116,
2716         95, 111, 114, 99, 95, 117, 110, 112, 97, 99, 107, 95, 100, 111, 117, 98,
2717         108, 101, 95, 100, 111, 117, 98, 108, 101, 11, 8, 8, 12, 8, 8, 137,
2718         0, 4, 2, 0,
2719       };
2720       p = orc_program_new_from_static_bytecode (bc);
2721       orc_program_set_backup_function (p,
2722           _backup_audio_convert_orc_unpack_double_double);
2723 #else
2724       p = orc_program_new ();
2725       orc_program_set_name (p, "audio_convert_orc_unpack_double_double");
2726       orc_program_set_backup_function (p,
2727           _backup_audio_convert_orc_unpack_double_double);
2728       orc_program_add_destination (p, 8, "d1");
2729       orc_program_add_source (p, 8, "s1");
2730
2731       orc_program_append_2 (p, "copyq", 0, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_D1,
2732           ORC_VAR_D1);
2733 #endif
2734
2735       orc_program_compile (p);
2736       c = orc_program_take_code (p);
2737       orc_program_free (p);
2738     }
2739     p_inited = TRUE;
2740     orc_once_mutex_unlock ();
2741   }
2742   ex->arrays[ORC_VAR_A2] = c;
2743   ex->program = 0;
2744
2745   ex->n = n;
2746   ex->arrays[ORC_VAR_D1] = d1;
2747   ex->arrays[ORC_VAR_S1] = (void *) s1;
2748
2749   func = c->exec;
2750   func (ex);
2751 }
2752 #endif
2753
2754
2755 /* audio_convert_orc_unpack_double_double_swap */
2756 #ifdef DISABLE_ORC
2757 void
2758 audio_convert_orc_unpack_double_double_swap (gdouble * ORC_RESTRICT d1,
2759     const gdouble * ORC_RESTRICT s1, int n)
2760 {
2761   int i;
2762   orc_union64 *ORC_RESTRICT ptr0;
2763   const orc_union64 *ORC_RESTRICT ptr4;
2764   orc_union64 var32;
2765   orc_union64 var33;
2766
2767   ptr0 = (orc_union64 *) d1;
2768   ptr4 = (orc_union64 *) s1;
2769
2770
2771   for (i = 0; i < n; i++) {
2772     /* 0: loadq */
2773     var32 = ptr4[i];
2774     /* 1: swapq */
2775     var33.i = ORC_SWAP_Q (var32.i);
2776     /* 2: storeq */
2777     ptr0[i] = var33;
2778   }
2779
2780 }
2781
2782 #else
2783 static void
2784 _backup_audio_convert_orc_unpack_double_double_swap (OrcExecutor *
2785     ORC_RESTRICT ex)
2786 {
2787   int i;
2788   int n = ex->n;
2789   orc_union64 *ORC_RESTRICT ptr0;
2790   const orc_union64 *ORC_RESTRICT ptr4;
2791   orc_union64 var32;
2792   orc_union64 var33;
2793
2794   ptr0 = (orc_union64 *) ex->arrays[0];
2795   ptr4 = (orc_union64 *) ex->arrays[4];
2796
2797
2798   for (i = 0; i < n; i++) {
2799     /* 0: loadq */
2800     var32 = ptr4[i];
2801     /* 1: swapq */
2802     var33.i = ORC_SWAP_Q (var32.i);
2803     /* 2: storeq */
2804     ptr0[i] = var33;
2805   }
2806
2807 }
2808
2809 void
2810 audio_convert_orc_unpack_double_double_swap (gdouble * ORC_RESTRICT d1,
2811     const gdouble * ORC_RESTRICT s1, int n)
2812 {
2813   OrcExecutor _ex, *ex = &_ex;
2814   static volatile int p_inited = 0;
2815   static OrcCode *c = 0;
2816   void (*func) (OrcExecutor *);
2817
2818   if (!p_inited) {
2819     orc_once_mutex_lock ();
2820     if (!p_inited) {
2821       OrcProgram *p;
2822
2823 #if 1
2824       static const orc_uint8 bc[] = {
2825         1, 9, 43, 97, 117, 100, 105, 111, 95, 99, 111, 110, 118, 101, 114, 116,
2826         95, 111, 114, 99, 95, 117, 110, 112, 97, 99, 107, 95, 100, 111, 117, 98,
2827         108, 101, 95, 100, 111, 117, 98, 108, 101, 95, 115, 119, 97, 112, 11, 8,
2828         8, 12, 8, 8, 186, 0, 4, 2, 0,
2829       };
2830       p = orc_program_new_from_static_bytecode (bc);
2831       orc_program_set_backup_function (p,
2832           _backup_audio_convert_orc_unpack_double_double_swap);
2833 #else
2834       p = orc_program_new ();
2835       orc_program_set_name (p, "audio_convert_orc_unpack_double_double_swap");
2836       orc_program_set_backup_function (p,
2837           _backup_audio_convert_orc_unpack_double_double_swap);
2838       orc_program_add_destination (p, 8, "d1");
2839       orc_program_add_source (p, 8, "s1");
2840
2841       orc_program_append_2 (p, "swapq", 0, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_D1,
2842           ORC_VAR_D1);
2843 #endif
2844
2845       orc_program_compile (p);
2846       c = orc_program_take_code (p);
2847       orc_program_free (p);
2848     }
2849     p_inited = TRUE;
2850     orc_once_mutex_unlock ();
2851   }
2852   ex->arrays[ORC_VAR_A2] = c;
2853   ex->program = 0;
2854
2855   ex->n = n;
2856   ex->arrays[ORC_VAR_D1] = d1;
2857   ex->arrays[ORC_VAR_S1] = (void *) s1;
2858
2859   func = c->exec;
2860   func (ex);
2861 }
2862 #endif
2863
2864
2865 /* audio_convert_orc_unpack_u8_double */
2866 #ifdef DISABLE_ORC
2867 void
2868 audio_convert_orc_unpack_u8_double (gdouble * ORC_RESTRICT d1,
2869     const guint8 * ORC_RESTRICT s1, int p1, int n)
2870 {
2871   int i;
2872   orc_union64 *ORC_RESTRICT ptr0;
2873   const orc_int8 *ORC_RESTRICT ptr4;
2874   orc_int8 var34;
2875 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
2876   volatile orc_union32 var35;
2877 #else
2878   orc_union32 var35;
2879 #endif
2880   orc_union64 var36;
2881   orc_union16 var37;
2882   orc_union32 var38;
2883   orc_union32 var39;
2884   orc_union32 var40;
2885
2886   ptr0 = (orc_union64 *) d1;
2887   ptr4 = (orc_int8 *) s1;
2888
2889   /* 4: loadpl */
2890   var35.i = (int) 0x80000000;   /* -2147483648 or 1.061e-314f */
2891
2892   for (i = 0; i < n; i++) {
2893     /* 0: loadb */
2894     var34 = ptr4[i];
2895     /* 1: convubw */
2896     var37.i = (orc_uint8) var34;
2897     /* 2: convuwl */
2898     var38.i = (orc_uint16) var37.i;
2899     /* 3: shll */
2900     var39.i = var38.i << p1;
2901     /* 5: xorl */
2902     var40.i = var39.i ^ var35.i;
2903     /* 6: convld */
2904     var36.f = var40.i;
2905     /* 7: storeq */
2906     ptr0[i] = var36;
2907   }
2908
2909 }
2910
2911 #else
2912 static void
2913 _backup_audio_convert_orc_unpack_u8_double (OrcExecutor * ORC_RESTRICT ex)
2914 {
2915   int i;
2916   int n = ex->n;
2917   orc_union64 *ORC_RESTRICT ptr0;
2918   const orc_int8 *ORC_RESTRICT ptr4;
2919   orc_int8 var34;
2920 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
2921   volatile orc_union32 var35;
2922 #else
2923   orc_union32 var35;
2924 #endif
2925   orc_union64 var36;
2926   orc_union16 var37;
2927   orc_union32 var38;
2928   orc_union32 var39;
2929   orc_union32 var40;
2930
2931   ptr0 = (orc_union64 *) ex->arrays[0];
2932   ptr4 = (orc_int8 *) ex->arrays[4];
2933
2934   /* 4: loadpl */
2935   var35.i = (int) 0x80000000;   /* -2147483648 or 1.061e-314f */
2936
2937   for (i = 0; i < n; i++) {
2938     /* 0: loadb */
2939     var34 = ptr4[i];
2940     /* 1: convubw */
2941     var37.i = (orc_uint8) var34;
2942     /* 2: convuwl */
2943     var38.i = (orc_uint16) var37.i;
2944     /* 3: shll */
2945     var39.i = var38.i << ex->params[24];
2946     /* 5: xorl */
2947     var40.i = var39.i ^ var35.i;
2948     /* 6: convld */
2949     var36.f = var40.i;
2950     /* 7: storeq */
2951     ptr0[i] = var36;
2952   }
2953
2954 }
2955
2956 void
2957 audio_convert_orc_unpack_u8_double (gdouble * ORC_RESTRICT d1,
2958     const guint8 * ORC_RESTRICT s1, int p1, int n)
2959 {
2960   OrcExecutor _ex, *ex = &_ex;
2961   static volatile int p_inited = 0;
2962   static OrcCode *c = 0;
2963   void (*func) (OrcExecutor *);
2964
2965   if (!p_inited) {
2966     orc_once_mutex_lock ();
2967     if (!p_inited) {
2968       OrcProgram *p;
2969
2970 #if 1
2971       static const orc_uint8 bc[] = {
2972         1, 9, 34, 97, 117, 100, 105, 111, 95, 99, 111, 110, 118, 101, 114, 116,
2973         95, 111, 114, 99, 95, 117, 110, 112, 97, 99, 107, 95, 117, 56, 95, 100,
2974         111, 117, 98, 108, 101, 11, 8, 8, 12, 1, 1, 14, 4, 0, 0, 0,
2975         128, 16, 4, 20, 2, 20, 4, 150, 32, 4, 154, 33, 32, 124, 33, 33,
2976         24, 132, 33, 33, 16, 223, 0, 33, 2, 0,
2977       };
2978       p = orc_program_new_from_static_bytecode (bc);
2979       orc_program_set_backup_function (p,
2980           _backup_audio_convert_orc_unpack_u8_double);
2981 #else
2982       p = orc_program_new ();
2983       orc_program_set_name (p, "audio_convert_orc_unpack_u8_double");
2984       orc_program_set_backup_function (p,
2985           _backup_audio_convert_orc_unpack_u8_double);
2986       orc_program_add_destination (p, 8, "d1");
2987       orc_program_add_source (p, 1, "s1");
2988       orc_program_add_constant (p, 4, 0x80000000, "c1");
2989       orc_program_add_parameter (p, 4, "p1");
2990       orc_program_add_temporary (p, 2, "t1");
2991       orc_program_add_temporary (p, 4, "t2");
2992
2993       orc_program_append_2 (p, "convubw", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
2994           ORC_VAR_D1);
2995       orc_program_append_2 (p, "convuwl", 0, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_D1,
2996           ORC_VAR_D1);
2997       orc_program_append_2 (p, "shll", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_P1,
2998           ORC_VAR_D1);
2999       orc_program_append_2 (p, "xorl", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_C1,
3000           ORC_VAR_D1);
3001       orc_program_append_2 (p, "convld", 0, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_D1,
3002           ORC_VAR_D1);
3003 #endif
3004
3005       orc_program_compile (p);
3006       c = orc_program_take_code (p);
3007       orc_program_free (p);
3008     }
3009     p_inited = TRUE;
3010     orc_once_mutex_unlock ();
3011   }
3012   ex->arrays[ORC_VAR_A2] = c;
3013   ex->program = 0;
3014
3015   ex->n = n;
3016   ex->arrays[ORC_VAR_D1] = d1;
3017   ex->arrays[ORC_VAR_S1] = (void *) s1;
3018   ex->params[ORC_VAR_P1] = p1;
3019
3020   func = c->exec;
3021   func (ex);
3022 }
3023 #endif
3024
3025
3026 /* audio_convert_orc_unpack_s8_double */
3027 #ifdef DISABLE_ORC
3028 void
3029 audio_convert_orc_unpack_s8_double (gdouble * ORC_RESTRICT d1,
3030     const guint8 * ORC_RESTRICT s1, int p1, int n)
3031 {
3032   int i;
3033   orc_union64 *ORC_RESTRICT ptr0;
3034   const orc_int8 *ORC_RESTRICT ptr4;
3035   orc_int8 var34;
3036   orc_union64 var35;
3037   orc_union16 var36;
3038   orc_union32 var37;
3039   orc_union32 var38;
3040
3041   ptr0 = (orc_union64 *) d1;
3042   ptr4 = (orc_int8 *) s1;
3043
3044
3045   for (i = 0; i < n; i++) {
3046     /* 0: loadb */
3047     var34 = ptr4[i];
3048     /* 1: convubw */
3049     var36.i = (orc_uint8) var34;
3050     /* 2: convuwl */
3051     var37.i = (orc_uint16) var36.i;
3052     /* 3: shll */
3053     var38.i = var37.i << p1;
3054     /* 4: convld */
3055     var35.f = var38.i;
3056     /* 5: storeq */
3057     ptr0[i] = var35;
3058   }
3059
3060 }
3061
3062 #else
3063 static void
3064 _backup_audio_convert_orc_unpack_s8_double (OrcExecutor * ORC_RESTRICT ex)
3065 {
3066   int i;
3067   int n = ex->n;
3068   orc_union64 *ORC_RESTRICT ptr0;
3069   const orc_int8 *ORC_RESTRICT ptr4;
3070   orc_int8 var34;
3071   orc_union64 var35;
3072   orc_union16 var36;
3073   orc_union32 var37;
3074   orc_union32 var38;
3075
3076   ptr0 = (orc_union64 *) ex->arrays[0];
3077   ptr4 = (orc_int8 *) ex->arrays[4];
3078
3079
3080   for (i = 0; i < n; i++) {
3081     /* 0: loadb */
3082     var34 = ptr4[i];
3083     /* 1: convubw */
3084     var36.i = (orc_uint8) var34;
3085     /* 2: convuwl */
3086     var37.i = (orc_uint16) var36.i;
3087     /* 3: shll */
3088     var38.i = var37.i << ex->params[24];
3089     /* 4: convld */
3090     var35.f = var38.i;
3091     /* 5: storeq */
3092     ptr0[i] = var35;
3093   }
3094
3095 }
3096
3097 void
3098 audio_convert_orc_unpack_s8_double (gdouble * ORC_RESTRICT d1,
3099     const guint8 * ORC_RESTRICT s1, int p1, int n)
3100 {
3101   OrcExecutor _ex, *ex = &_ex;
3102   static volatile int p_inited = 0;
3103   static OrcCode *c = 0;
3104   void (*func) (OrcExecutor *);
3105
3106   if (!p_inited) {
3107     orc_once_mutex_lock ();
3108     if (!p_inited) {
3109       OrcProgram *p;
3110
3111 #if 1
3112       static const orc_uint8 bc[] = {
3113         1, 9, 34, 97, 117, 100, 105, 111, 95, 99, 111, 110, 118, 101, 114, 116,
3114         95, 111, 114, 99, 95, 117, 110, 112, 97, 99, 107, 95, 115, 56, 95, 100,
3115         111, 117, 98, 108, 101, 11, 8, 8, 12, 1, 1, 16, 4, 20, 2, 20,
3116         4, 150, 32, 4, 154, 33, 32, 124, 33, 33, 24, 223, 0, 33, 2, 0,
3117
3118       };
3119       p = orc_program_new_from_static_bytecode (bc);
3120       orc_program_set_backup_function (p,
3121           _backup_audio_convert_orc_unpack_s8_double);
3122 #else
3123       p = orc_program_new ();
3124       orc_program_set_name (p, "audio_convert_orc_unpack_s8_double");
3125       orc_program_set_backup_function (p,
3126           _backup_audio_convert_orc_unpack_s8_double);
3127       orc_program_add_destination (p, 8, "d1");
3128       orc_program_add_source (p, 1, "s1");
3129       orc_program_add_parameter (p, 4, "p1");
3130       orc_program_add_temporary (p, 2, "t1");
3131       orc_program_add_temporary (p, 4, "t2");
3132
3133       orc_program_append_2 (p, "convubw", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
3134           ORC_VAR_D1);
3135       orc_program_append_2 (p, "convuwl", 0, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_D1,
3136           ORC_VAR_D1);
3137       orc_program_append_2 (p, "shll", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_P1,
3138           ORC_VAR_D1);
3139       orc_program_append_2 (p, "convld", 0, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_D1,
3140           ORC_VAR_D1);
3141 #endif
3142
3143       orc_program_compile (p);
3144       c = orc_program_take_code (p);
3145       orc_program_free (p);
3146     }
3147     p_inited = TRUE;
3148     orc_once_mutex_unlock ();
3149   }
3150   ex->arrays[ORC_VAR_A2] = c;
3151   ex->program = 0;
3152
3153   ex->n = n;
3154   ex->arrays[ORC_VAR_D1] = d1;
3155   ex->arrays[ORC_VAR_S1] = (void *) s1;
3156   ex->params[ORC_VAR_P1] = p1;
3157
3158   func = c->exec;
3159   func (ex);
3160 }
3161 #endif
3162
3163
3164 /* audio_convert_orc_unpack_u16_double */
3165 #ifdef DISABLE_ORC
3166 void
3167 audio_convert_orc_unpack_u16_double (gdouble * ORC_RESTRICT d1,
3168     const guint8 * ORC_RESTRICT s1, int p1, int n)
3169 {
3170   int i;
3171   orc_union64 *ORC_RESTRICT ptr0;
3172   const orc_union16 *ORC_RESTRICT ptr4;
3173   orc_union16 var33;
3174 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
3175   volatile orc_union32 var34;
3176 #else
3177   orc_union32 var34;
3178 #endif
3179   orc_union64 var35;
3180   orc_union32 var36;
3181   orc_union32 var37;
3182   orc_union32 var38;
3183
3184   ptr0 = (orc_union64 *) d1;
3185   ptr4 = (orc_union16 *) s1;
3186
3187   /* 3: loadpl */
3188   var34.i = (int) 0x80000000;   /* -2147483648 or 1.061e-314f */
3189
3190   for (i = 0; i < n; i++) {
3191     /* 0: loadw */
3192     var33 = ptr4[i];
3193     /* 1: convuwl */
3194     var36.i = (orc_uint16) var33.i;
3195     /* 2: shll */
3196     var37.i = var36.i << p1;
3197     /* 4: xorl */
3198     var38.i = var37.i ^ var34.i;
3199     /* 5: convld */
3200     var35.f = var38.i;
3201     /* 6: storeq */
3202     ptr0[i] = var35;
3203   }
3204
3205 }
3206
3207 #else
3208 static void
3209 _backup_audio_convert_orc_unpack_u16_double (OrcExecutor * ORC_RESTRICT ex)
3210 {
3211   int i;
3212   int n = ex->n;
3213   orc_union64 *ORC_RESTRICT ptr0;
3214   const orc_union16 *ORC_RESTRICT ptr4;
3215   orc_union16 var33;
3216 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
3217   volatile orc_union32 var34;
3218 #else
3219   orc_union32 var34;
3220 #endif
3221   orc_union64 var35;
3222   orc_union32 var36;
3223   orc_union32 var37;
3224   orc_union32 var38;
3225
3226   ptr0 = (orc_union64 *) ex->arrays[0];
3227   ptr4 = (orc_union16 *) ex->arrays[4];
3228
3229   /* 3: loadpl */
3230   var34.i = (int) 0x80000000;   /* -2147483648 or 1.061e-314f */
3231
3232   for (i = 0; i < n; i++) {
3233     /* 0: loadw */
3234     var33 = ptr4[i];
3235     /* 1: convuwl */
3236     var36.i = (orc_uint16) var33.i;
3237     /* 2: shll */
3238     var37.i = var36.i << ex->params[24];
3239     /* 4: xorl */
3240     var38.i = var37.i ^ var34.i;
3241     /* 5: convld */
3242     var35.f = var38.i;
3243     /* 6: storeq */
3244     ptr0[i] = var35;
3245   }
3246
3247 }
3248
3249 void
3250 audio_convert_orc_unpack_u16_double (gdouble * ORC_RESTRICT d1,
3251     const guint8 * ORC_RESTRICT s1, int p1, int n)
3252 {
3253   OrcExecutor _ex, *ex = &_ex;
3254   static volatile int p_inited = 0;
3255   static OrcCode *c = 0;
3256   void (*func) (OrcExecutor *);
3257
3258   if (!p_inited) {
3259     orc_once_mutex_lock ();
3260     if (!p_inited) {
3261       OrcProgram *p;
3262
3263 #if 1
3264       static const orc_uint8 bc[] = {
3265         1, 9, 35, 97, 117, 100, 105, 111, 95, 99, 111, 110, 118, 101, 114, 116,
3266         95, 111, 114, 99, 95, 117, 110, 112, 97, 99, 107, 95, 117, 49, 54, 95,
3267         100, 111, 117, 98, 108, 101, 11, 8, 8, 12, 2, 2, 14, 4, 0, 0,
3268         0, 128, 16, 4, 20, 4, 154, 32, 4, 124, 32, 32, 24, 132, 32, 32,
3269         16, 223, 0, 32, 2, 0,
3270       };
3271       p = orc_program_new_from_static_bytecode (bc);
3272       orc_program_set_backup_function (p,
3273           _backup_audio_convert_orc_unpack_u16_double);
3274 #else
3275       p = orc_program_new ();
3276       orc_program_set_name (p, "audio_convert_orc_unpack_u16_double");
3277       orc_program_set_backup_function (p,
3278           _backup_audio_convert_orc_unpack_u16_double);
3279       orc_program_add_destination (p, 8, "d1");
3280       orc_program_add_source (p, 2, "s1");
3281       orc_program_add_constant (p, 4, 0x80000000, "c1");
3282       orc_program_add_parameter (p, 4, "p1");
3283       orc_program_add_temporary (p, 4, "t1");
3284
3285       orc_program_append_2 (p, "convuwl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
3286           ORC_VAR_D1);
3287       orc_program_append_2 (p, "shll", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_P1,
3288           ORC_VAR_D1);
3289       orc_program_append_2 (p, "xorl", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
3290           ORC_VAR_D1);
3291       orc_program_append_2 (p, "convld", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1,
3292           ORC_VAR_D1);
3293 #endif
3294
3295       orc_program_compile (p);
3296       c = orc_program_take_code (p);
3297       orc_program_free (p);
3298     }
3299     p_inited = TRUE;
3300     orc_once_mutex_unlock ();
3301   }
3302   ex->arrays[ORC_VAR_A2] = c;
3303   ex->program = 0;
3304
3305   ex->n = n;
3306   ex->arrays[ORC_VAR_D1] = d1;
3307   ex->arrays[ORC_VAR_S1] = (void *) s1;
3308   ex->params[ORC_VAR_P1] = p1;
3309
3310   func = c->exec;
3311   func (ex);
3312 }
3313 #endif
3314
3315
3316 /* audio_convert_orc_unpack_s16_double */
3317 #ifdef DISABLE_ORC
3318 void
3319 audio_convert_orc_unpack_s16_double (gdouble * ORC_RESTRICT d1,
3320     const guint8 * ORC_RESTRICT s1, int p1, int n)
3321 {
3322   int i;
3323   orc_union64 *ORC_RESTRICT ptr0;
3324   const orc_union16 *ORC_RESTRICT ptr4;
3325   orc_union16 var33;
3326   orc_union64 var34;
3327   orc_union32 var35;
3328   orc_union32 var36;
3329
3330   ptr0 = (orc_union64 *) d1;
3331   ptr4 = (orc_union16 *) s1;
3332
3333
3334   for (i = 0; i < n; i++) {
3335     /* 0: loadw */
3336     var33 = ptr4[i];
3337     /* 1: convuwl */
3338     var35.i = (orc_uint16) var33.i;
3339     /* 2: shll */
3340     var36.i = var35.i << p1;
3341     /* 3: convld */
3342     var34.f = var36.i;
3343     /* 4: storeq */
3344     ptr0[i] = var34;
3345   }
3346
3347 }
3348
3349 #else
3350 static void
3351 _backup_audio_convert_orc_unpack_s16_double (OrcExecutor * ORC_RESTRICT ex)
3352 {
3353   int i;
3354   int n = ex->n;
3355   orc_union64 *ORC_RESTRICT ptr0;
3356   const orc_union16 *ORC_RESTRICT ptr4;
3357   orc_union16 var33;
3358   orc_union64 var34;
3359   orc_union32 var35;
3360   orc_union32 var36;
3361
3362   ptr0 = (orc_union64 *) ex->arrays[0];
3363   ptr4 = (orc_union16 *) ex->arrays[4];
3364
3365
3366   for (i = 0; i < n; i++) {
3367     /* 0: loadw */
3368     var33 = ptr4[i];
3369     /* 1: convuwl */
3370     var35.i = (orc_uint16) var33.i;
3371     /* 2: shll */
3372     var36.i = var35.i << ex->params[24];
3373     /* 3: convld */
3374     var34.f = var36.i;
3375     /* 4: storeq */
3376     ptr0[i] = var34;
3377   }
3378
3379 }
3380
3381 void
3382 audio_convert_orc_unpack_s16_double (gdouble * ORC_RESTRICT d1,
3383     const guint8 * ORC_RESTRICT s1, int p1, int n)
3384 {
3385   OrcExecutor _ex, *ex = &_ex;
3386   static volatile int p_inited = 0;
3387   static OrcCode *c = 0;
3388   void (*func) (OrcExecutor *);
3389
3390   if (!p_inited) {
3391     orc_once_mutex_lock ();
3392     if (!p_inited) {
3393       OrcProgram *p;
3394
3395 #if 1
3396       static const orc_uint8 bc[] = {
3397         1, 9, 35, 97, 117, 100, 105, 111, 95, 99, 111, 110, 118, 101, 114, 116,
3398         95, 111, 114, 99, 95, 117, 110, 112, 97, 99, 107, 95, 115, 49, 54, 95,
3399         100, 111, 117, 98, 108, 101, 11, 8, 8, 12, 2, 2, 16, 4, 20, 4,
3400         154, 32, 4, 124, 32, 32, 24, 223, 0, 32, 2, 0,
3401       };
3402       p = orc_program_new_from_static_bytecode (bc);
3403       orc_program_set_backup_function (p,
3404           _backup_audio_convert_orc_unpack_s16_double);
3405 #else
3406       p = orc_program_new ();
3407       orc_program_set_name (p, "audio_convert_orc_unpack_s16_double");
3408       orc_program_set_backup_function (p,
3409           _backup_audio_convert_orc_unpack_s16_double);
3410       orc_program_add_destination (p, 8, "d1");
3411       orc_program_add_source (p, 2, "s1");
3412       orc_program_add_parameter (p, 4, "p1");
3413       orc_program_add_temporary (p, 4, "t1");
3414
3415       orc_program_append_2 (p, "convuwl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
3416           ORC_VAR_D1);
3417       orc_program_append_2 (p, "shll", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_P1,
3418           ORC_VAR_D1);
3419       orc_program_append_2 (p, "convld", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1,
3420           ORC_VAR_D1);
3421 #endif
3422
3423       orc_program_compile (p);
3424       c = orc_program_take_code (p);
3425       orc_program_free (p);
3426     }
3427     p_inited = TRUE;
3428     orc_once_mutex_unlock ();
3429   }
3430   ex->arrays[ORC_VAR_A2] = c;
3431   ex->program = 0;
3432
3433   ex->n = n;
3434   ex->arrays[ORC_VAR_D1] = d1;
3435   ex->arrays[ORC_VAR_S1] = (void *) s1;
3436   ex->params[ORC_VAR_P1] = p1;
3437
3438   func = c->exec;
3439   func (ex);
3440 }
3441 #endif
3442
3443
3444 /* audio_convert_orc_unpack_u16_double_swap */
3445 #ifdef DISABLE_ORC
3446 void
3447 audio_convert_orc_unpack_u16_double_swap (gdouble * ORC_RESTRICT d1,
3448     const guint8 * ORC_RESTRICT s1, int p1, int n)
3449 {
3450   int i;
3451   orc_union64 *ORC_RESTRICT ptr0;
3452   const orc_union16 *ORC_RESTRICT ptr4;
3453   orc_union16 var34;
3454 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
3455   volatile orc_union32 var35;
3456 #else
3457   orc_union32 var35;
3458 #endif
3459   orc_union64 var36;
3460   orc_union16 var37;
3461   orc_union32 var38;
3462   orc_union32 var39;
3463   orc_union32 var40;
3464
3465   ptr0 = (orc_union64 *) d1;
3466   ptr4 = (orc_union16 *) s1;
3467
3468   /* 4: loadpl */
3469   var35.i = (int) 0x80000000;   /* -2147483648 or 1.061e-314f */
3470
3471   for (i = 0; i < n; i++) {
3472     /* 0: loadw */
3473     var34 = ptr4[i];
3474     /* 1: swapw */
3475     var37.i = ORC_SWAP_W (var34.i);
3476     /* 2: convuwl */
3477     var38.i = (orc_uint16) var37.i;
3478     /* 3: shll */
3479     var39.i = var38.i << p1;
3480     /* 5: xorl */
3481     var40.i = var39.i ^ var35.i;
3482     /* 6: convld */
3483     var36.f = var40.i;
3484     /* 7: storeq */
3485     ptr0[i] = var36;
3486   }
3487
3488 }
3489
3490 #else
3491 static void
3492 _backup_audio_convert_orc_unpack_u16_double_swap (OrcExecutor * ORC_RESTRICT ex)
3493 {
3494   int i;
3495   int n = ex->n;
3496   orc_union64 *ORC_RESTRICT ptr0;
3497   const orc_union16 *ORC_RESTRICT ptr4;
3498   orc_union16 var34;
3499 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
3500   volatile orc_union32 var35;
3501 #else
3502   orc_union32 var35;
3503 #endif
3504   orc_union64 var36;
3505   orc_union16 var37;
3506   orc_union32 var38;
3507   orc_union32 var39;
3508   orc_union32 var40;
3509
3510   ptr0 = (orc_union64 *) ex->arrays[0];
3511   ptr4 = (orc_union16 *) ex->arrays[4];
3512
3513   /* 4: loadpl */
3514   var35.i = (int) 0x80000000;   /* -2147483648 or 1.061e-314f */
3515
3516   for (i = 0; i < n; i++) {
3517     /* 0: loadw */
3518     var34 = ptr4[i];
3519     /* 1: swapw */
3520     var37.i = ORC_SWAP_W (var34.i);
3521     /* 2: convuwl */
3522     var38.i = (orc_uint16) var37.i;
3523     /* 3: shll */
3524     var39.i = var38.i << ex->params[24];
3525     /* 5: xorl */
3526     var40.i = var39.i ^ var35.i;
3527     /* 6: convld */
3528     var36.f = var40.i;
3529     /* 7: storeq */
3530     ptr0[i] = var36;
3531   }
3532
3533 }
3534
3535 void
3536 audio_convert_orc_unpack_u16_double_swap (gdouble * ORC_RESTRICT d1,
3537     const guint8 * ORC_RESTRICT s1, int p1, int n)
3538 {
3539   OrcExecutor _ex, *ex = &_ex;
3540   static volatile int p_inited = 0;
3541   static OrcCode *c = 0;
3542   void (*func) (OrcExecutor *);
3543
3544   if (!p_inited) {
3545     orc_once_mutex_lock ();
3546     if (!p_inited) {
3547       OrcProgram *p;
3548
3549 #if 1
3550       static const orc_uint8 bc[] = {
3551         1, 9, 40, 97, 117, 100, 105, 111, 95, 99, 111, 110, 118, 101, 114, 116,
3552         95, 111, 114, 99, 95, 117, 110, 112, 97, 99, 107, 95, 117, 49, 54, 95,
3553         100, 111, 117, 98, 108, 101, 95, 115, 119, 97, 112, 11, 8, 8, 12, 2,
3554         2, 14, 4, 0, 0, 0, 128, 16, 4, 20, 2, 20, 4, 183, 32, 4,
3555         154, 33, 32, 124, 33, 33, 24, 132, 33, 33, 16, 223, 0, 33, 2, 0,
3556
3557       };
3558       p = orc_program_new_from_static_bytecode (bc);
3559       orc_program_set_backup_function (p,
3560           _backup_audio_convert_orc_unpack_u16_double_swap);
3561 #else
3562       p = orc_program_new ();
3563       orc_program_set_name (p, "audio_convert_orc_unpack_u16_double_swap");
3564       orc_program_set_backup_function (p,
3565           _backup_audio_convert_orc_unpack_u16_double_swap);
3566       orc_program_add_destination (p, 8, "d1");
3567       orc_program_add_source (p, 2, "s1");
3568       orc_program_add_constant (p, 4, 0x80000000, "c1");
3569       orc_program_add_parameter (p, 4, "p1");
3570       orc_program_add_temporary (p, 2, "t1");
3571       orc_program_add_temporary (p, 4, "t2");
3572
3573       orc_program_append_2 (p, "swapw", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
3574           ORC_VAR_D1);
3575       orc_program_append_2 (p, "convuwl", 0, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_D1,
3576           ORC_VAR_D1);
3577       orc_program_append_2 (p, "shll", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_P1,
3578           ORC_VAR_D1);
3579       orc_program_append_2 (p, "xorl", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_C1,
3580           ORC_VAR_D1);
3581       orc_program_append_2 (p, "convld", 0, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_D1,
3582           ORC_VAR_D1);
3583 #endif
3584
3585       orc_program_compile (p);
3586       c = orc_program_take_code (p);
3587       orc_program_free (p);
3588     }
3589     p_inited = TRUE;
3590     orc_once_mutex_unlock ();
3591   }
3592   ex->arrays[ORC_VAR_A2] = c;
3593   ex->program = 0;
3594
3595   ex->n = n;
3596   ex->arrays[ORC_VAR_D1] = d1;
3597   ex->arrays[ORC_VAR_S1] = (void *) s1;
3598   ex->params[ORC_VAR_P1] = p1;
3599
3600   func = c->exec;
3601   func (ex);
3602 }
3603 #endif
3604
3605
3606 /* audio_convert_orc_unpack_s16_double_swap */
3607 #ifdef DISABLE_ORC
3608 void
3609 audio_convert_orc_unpack_s16_double_swap (gdouble * ORC_RESTRICT d1,
3610     const guint8 * ORC_RESTRICT s1, int p1, int n)
3611 {
3612   int i;
3613   orc_union64 *ORC_RESTRICT ptr0;
3614   const orc_union16 *ORC_RESTRICT ptr4;
3615   orc_union16 var34;
3616   orc_union64 var35;
3617   orc_union16 var36;
3618   orc_union32 var37;
3619   orc_union32 var38;
3620
3621   ptr0 = (orc_union64 *) d1;
3622   ptr4 = (orc_union16 *) s1;
3623
3624
3625   for (i = 0; i < n; i++) {
3626     /* 0: loadw */
3627     var34 = ptr4[i];
3628     /* 1: swapw */
3629     var36.i = ORC_SWAP_W (var34.i);
3630     /* 2: convuwl */
3631     var37.i = (orc_uint16) var36.i;
3632     /* 3: shll */
3633     var38.i = var37.i << p1;
3634     /* 4: convld */
3635     var35.f = var38.i;
3636     /* 5: storeq */
3637     ptr0[i] = var35;
3638   }
3639
3640 }
3641
3642 #else
3643 static void
3644 _backup_audio_convert_orc_unpack_s16_double_swap (OrcExecutor * ORC_RESTRICT ex)
3645 {
3646   int i;
3647   int n = ex->n;
3648   orc_union64 *ORC_RESTRICT ptr0;
3649   const orc_union16 *ORC_RESTRICT ptr4;
3650   orc_union16 var34;
3651   orc_union64 var35;
3652   orc_union16 var36;
3653   orc_union32 var37;
3654   orc_union32 var38;
3655
3656   ptr0 = (orc_union64 *) ex->arrays[0];
3657   ptr4 = (orc_union16 *) ex->arrays[4];
3658
3659
3660   for (i = 0; i < n; i++) {
3661     /* 0: loadw */
3662     var34 = ptr4[i];
3663     /* 1: swapw */
3664     var36.i = ORC_SWAP_W (var34.i);
3665     /* 2: convuwl */
3666     var37.i = (orc_uint16) var36.i;
3667     /* 3: shll */
3668     var38.i = var37.i << ex->params[24];
3669     /* 4: convld */
3670     var35.f = var38.i;
3671     /* 5: storeq */
3672     ptr0[i] = var35;
3673   }
3674
3675 }
3676
3677 void
3678 audio_convert_orc_unpack_s16_double_swap (gdouble * ORC_RESTRICT d1,
3679     const guint8 * ORC_RESTRICT s1, int p1, int n)
3680 {
3681   OrcExecutor _ex, *ex = &_ex;
3682   static volatile int p_inited = 0;
3683   static OrcCode *c = 0;
3684   void (*func) (OrcExecutor *);
3685
3686   if (!p_inited) {
3687     orc_once_mutex_lock ();
3688     if (!p_inited) {
3689       OrcProgram *p;
3690
3691 #if 1
3692       static const orc_uint8 bc[] = {
3693         1, 9, 40, 97, 117, 100, 105, 111, 95, 99, 111, 110, 118, 101, 114, 116,
3694         95, 111, 114, 99, 95, 117, 110, 112, 97, 99, 107, 95, 115, 49, 54, 95,
3695         100, 111, 117, 98, 108, 101, 95, 115, 119, 97, 112, 11, 8, 8, 12, 2,
3696         2, 16, 4, 20, 2, 20, 4, 183, 32, 4, 154, 33, 32, 124, 33, 33,
3697         24, 223, 0, 33, 2, 0,
3698       };
3699       p = orc_program_new_from_static_bytecode (bc);
3700       orc_program_set_backup_function (p,
3701           _backup_audio_convert_orc_unpack_s16_double_swap);
3702 #else
3703       p = orc_program_new ();
3704       orc_program_set_name (p, "audio_convert_orc_unpack_s16_double_swap");
3705       orc_program_set_backup_function (p,
3706           _backup_audio_convert_orc_unpack_s16_double_swap);
3707       orc_program_add_destination (p, 8, "d1");
3708       orc_program_add_source (p, 2, "s1");
3709       orc_program_add_parameter (p, 4, "p1");
3710       orc_program_add_temporary (p, 2, "t1");
3711       orc_program_add_temporary (p, 4, "t2");
3712
3713       orc_program_append_2 (p, "swapw", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
3714           ORC_VAR_D1);
3715       orc_program_append_2 (p, "convuwl", 0, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_D1,
3716           ORC_VAR_D1);
3717       orc_program_append_2 (p, "shll", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_P1,
3718           ORC_VAR_D1);
3719       orc_program_append_2 (p, "convld", 0, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_D1,
3720           ORC_VAR_D1);
3721 #endif
3722
3723       orc_program_compile (p);
3724       c = orc_program_take_code (p);
3725       orc_program_free (p);
3726     }
3727     p_inited = TRUE;
3728     orc_once_mutex_unlock ();
3729   }
3730   ex->arrays[ORC_VAR_A2] = c;
3731   ex->program = 0;
3732
3733   ex->n = n;
3734   ex->arrays[ORC_VAR_D1] = d1;
3735   ex->arrays[ORC_VAR_S1] = (void *) s1;
3736   ex->params[ORC_VAR_P1] = p1;
3737
3738   func = c->exec;
3739   func (ex);
3740 }
3741 #endif
3742
3743
3744 /* audio_convert_orc_unpack_u32_double */
3745 #ifdef DISABLE_ORC
3746 void
3747 audio_convert_orc_unpack_u32_double (gdouble * ORC_RESTRICT d1,
3748     const guint8 * ORC_RESTRICT s1, int p1, int n)
3749 {
3750   int i;
3751   orc_union64 *ORC_RESTRICT ptr0;
3752   const orc_union32 *ORC_RESTRICT ptr4;
3753   orc_union32 var33;
3754 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
3755   volatile orc_union32 var34;
3756 #else
3757   orc_union32 var34;
3758 #endif
3759   orc_union64 var35;
3760   orc_union32 var36;
3761   orc_union32 var37;
3762
3763   ptr0 = (orc_union64 *) d1;
3764   ptr4 = (orc_union32 *) s1;
3765
3766   /* 2: loadpl */
3767   var34.i = (int) 0x80000000;   /* -2147483648 or 1.061e-314f */
3768
3769   for (i = 0; i < n; i++) {
3770     /* 0: loadl */
3771     var33 = ptr4[i];
3772     /* 1: shll */
3773     var36.i = var33.i << p1;
3774     /* 3: xorl */
3775     var37.i = var36.i ^ var34.i;
3776     /* 4: convld */
3777     var35.f = var37.i;
3778     /* 5: storeq */
3779     ptr0[i] = var35;
3780   }
3781
3782 }
3783
3784 #else
3785 static void
3786 _backup_audio_convert_orc_unpack_u32_double (OrcExecutor * ORC_RESTRICT ex)
3787 {
3788   int i;
3789   int n = ex->n;
3790   orc_union64 *ORC_RESTRICT ptr0;
3791   const orc_union32 *ORC_RESTRICT ptr4;
3792   orc_union32 var33;
3793 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
3794   volatile orc_union32 var34;
3795 #else
3796   orc_union32 var34;
3797 #endif
3798   orc_union64 var35;
3799   orc_union32 var36;
3800   orc_union32 var37;
3801
3802   ptr0 = (orc_union64 *) ex->arrays[0];
3803   ptr4 = (orc_union32 *) ex->arrays[4];
3804
3805   /* 2: loadpl */
3806   var34.i = (int) 0x80000000;   /* -2147483648 or 1.061e-314f */
3807
3808   for (i = 0; i < n; i++) {
3809     /* 0: loadl */
3810     var33 = ptr4[i];
3811     /* 1: shll */
3812     var36.i = var33.i << ex->params[24];
3813     /* 3: xorl */
3814     var37.i = var36.i ^ var34.i;
3815     /* 4: convld */
3816     var35.f = var37.i;
3817     /* 5: storeq */
3818     ptr0[i] = var35;
3819   }
3820
3821 }
3822
3823 void
3824 audio_convert_orc_unpack_u32_double (gdouble * ORC_RESTRICT d1,
3825     const guint8 * ORC_RESTRICT s1, int p1, int n)
3826 {
3827   OrcExecutor _ex, *ex = &_ex;
3828   static volatile int p_inited = 0;
3829   static OrcCode *c = 0;
3830   void (*func) (OrcExecutor *);
3831
3832   if (!p_inited) {
3833     orc_once_mutex_lock ();
3834     if (!p_inited) {
3835       OrcProgram *p;
3836
3837 #if 1
3838       static const orc_uint8 bc[] = {
3839         1, 9, 35, 97, 117, 100, 105, 111, 95, 99, 111, 110, 118, 101, 114, 116,
3840         95, 111, 114, 99, 95, 117, 110, 112, 97, 99, 107, 95, 117, 51, 50, 95,
3841         100, 111, 117, 98, 108, 101, 11, 8, 8, 12, 4, 4, 14, 4, 0, 0,
3842         0, 128, 16, 4, 20, 4, 124, 32, 4, 24, 132, 32, 32, 16, 223, 0,
3843         32, 2, 0,
3844       };
3845       p = orc_program_new_from_static_bytecode (bc);
3846       orc_program_set_backup_function (p,
3847           _backup_audio_convert_orc_unpack_u32_double);
3848 #else
3849       p = orc_program_new ();
3850       orc_program_set_name (p, "audio_convert_orc_unpack_u32_double");
3851       orc_program_set_backup_function (p,
3852           _backup_audio_convert_orc_unpack_u32_double);
3853       orc_program_add_destination (p, 8, "d1");
3854       orc_program_add_source (p, 4, "s1");
3855       orc_program_add_constant (p, 4, 0x80000000, "c1");
3856       orc_program_add_parameter (p, 4, "p1");
3857       orc_program_add_temporary (p, 4, "t1");
3858
3859       orc_program_append_2 (p, "shll", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_P1,
3860           ORC_VAR_D1);
3861       orc_program_append_2 (p, "xorl", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
3862           ORC_VAR_D1);
3863       orc_program_append_2 (p, "convld", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1,
3864           ORC_VAR_D1);
3865 #endif
3866
3867       orc_program_compile (p);
3868       c = orc_program_take_code (p);
3869       orc_program_free (p);
3870     }
3871     p_inited = TRUE;
3872     orc_once_mutex_unlock ();
3873   }
3874   ex->arrays[ORC_VAR_A2] = c;
3875   ex->program = 0;
3876
3877   ex->n = n;
3878   ex->arrays[ORC_VAR_D1] = d1;
3879   ex->arrays[ORC_VAR_S1] = (void *) s1;
3880   ex->params[ORC_VAR_P1] = p1;
3881
3882   func = c->exec;
3883   func (ex);
3884 }
3885 #endif
3886
3887
3888 /* audio_convert_orc_unpack_s32_double */
3889 #ifdef DISABLE_ORC
3890 void
3891 audio_convert_orc_unpack_s32_double (gdouble * ORC_RESTRICT d1,
3892     const guint8 * ORC_RESTRICT s1, int p1, int n)
3893 {
3894   int i;
3895   orc_union64 *ORC_RESTRICT ptr0;
3896   const orc_union32 *ORC_RESTRICT ptr4;
3897   orc_union32 var33;
3898   orc_union64 var34;
3899   orc_union32 var35;
3900
3901   ptr0 = (orc_union64 *) d1;
3902   ptr4 = (orc_union32 *) s1;
3903
3904
3905   for (i = 0; i < n; i++) {
3906     /* 0: loadl */
3907     var33 = ptr4[i];
3908     /* 1: shll */
3909     var35.i = var33.i << p1;
3910     /* 2: convld */
3911     var34.f = var35.i;
3912     /* 3: storeq */
3913     ptr0[i] = var34;
3914   }
3915
3916 }
3917
3918 #else
3919 static void
3920 _backup_audio_convert_orc_unpack_s32_double (OrcExecutor * ORC_RESTRICT ex)
3921 {
3922   int i;
3923   int n = ex->n;
3924   orc_union64 *ORC_RESTRICT ptr0;
3925   const orc_union32 *ORC_RESTRICT ptr4;
3926   orc_union32 var33;
3927   orc_union64 var34;
3928   orc_union32 var35;
3929
3930   ptr0 = (orc_union64 *) ex->arrays[0];
3931   ptr4 = (orc_union32 *) ex->arrays[4];
3932
3933
3934   for (i = 0; i < n; i++) {
3935     /* 0: loadl */
3936     var33 = ptr4[i];
3937     /* 1: shll */
3938     var35.i = var33.i << ex->params[24];
3939     /* 2: convld */
3940     var34.f = var35.i;
3941     /* 3: storeq */
3942     ptr0[i] = var34;
3943   }
3944
3945 }
3946
3947 void
3948 audio_convert_orc_unpack_s32_double (gdouble * ORC_RESTRICT d1,
3949     const guint8 * ORC_RESTRICT s1, int p1, int n)
3950 {
3951   OrcExecutor _ex, *ex = &_ex;
3952   static volatile int p_inited = 0;
3953   static OrcCode *c = 0;
3954   void (*func) (OrcExecutor *);
3955
3956   if (!p_inited) {
3957     orc_once_mutex_lock ();
3958     if (!p_inited) {
3959       OrcProgram *p;
3960
3961 #if 1
3962       static const orc_uint8 bc[] = {
3963         1, 9, 35, 97, 117, 100, 105, 111, 95, 99, 111, 110, 118, 101, 114, 116,
3964         95, 111, 114, 99, 95, 117, 110, 112, 97, 99, 107, 95, 115, 51, 50, 95,
3965         100, 111, 117, 98, 108, 101, 11, 8, 8, 12, 4, 4, 16, 4, 20, 4,
3966         124, 32, 4, 24, 223, 0, 32, 2, 0,
3967       };
3968       p = orc_program_new_from_static_bytecode (bc);
3969       orc_program_set_backup_function (p,
3970           _backup_audio_convert_orc_unpack_s32_double);
3971 #else
3972       p = orc_program_new ();
3973       orc_program_set_name (p, "audio_convert_orc_unpack_s32_double");
3974       orc_program_set_backup_function (p,
3975           _backup_audio_convert_orc_unpack_s32_double);
3976       orc_program_add_destination (p, 8, "d1");
3977       orc_program_add_source (p, 4, "s1");
3978       orc_program_add_parameter (p, 4, "p1");
3979       orc_program_add_temporary (p, 4, "t1");
3980
3981       orc_program_append_2 (p, "shll", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_P1,
3982           ORC_VAR_D1);
3983       orc_program_append_2 (p, "convld", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1,
3984           ORC_VAR_D1);
3985 #endif
3986
3987       orc_program_compile (p);
3988       c = orc_program_take_code (p);
3989       orc_program_free (p);
3990     }
3991     p_inited = TRUE;
3992     orc_once_mutex_unlock ();
3993   }
3994   ex->arrays[ORC_VAR_A2] = c;
3995   ex->program = 0;
3996
3997   ex->n = n;
3998   ex->arrays[ORC_VAR_D1] = d1;
3999   ex->arrays[ORC_VAR_S1] = (void *) s1;
4000   ex->params[ORC_VAR_P1] = p1;
4001
4002   func = c->exec;
4003   func (ex);
4004 }
4005 #endif
4006
4007
4008 /* audio_convert_orc_unpack_u32_double_swap */
4009 #ifdef DISABLE_ORC
4010 void
4011 audio_convert_orc_unpack_u32_double_swap (gdouble * ORC_RESTRICT d1,
4012     const guint8 * ORC_RESTRICT s1, int p1, int n)
4013 {
4014   int i;
4015   orc_union64 *ORC_RESTRICT ptr0;
4016   const orc_union32 *ORC_RESTRICT ptr4;
4017   orc_union32 var33;
4018 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
4019   volatile orc_union32 var34;
4020 #else
4021   orc_union32 var34;
4022 #endif
4023   orc_union64 var35;
4024   orc_union32 var36;
4025   orc_union32 var37;
4026   orc_union32 var38;
4027
4028   ptr0 = (orc_union64 *) d1;
4029   ptr4 = (orc_union32 *) s1;
4030
4031   /* 3: loadpl */
4032   var34.i = (int) 0x80000000;   /* -2147483648 or 1.061e-314f */
4033
4034   for (i = 0; i < n; i++) {
4035     /* 0: loadl */
4036     var33 = ptr4[i];
4037     /* 1: swapl */
4038     var36.i = ORC_SWAP_L (var33.i);
4039     /* 2: shll */
4040     var37.i = var36.i << p1;
4041     /* 4: xorl */
4042     var38.i = var37.i ^ var34.i;
4043     /* 5: convld */
4044     var35.f = var38.i;
4045     /* 6: storeq */
4046     ptr0[i] = var35;
4047   }
4048
4049 }
4050
4051 #else
4052 static void
4053 _backup_audio_convert_orc_unpack_u32_double_swap (OrcExecutor * ORC_RESTRICT ex)
4054 {
4055   int i;
4056   int n = ex->n;
4057   orc_union64 *ORC_RESTRICT ptr0;
4058   const orc_union32 *ORC_RESTRICT ptr4;
4059   orc_union32 var33;
4060 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
4061   volatile orc_union32 var34;
4062 #else
4063   orc_union32 var34;
4064 #endif
4065   orc_union64 var35;
4066   orc_union32 var36;
4067   orc_union32 var37;
4068   orc_union32 var38;
4069
4070   ptr0 = (orc_union64 *) ex->arrays[0];
4071   ptr4 = (orc_union32 *) ex->arrays[4];
4072
4073   /* 3: loadpl */
4074   var34.i = (int) 0x80000000;   /* -2147483648 or 1.061e-314f */
4075
4076   for (i = 0; i < n; i++) {
4077     /* 0: loadl */
4078     var33 = ptr4[i];
4079     /* 1: swapl */
4080     var36.i = ORC_SWAP_L (var33.i);
4081     /* 2: shll */
4082     var37.i = var36.i << ex->params[24];
4083     /* 4: xorl */
4084     var38.i = var37.i ^ var34.i;
4085     /* 5: convld */
4086     var35.f = var38.i;
4087     /* 6: storeq */
4088     ptr0[i] = var35;
4089   }
4090
4091 }
4092
4093 void
4094 audio_convert_orc_unpack_u32_double_swap (gdouble * ORC_RESTRICT d1,
4095     const guint8 * ORC_RESTRICT s1, int p1, int n)
4096 {
4097   OrcExecutor _ex, *ex = &_ex;
4098   static volatile int p_inited = 0;
4099   static OrcCode *c = 0;
4100   void (*func) (OrcExecutor *);
4101
4102   if (!p_inited) {
4103     orc_once_mutex_lock ();
4104     if (!p_inited) {
4105       OrcProgram *p;
4106
4107 #if 1
4108       static const orc_uint8 bc[] = {
4109         1, 9, 40, 97, 117, 100, 105, 111, 95, 99, 111, 110, 118, 101, 114, 116,
4110         95, 111, 114, 99, 95, 117, 110, 112, 97, 99, 107, 95, 117, 51, 50, 95,
4111         100, 111, 117, 98, 108, 101, 95, 115, 119, 97, 112, 11, 8, 8, 12, 4,
4112         4, 14, 4, 0, 0, 0, 128, 16, 4, 20, 4, 184, 32, 4, 124, 32,
4113         32, 24, 132, 32, 32, 16, 223, 0, 32, 2, 0,
4114       };
4115       p = orc_program_new_from_static_bytecode (bc);
4116       orc_program_set_backup_function (p,
4117           _backup_audio_convert_orc_unpack_u32_double_swap);
4118 #else
4119       p = orc_program_new ();
4120       orc_program_set_name (p, "audio_convert_orc_unpack_u32_double_swap");
4121       orc_program_set_backup_function (p,
4122           _backup_audio_convert_orc_unpack_u32_double_swap);
4123       orc_program_add_destination (p, 8, "d1");
4124       orc_program_add_source (p, 4, "s1");
4125       orc_program_add_constant (p, 4, 0x80000000, "c1");
4126       orc_program_add_parameter (p, 4, "p1");
4127       orc_program_add_temporary (p, 4, "t1");
4128
4129       orc_program_append_2 (p, "swapl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
4130           ORC_VAR_D1);
4131       orc_program_append_2 (p, "shll", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_P1,
4132           ORC_VAR_D1);
4133       orc_program_append_2 (p, "xorl", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
4134           ORC_VAR_D1);
4135       orc_program_append_2 (p, "convld", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1,
4136           ORC_VAR_D1);
4137 #endif
4138
4139       orc_program_compile (p);
4140       c = orc_program_take_code (p);
4141       orc_program_free (p);
4142     }
4143     p_inited = TRUE;
4144     orc_once_mutex_unlock ();
4145   }
4146   ex->arrays[ORC_VAR_A2] = c;
4147   ex->program = 0;
4148
4149   ex->n = n;
4150   ex->arrays[ORC_VAR_D1] = d1;
4151   ex->arrays[ORC_VAR_S1] = (void *) s1;
4152   ex->params[ORC_VAR_P1] = p1;
4153
4154   func = c->exec;
4155   func (ex);
4156 }
4157 #endif
4158
4159
4160 /* audio_convert_orc_unpack_s32_double_swap */
4161 #ifdef DISABLE_ORC
4162 void
4163 audio_convert_orc_unpack_s32_double_swap (gdouble * ORC_RESTRICT d1,
4164     const guint8 * ORC_RESTRICT s1, int p1, int n)
4165 {
4166   int i;
4167   orc_union64 *ORC_RESTRICT ptr0;
4168   const orc_union32 *ORC_RESTRICT ptr4;
4169   orc_union32 var33;
4170   orc_union64 var34;
4171   orc_union32 var35;
4172   orc_union32 var36;
4173
4174   ptr0 = (orc_union64 *) d1;
4175   ptr4 = (orc_union32 *) s1;
4176
4177
4178   for (i = 0; i < n; i++) {
4179     /* 0: loadl */
4180     var33 = ptr4[i];
4181     /* 1: swapl */
4182     var35.i = ORC_SWAP_L (var33.i);
4183     /* 2: shll */
4184     var36.i = var35.i << p1;
4185     /* 3: convld */
4186     var34.f = var36.i;
4187     /* 4: storeq */
4188     ptr0[i] = var34;
4189   }
4190
4191 }
4192
4193 #else
4194 static void
4195 _backup_audio_convert_orc_unpack_s32_double_swap (OrcExecutor * ORC_RESTRICT ex)
4196 {
4197   int i;
4198   int n = ex->n;
4199   orc_union64 *ORC_RESTRICT ptr0;
4200   const orc_union32 *ORC_RESTRICT ptr4;
4201   orc_union32 var33;
4202   orc_union64 var34;
4203   orc_union32 var35;
4204   orc_union32 var36;
4205
4206   ptr0 = (orc_union64 *) ex->arrays[0];
4207   ptr4 = (orc_union32 *) ex->arrays[4];
4208
4209
4210   for (i = 0; i < n; i++) {
4211     /* 0: loadl */
4212     var33 = ptr4[i];
4213     /* 1: swapl */
4214     var35.i = ORC_SWAP_L (var33.i);
4215     /* 2: shll */
4216     var36.i = var35.i << ex->params[24];
4217     /* 3: convld */
4218     var34.f = var36.i;
4219     /* 4: storeq */
4220     ptr0[i] = var34;
4221   }
4222
4223 }
4224
4225 void
4226 audio_convert_orc_unpack_s32_double_swap (gdouble * ORC_RESTRICT d1,
4227     const guint8 * ORC_RESTRICT s1, int p1, int n)
4228 {
4229   OrcExecutor _ex, *ex = &_ex;
4230   static volatile int p_inited = 0;
4231   static OrcCode *c = 0;
4232   void (*func) (OrcExecutor *);
4233
4234   if (!p_inited) {
4235     orc_once_mutex_lock ();
4236     if (!p_inited) {
4237       OrcProgram *p;
4238
4239 #if 1
4240       static const orc_uint8 bc[] = {
4241         1, 9, 40, 97, 117, 100, 105, 111, 95, 99, 111, 110, 118, 101, 114, 116,
4242         95, 111, 114, 99, 95, 117, 110, 112, 97, 99, 107, 95, 115, 51, 50, 95,
4243         100, 111, 117, 98, 108, 101, 95, 115, 119, 97, 112, 11, 8, 8, 12, 4,
4244         4, 16, 4, 20, 4, 184, 32, 4, 124, 32, 32, 24, 223, 0, 32, 2,
4245         0,
4246       };
4247       p = orc_program_new_from_static_bytecode (bc);
4248       orc_program_set_backup_function (p,
4249           _backup_audio_convert_orc_unpack_s32_double_swap);
4250 #else
4251       p = orc_program_new ();
4252       orc_program_set_name (p, "audio_convert_orc_unpack_s32_double_swap");
4253       orc_program_set_backup_function (p,
4254           _backup_audio_convert_orc_unpack_s32_double_swap);
4255       orc_program_add_destination (p, 8, "d1");
4256       orc_program_add_source (p, 4, "s1");
4257       orc_program_add_parameter (p, 4, "p1");
4258       orc_program_add_temporary (p, 4, "t1");
4259
4260       orc_program_append_2 (p, "swapl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
4261           ORC_VAR_D1);
4262       orc_program_append_2 (p, "shll", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_P1,
4263           ORC_VAR_D1);
4264       orc_program_append_2 (p, "convld", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1,
4265           ORC_VAR_D1);
4266 #endif
4267
4268       orc_program_compile (p);
4269       c = orc_program_take_code (p);
4270       orc_program_free (p);
4271     }
4272     p_inited = TRUE;
4273     orc_once_mutex_unlock ();
4274   }
4275   ex->arrays[ORC_VAR_A2] = c;
4276   ex->program = 0;
4277
4278   ex->n = n;
4279   ex->arrays[ORC_VAR_D1] = d1;
4280   ex->arrays[ORC_VAR_S1] = (void *) s1;
4281   ex->params[ORC_VAR_P1] = p1;
4282
4283   func = c->exec;
4284   func (ex);
4285 }
4286 #endif
4287
4288
4289 /* audio_convert_orc_pack_u8 */
4290 #ifdef DISABLE_ORC
4291 void
4292 audio_convert_orc_pack_u8 (guint8 * ORC_RESTRICT d1,
4293     const gint32 * ORC_RESTRICT s1, int p1, int n)
4294 {
4295   int i;
4296   orc_int8 *ORC_RESTRICT ptr0;
4297   const orc_union32 *ORC_RESTRICT ptr4;
4298   orc_union32 var34;
4299 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
4300   volatile orc_union32 var35;
4301 #else
4302   orc_union32 var35;
4303 #endif
4304   orc_int8 var36;
4305   orc_union32 var37;
4306   orc_union32 var38;
4307   orc_union16 var39;
4308
4309   ptr0 = (orc_int8 *) d1;
4310   ptr4 = (orc_union32 *) s1;
4311
4312   /* 1: loadpl */
4313   var35.i = (int) 0x80000000;   /* -2147483648 or 1.061e-314f */
4314
4315   for (i = 0; i < n; i++) {
4316     /* 0: loadl */
4317     var34 = ptr4[i];
4318     /* 2: xorl */
4319     var37.i = var34.i ^ var35.i;
4320     /* 3: shrul */
4321     var38.i = ((orc_uint32) var37.i) >> p1;
4322     /* 4: convlw */
4323     var39.i = var38.i;
4324     /* 5: convwb */
4325     var36 = var39.i;
4326     /* 6: storeb */
4327     ptr0[i] = var36;
4328   }
4329
4330 }
4331
4332 #else
4333 static void
4334 _backup_audio_convert_orc_pack_u8 (OrcExecutor * ORC_RESTRICT ex)
4335 {
4336   int i;
4337   int n = ex->n;
4338   orc_int8 *ORC_RESTRICT ptr0;
4339   const orc_union32 *ORC_RESTRICT ptr4;
4340   orc_union32 var34;
4341 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
4342   volatile orc_union32 var35;
4343 #else
4344   orc_union32 var35;
4345 #endif
4346   orc_int8 var36;
4347   orc_union32 var37;
4348   orc_union32 var38;
4349   orc_union16 var39;
4350
4351   ptr0 = (orc_int8 *) ex->arrays[0];
4352   ptr4 = (orc_union32 *) ex->arrays[4];
4353
4354   /* 1: loadpl */
4355   var35.i = (int) 0x80000000;   /* -2147483648 or 1.061e-314f */
4356
4357   for (i = 0; i < n; i++) {
4358     /* 0: loadl */
4359     var34 = ptr4[i];
4360     /* 2: xorl */
4361     var37.i = var34.i ^ var35.i;
4362     /* 3: shrul */
4363     var38.i = ((orc_uint32) var37.i) >> ex->params[24];
4364     /* 4: convlw */
4365     var39.i = var38.i;
4366     /* 5: convwb */
4367     var36 = var39.i;
4368     /* 6: storeb */
4369     ptr0[i] = var36;
4370   }
4371
4372 }
4373
4374 void
4375 audio_convert_orc_pack_u8 (guint8 * ORC_RESTRICT d1,
4376     const gint32 * ORC_RESTRICT s1, int p1, int n)
4377 {
4378   OrcExecutor _ex, *ex = &_ex;
4379   static volatile int p_inited = 0;
4380   static OrcCode *c = 0;
4381   void (*func) (OrcExecutor *);
4382
4383   if (!p_inited) {
4384     orc_once_mutex_lock ();
4385     if (!p_inited) {
4386       OrcProgram *p;
4387
4388 #if 1
4389       static const orc_uint8 bc[] = {
4390         1, 9, 25, 97, 117, 100, 105, 111, 95, 99, 111, 110, 118, 101, 114, 116,
4391         95, 111, 114, 99, 95, 112, 97, 99, 107, 95, 117, 56, 11, 1, 1, 12,
4392         4, 4, 14, 4, 0, 0, 0, 128, 16, 4, 20, 4, 20, 2, 132, 32,
4393         4, 16, 126, 32, 32, 24, 163, 33, 32, 157, 0, 33, 2, 0,
4394       };
4395       p = orc_program_new_from_static_bytecode (bc);
4396       orc_program_set_backup_function (p, _backup_audio_convert_orc_pack_u8);
4397 #else
4398       p = orc_program_new ();
4399       orc_program_set_name (p, "audio_convert_orc_pack_u8");
4400       orc_program_set_backup_function (p, _backup_audio_convert_orc_pack_u8);
4401       orc_program_add_destination (p, 1, "d1");
4402       orc_program_add_source (p, 4, "s1");
4403       orc_program_add_constant (p, 4, 0x80000000, "c1");
4404       orc_program_add_parameter (p, 4, "p1");
4405       orc_program_add_temporary (p, 4, "t1");
4406       orc_program_add_temporary (p, 2, "t2");
4407
4408       orc_program_append_2 (p, "xorl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_C1,
4409           ORC_VAR_D1);
4410       orc_program_append_2 (p, "shrul", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_P1,
4411           ORC_VAR_D1);
4412       orc_program_append_2 (p, "convlw", 0, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_D1,
4413           ORC_VAR_D1);
4414       orc_program_append_2 (p, "convwb", 0, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_D1,
4415           ORC_VAR_D1);
4416 #endif
4417
4418       orc_program_compile (p);
4419       c = orc_program_take_code (p);
4420       orc_program_free (p);
4421     }
4422     p_inited = TRUE;
4423     orc_once_mutex_unlock ();
4424   }
4425   ex->arrays[ORC_VAR_A2] = c;
4426   ex->program = 0;
4427
4428   ex->n = n;
4429   ex->arrays[ORC_VAR_D1] = d1;
4430   ex->arrays[ORC_VAR_S1] = (void *) s1;
4431   ex->params[ORC_VAR_P1] = p1;
4432
4433   func = c->exec;
4434   func (ex);
4435 }
4436 #endif
4437
4438
4439 /* audio_convert_orc_pack_s8 */
4440 #ifdef DISABLE_ORC
4441 void
4442 audio_convert_orc_pack_s8 (guint8 * ORC_RESTRICT d1,
4443     const gint32 * ORC_RESTRICT s1, int p1, int n)
4444 {
4445   int i;
4446   orc_int8 *ORC_RESTRICT ptr0;
4447   const orc_union32 *ORC_RESTRICT ptr4;
4448   orc_union32 var34;
4449   orc_int8 var35;
4450   orc_union32 var36;
4451   orc_union16 var37;
4452
4453   ptr0 = (orc_int8 *) d1;
4454   ptr4 = (orc_union32 *) s1;
4455
4456
4457   for (i = 0; i < n; i++) {
4458     /* 0: loadl */
4459     var34 = ptr4[i];
4460     /* 1: shrsl */
4461     var36.i = var34.i >> p1;
4462     /* 2: convlw */
4463     var37.i = var36.i;
4464     /* 3: convwb */
4465     var35 = var37.i;
4466     /* 4: storeb */
4467     ptr0[i] = var35;
4468   }
4469
4470 }
4471
4472 #else
4473 static void
4474 _backup_audio_convert_orc_pack_s8 (OrcExecutor * ORC_RESTRICT ex)
4475 {
4476   int i;
4477   int n = ex->n;
4478   orc_int8 *ORC_RESTRICT ptr0;
4479   const orc_union32 *ORC_RESTRICT ptr4;
4480   orc_union32 var34;
4481   orc_int8 var35;
4482   orc_union32 var36;
4483   orc_union16 var37;
4484
4485   ptr0 = (orc_int8 *) ex->arrays[0];
4486   ptr4 = (orc_union32 *) ex->arrays[4];
4487
4488
4489   for (i = 0; i < n; i++) {
4490     /* 0: loadl */
4491     var34 = ptr4[i];
4492     /* 1: shrsl */
4493     var36.i = var34.i >> ex->params[24];
4494     /* 2: convlw */
4495     var37.i = var36.i;
4496     /* 3: convwb */
4497     var35 = var37.i;
4498     /* 4: storeb */
4499     ptr0[i] = var35;
4500   }
4501
4502 }
4503
4504 void
4505 audio_convert_orc_pack_s8 (guint8 * ORC_RESTRICT d1,
4506     const gint32 * ORC_RESTRICT s1, int p1, int n)
4507 {
4508   OrcExecutor _ex, *ex = &_ex;
4509   static volatile int p_inited = 0;
4510   static OrcCode *c = 0;
4511   void (*func) (OrcExecutor *);
4512
4513   if (!p_inited) {
4514     orc_once_mutex_lock ();
4515     if (!p_inited) {
4516       OrcProgram *p;
4517
4518 #if 1
4519       static const orc_uint8 bc[] = {
4520         1, 9, 25, 97, 117, 100, 105, 111, 95, 99, 111, 110, 118, 101, 114, 116,
4521         95, 111, 114, 99, 95, 112, 97, 99, 107, 95, 115, 56, 11, 1, 1, 12,
4522         4, 4, 16, 4, 20, 4, 20, 2, 125, 32, 4, 24, 163, 33, 32, 157,
4523         0, 33, 2, 0,
4524       };
4525       p = orc_program_new_from_static_bytecode (bc);
4526       orc_program_set_backup_function (p, _backup_audio_convert_orc_pack_s8);
4527 #else
4528       p = orc_program_new ();
4529       orc_program_set_name (p, "audio_convert_orc_pack_s8");
4530       orc_program_set_backup_function (p, _backup_audio_convert_orc_pack_s8);
4531       orc_program_add_destination (p, 1, "d1");
4532       orc_program_add_source (p, 4, "s1");
4533       orc_program_add_parameter (p, 4, "p1");
4534       orc_program_add_temporary (p, 4, "t1");
4535       orc_program_add_temporary (p, 2, "t2");
4536
4537       orc_program_append_2 (p, "shrsl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_P1,
4538           ORC_VAR_D1);
4539       orc_program_append_2 (p, "convlw", 0, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_D1,
4540           ORC_VAR_D1);
4541       orc_program_append_2 (p, "convwb", 0, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_D1,
4542           ORC_VAR_D1);
4543 #endif
4544
4545       orc_program_compile (p);
4546       c = orc_program_take_code (p);
4547       orc_program_free (p);
4548     }
4549     p_inited = TRUE;
4550     orc_once_mutex_unlock ();
4551   }
4552   ex->arrays[ORC_VAR_A2] = c;
4553   ex->program = 0;
4554
4555   ex->n = n;
4556   ex->arrays[ORC_VAR_D1] = d1;
4557   ex->arrays[ORC_VAR_S1] = (void *) s1;
4558   ex->params[ORC_VAR_P1] = p1;
4559
4560   func = c->exec;
4561   func (ex);
4562 }
4563 #endif
4564
4565
4566 /* audio_convert_orc_pack_u16 */
4567 #ifdef DISABLE_ORC
4568 void
4569 audio_convert_orc_pack_u16 (guint8 * ORC_RESTRICT d1,
4570     const gint32 * ORC_RESTRICT s1, int p1, int n)
4571 {
4572   int i;
4573   orc_union16 *ORC_RESTRICT ptr0;
4574   const orc_union32 *ORC_RESTRICT ptr4;
4575   orc_union32 var33;
4576 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
4577   volatile orc_union32 var34;
4578 #else
4579   orc_union32 var34;
4580 #endif
4581   orc_union16 var35;
4582   orc_union32 var36;
4583   orc_union32 var37;
4584
4585   ptr0 = (orc_union16 *) d1;
4586   ptr4 = (orc_union32 *) s1;
4587
4588   /* 1: loadpl */
4589   var34.i = (int) 0x80000000;   /* -2147483648 or 1.061e-314f */
4590
4591   for (i = 0; i < n; i++) {
4592     /* 0: loadl */
4593     var33 = ptr4[i];
4594     /* 2: xorl */
4595     var36.i = var33.i ^ var34.i;
4596     /* 3: shrul */
4597     var37.i = ((orc_uint32) var36.i) >> p1;
4598     /* 4: convlw */
4599     var35.i = var37.i;
4600     /* 5: storew */
4601     ptr0[i] = var35;
4602   }
4603
4604 }
4605
4606 #else
4607 static void
4608 _backup_audio_convert_orc_pack_u16 (OrcExecutor * ORC_RESTRICT ex)
4609 {
4610   int i;
4611   int n = ex->n;
4612   orc_union16 *ORC_RESTRICT ptr0;
4613   const orc_union32 *ORC_RESTRICT ptr4;
4614   orc_union32 var33;
4615 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
4616   volatile orc_union32 var34;
4617 #else
4618   orc_union32 var34;
4619 #endif
4620   orc_union16 var35;
4621   orc_union32 var36;
4622   orc_union32 var37;
4623
4624   ptr0 = (orc_union16 *) ex->arrays[0];
4625   ptr4 = (orc_union32 *) ex->arrays[4];
4626
4627   /* 1: loadpl */
4628   var34.i = (int) 0x80000000;   /* -2147483648 or 1.061e-314f */
4629
4630   for (i = 0; i < n; i++) {
4631     /* 0: loadl */
4632     var33 = ptr4[i];
4633     /* 2: xorl */
4634     var36.i = var33.i ^ var34.i;
4635     /* 3: shrul */
4636     var37.i = ((orc_uint32) var36.i) >> ex->params[24];
4637     /* 4: convlw */
4638     var35.i = var37.i;
4639     /* 5: storew */
4640     ptr0[i] = var35;
4641   }
4642
4643 }
4644
4645 void
4646 audio_convert_orc_pack_u16 (guint8 * ORC_RESTRICT d1,
4647     const gint32 * ORC_RESTRICT s1, int p1, int n)
4648 {
4649   OrcExecutor _ex, *ex = &_ex;
4650   static volatile int p_inited = 0;
4651   static OrcCode *c = 0;
4652   void (*func) (OrcExecutor *);
4653
4654   if (!p_inited) {
4655     orc_once_mutex_lock ();
4656     if (!p_inited) {
4657       OrcProgram *p;
4658
4659 #if 1
4660       static const orc_uint8 bc[] = {
4661         1, 9, 26, 97, 117, 100, 105, 111, 95, 99, 111, 110, 118, 101, 114, 116,
4662         95, 111, 114, 99, 95, 112, 97, 99, 107, 95, 117, 49, 54, 11, 2, 2,
4663         12, 4, 4, 14, 4, 0, 0, 0, 128, 16, 4, 20, 4, 132, 32, 4,
4664         16, 126, 32, 32, 24, 163, 0, 32, 2, 0,
4665       };
4666       p = orc_program_new_from_static_bytecode (bc);
4667       orc_program_set_backup_function (p, _backup_audio_convert_orc_pack_u16);
4668 #else
4669       p = orc_program_new ();
4670       orc_program_set_name (p, "audio_convert_orc_pack_u16");
4671       orc_program_set_backup_function (p, _backup_audio_convert_orc_pack_u16);
4672       orc_program_add_destination (p, 2, "d1");
4673       orc_program_add_source (p, 4, "s1");
4674       orc_program_add_constant (p, 4, 0x80000000, "c1");
4675       orc_program_add_parameter (p, 4, "p1");
4676       orc_program_add_temporary (p, 4, "t1");
4677
4678       orc_program_append_2 (p, "xorl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_C1,
4679           ORC_VAR_D1);
4680       orc_program_append_2 (p, "shrul", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_P1,
4681           ORC_VAR_D1);
4682       orc_program_append_2 (p, "convlw", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1,
4683           ORC_VAR_D1);
4684 #endif
4685
4686       orc_program_compile (p);
4687       c = orc_program_take_code (p);
4688       orc_program_free (p);
4689     }
4690     p_inited = TRUE;
4691     orc_once_mutex_unlock ();
4692   }
4693   ex->arrays[ORC_VAR_A2] = c;
4694   ex->program = 0;
4695
4696   ex->n = n;
4697   ex->arrays[ORC_VAR_D1] = d1;
4698   ex->arrays[ORC_VAR_S1] = (void *) s1;
4699   ex->params[ORC_VAR_P1] = p1;
4700
4701   func = c->exec;
4702   func (ex);
4703 }
4704 #endif
4705
4706
4707 /* audio_convert_orc_pack_s16 */
4708 #ifdef DISABLE_ORC
4709 void
4710 audio_convert_orc_pack_s16 (guint8 * ORC_RESTRICT d1,
4711     const gint32 * ORC_RESTRICT s1, int p1, int n)
4712 {
4713   int i;
4714   orc_union16 *ORC_RESTRICT ptr0;
4715   const orc_union32 *ORC_RESTRICT ptr4;
4716   orc_union32 var33;
4717   orc_union16 var34;
4718   orc_union32 var35;
4719
4720   ptr0 = (orc_union16 *) d1;
4721   ptr4 = (orc_union32 *) s1;
4722
4723
4724   for (i = 0; i < n; i++) {
4725     /* 0: loadl */
4726     var33 = ptr4[i];
4727     /* 1: shrsl */
4728     var35.i = var33.i >> p1;
4729     /* 2: convlw */
4730     var34.i = var35.i;
4731     /* 3: storew */
4732     ptr0[i] = var34;
4733   }
4734
4735 }
4736
4737 #else
4738 static void
4739 _backup_audio_convert_orc_pack_s16 (OrcExecutor * ORC_RESTRICT ex)
4740 {
4741   int i;
4742   int n = ex->n;
4743   orc_union16 *ORC_RESTRICT ptr0;
4744   const orc_union32 *ORC_RESTRICT ptr4;
4745   orc_union32 var33;
4746   orc_union16 var34;
4747   orc_union32 var35;
4748
4749   ptr0 = (orc_union16 *) ex->arrays[0];
4750   ptr4 = (orc_union32 *) ex->arrays[4];
4751
4752
4753   for (i = 0; i < n; i++) {
4754     /* 0: loadl */
4755     var33 = ptr4[i];
4756     /* 1: shrsl */
4757     var35.i = var33.i >> ex->params[24];
4758     /* 2: convlw */
4759     var34.i = var35.i;
4760     /* 3: storew */
4761     ptr0[i] = var34;
4762   }
4763
4764 }
4765
4766 void
4767 audio_convert_orc_pack_s16 (guint8 * ORC_RESTRICT d1,
4768     const gint32 * ORC_RESTRICT s1, int p1, int n)
4769 {
4770   OrcExecutor _ex, *ex = &_ex;
4771   static volatile int p_inited = 0;
4772   static OrcCode *c = 0;
4773   void (*func) (OrcExecutor *);
4774
4775   if (!p_inited) {
4776     orc_once_mutex_lock ();
4777     if (!p_inited) {
4778       OrcProgram *p;
4779
4780 #if 1
4781       static const orc_uint8 bc[] = {
4782         1, 9, 26, 97, 117, 100, 105, 111, 95, 99, 111, 110, 118, 101, 114, 116,
4783         95, 111, 114, 99, 95, 112, 97, 99, 107, 95, 115, 49, 54, 11, 2, 2,
4784         12, 4, 4, 16, 4, 20, 4, 125, 32, 4, 24, 163, 0, 32, 2, 0,
4785
4786       };
4787       p = orc_program_new_from_static_bytecode (bc);
4788       orc_program_set_backup_function (p, _backup_audio_convert_orc_pack_s16);
4789 #else
4790       p = orc_program_new ();
4791       orc_program_set_name (p, "audio_convert_orc_pack_s16");
4792       orc_program_set_backup_function (p, _backup_audio_convert_orc_pack_s16);
4793       orc_program_add_destination (p, 2, "d1");
4794       orc_program_add_source (p, 4, "s1");
4795       orc_program_add_parameter (p, 4, "p1");
4796       orc_program_add_temporary (p, 4, "t1");
4797
4798       orc_program_append_2 (p, "shrsl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_P1,
4799           ORC_VAR_D1);
4800       orc_program_append_2 (p, "convlw", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1,
4801           ORC_VAR_D1);
4802 #endif
4803
4804       orc_program_compile (p);
4805       c = orc_program_take_code (p);
4806       orc_program_free (p);
4807     }
4808     p_inited = TRUE;
4809     orc_once_mutex_unlock ();
4810   }
4811   ex->arrays[ORC_VAR_A2] = c;
4812   ex->program = 0;
4813
4814   ex->n = n;
4815   ex->arrays[ORC_VAR_D1] = d1;
4816   ex->arrays[ORC_VAR_S1] = (void *) s1;
4817   ex->params[ORC_VAR_P1] = p1;
4818
4819   func = c->exec;
4820   func (ex);
4821 }
4822 #endif
4823
4824
4825 /* audio_convert_orc_pack_u16_swap */
4826 #ifdef DISABLE_ORC
4827 void
4828 audio_convert_orc_pack_u16_swap (guint8 * ORC_RESTRICT d1,
4829     const gint32 * ORC_RESTRICT s1, int p1, int n)
4830 {
4831   int i;
4832   orc_union16 *ORC_RESTRICT ptr0;
4833   const orc_union32 *ORC_RESTRICT ptr4;
4834   orc_union32 var34;
4835 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
4836   volatile orc_union32 var35;
4837 #else
4838   orc_union32 var35;
4839 #endif
4840   orc_union16 var36;
4841   orc_union32 var37;
4842   orc_union32 var38;
4843   orc_union16 var39;
4844
4845   ptr0 = (orc_union16 *) d1;
4846   ptr4 = (orc_union32 *) s1;
4847
4848   /* 1: loadpl */
4849   var35.i = (int) 0x80000000;   /* -2147483648 or 1.061e-314f */
4850
4851   for (i = 0; i < n; i++) {
4852     /* 0: loadl */
4853     var34 = ptr4[i];
4854     /* 2: xorl */
4855     var37.i = var34.i ^ var35.i;
4856     /* 3: shrul */
4857     var38.i = ((orc_uint32) var37.i) >> p1;
4858     /* 4: convlw */
4859     var39.i = var38.i;
4860     /* 5: swapw */
4861     var36.i = ORC_SWAP_W (var39.i);
4862     /* 6: storew */
4863     ptr0[i] = var36;
4864   }
4865
4866 }
4867
4868 #else
4869 static void
4870 _backup_audio_convert_orc_pack_u16_swap (OrcExecutor * ORC_RESTRICT ex)
4871 {
4872   int i;
4873   int n = ex->n;
4874   orc_union16 *ORC_RESTRICT ptr0;
4875   const orc_union32 *ORC_RESTRICT ptr4;
4876   orc_union32 var34;
4877 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
4878   volatile orc_union32 var35;
4879 #else
4880   orc_union32 var35;
4881 #endif
4882   orc_union16 var36;
4883   orc_union32 var37;
4884   orc_union32 var38;
4885   orc_union16 var39;
4886
4887   ptr0 = (orc_union16 *) ex->arrays[0];
4888   ptr4 = (orc_union32 *) ex->arrays[4];
4889
4890   /* 1: loadpl */
4891   var35.i = (int) 0x80000000;   /* -2147483648 or 1.061e-314f */
4892
4893   for (i = 0; i < n; i++) {
4894     /* 0: loadl */
4895     var34 = ptr4[i];
4896     /* 2: xorl */
4897     var37.i = var34.i ^ var35.i;
4898     /* 3: shrul */
4899     var38.i = ((orc_uint32) var37.i) >> ex->params[24];
4900     /* 4: convlw */
4901     var39.i = var38.i;
4902     /* 5: swapw */
4903     var36.i = ORC_SWAP_W (var39.i);
4904     /* 6: storew */
4905     ptr0[i] = var36;
4906   }
4907
4908 }
4909
4910 void
4911 audio_convert_orc_pack_u16_swap (guint8 * ORC_RESTRICT d1,
4912     const gint32 * ORC_RESTRICT s1, int p1, int n)
4913 {
4914   OrcExecutor _ex, *ex = &_ex;
4915   static volatile int p_inited = 0;
4916   static OrcCode *c = 0;
4917   void (*func) (OrcExecutor *);
4918
4919   if (!p_inited) {
4920     orc_once_mutex_lock ();
4921     if (!p_inited) {
4922       OrcProgram *p;
4923
4924 #if 1
4925       static const orc_uint8 bc[] = {
4926         1, 9, 31, 97, 117, 100, 105, 111, 95, 99, 111, 110, 118, 101, 114, 116,
4927         95, 111, 114, 99, 95, 112, 97, 99, 107, 95, 117, 49, 54, 95, 115, 119,
4928         97, 112, 11, 2, 2, 12, 4, 4, 14, 4, 0, 0, 0, 128, 16, 4,
4929         20, 4, 20, 2, 132, 32, 4, 16, 126, 32, 32, 24, 163, 33, 32, 183,
4930         0, 33, 2, 0,
4931       };
4932       p = orc_program_new_from_static_bytecode (bc);
4933       orc_program_set_backup_function (p,
4934           _backup_audio_convert_orc_pack_u16_swap);
4935 #else
4936       p = orc_program_new ();
4937       orc_program_set_name (p, "audio_convert_orc_pack_u16_swap");
4938       orc_program_set_backup_function (p,
4939           _backup_audio_convert_orc_pack_u16_swap);
4940       orc_program_add_destination (p, 2, "d1");
4941       orc_program_add_source (p, 4, "s1");
4942       orc_program_add_constant (p, 4, 0x80000000, "c1");
4943       orc_program_add_parameter (p, 4, "p1");
4944       orc_program_add_temporary (p, 4, "t1");
4945       orc_program_add_temporary (p, 2, "t2");
4946
4947       orc_program_append_2 (p, "xorl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_C1,
4948           ORC_VAR_D1);
4949       orc_program_append_2 (p, "shrul", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_P1,
4950           ORC_VAR_D1);
4951       orc_program_append_2 (p, "convlw", 0, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_D1,
4952           ORC_VAR_D1);
4953       orc_program_append_2 (p, "swapw", 0, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_D1,
4954           ORC_VAR_D1);
4955 #endif
4956
4957       orc_program_compile (p);
4958       c = orc_program_take_code (p);
4959       orc_program_free (p);
4960     }
4961     p_inited = TRUE;
4962     orc_once_mutex_unlock ();
4963   }
4964   ex->arrays[ORC_VAR_A2] = c;
4965   ex->program = 0;
4966
4967   ex->n = n;
4968   ex->arrays[ORC_VAR_D1] = d1;
4969   ex->arrays[ORC_VAR_S1] = (void *) s1;
4970   ex->params[ORC_VAR_P1] = p1;
4971
4972   func = c->exec;
4973   func (ex);
4974 }
4975 #endif
4976
4977
4978 /* audio_convert_orc_pack_s16_swap */
4979 #ifdef DISABLE_ORC
4980 void
4981 audio_convert_orc_pack_s16_swap (guint8 * ORC_RESTRICT d1,
4982     const gint32 * ORC_RESTRICT s1, int p1, int n)
4983 {
4984   int i;
4985   orc_union16 *ORC_RESTRICT ptr0;
4986   const orc_union32 *ORC_RESTRICT ptr4;
4987   orc_union32 var34;
4988   orc_union16 var35;
4989   orc_union32 var36;
4990   orc_union16 var37;
4991
4992   ptr0 = (orc_union16 *) d1;
4993   ptr4 = (orc_union32 *) s1;
4994
4995
4996   for (i = 0; i < n; i++) {
4997     /* 0: loadl */
4998     var34 = ptr4[i];
4999     /* 1: shrsl */
5000     var36.i = var34.i >> p1;
5001     /* 2: convlw */
5002     var37.i = var36.i;
5003     /* 3: swapw */
5004     var35.i = ORC_SWAP_W (var37.i);
5005     /* 4: storew */
5006     ptr0[i] = var35;
5007   }
5008
5009 }
5010
5011 #else
5012 static void
5013 _backup_audio_convert_orc_pack_s16_swap (OrcExecutor * ORC_RESTRICT ex)
5014 {
5015   int i;
5016   int n = ex->n;
5017   orc_union16 *ORC_RESTRICT ptr0;
5018   const orc_union32 *ORC_RESTRICT ptr4;
5019   orc_union32 var34;
5020   orc_union16 var35;
5021   orc_union32 var36;
5022   orc_union16 var37;
5023
5024   ptr0 = (orc_union16 *) ex->arrays[0];
5025   ptr4 = (orc_union32 *) ex->arrays[4];
5026
5027
5028   for (i = 0; i < n; i++) {
5029     /* 0: loadl */
5030     var34 = ptr4[i];
5031     /* 1: shrsl */
5032     var36.i = var34.i >> ex->params[24];
5033     /* 2: convlw */
5034     var37.i = var36.i;
5035     /* 3: swapw */
5036     var35.i = ORC_SWAP_W (var37.i);
5037     /* 4: storew */
5038     ptr0[i] = var35;
5039   }
5040
5041 }
5042
5043 void
5044 audio_convert_orc_pack_s16_swap (guint8 * ORC_RESTRICT d1,
5045     const gint32 * ORC_RESTRICT s1, int p1, int n)
5046 {
5047   OrcExecutor _ex, *ex = &_ex;
5048   static volatile int p_inited = 0;
5049   static OrcCode *c = 0;
5050   void (*func) (OrcExecutor *);
5051
5052   if (!p_inited) {
5053     orc_once_mutex_lock ();
5054     if (!p_inited) {
5055       OrcProgram *p;
5056
5057 #if 1
5058       static const orc_uint8 bc[] = {
5059         1, 9, 31, 97, 117, 100, 105, 111, 95, 99, 111, 110, 118, 101, 114, 116,
5060         95, 111, 114, 99, 95, 112, 97, 99, 107, 95, 115, 49, 54, 95, 115, 119,
5061         97, 112, 11, 2, 2, 12, 4, 4, 16, 4, 20, 4, 20, 2, 125, 32,
5062         4, 24, 163, 33, 32, 183, 0, 33, 2, 0,
5063       };
5064       p = orc_program_new_from_static_bytecode (bc);
5065       orc_program_set_backup_function (p,
5066           _backup_audio_convert_orc_pack_s16_swap);
5067 #else
5068       p = orc_program_new ();
5069       orc_program_set_name (p, "audio_convert_orc_pack_s16_swap");
5070       orc_program_set_backup_function (p,
5071           _backup_audio_convert_orc_pack_s16_swap);
5072       orc_program_add_destination (p, 2, "d1");
5073       orc_program_add_source (p, 4, "s1");
5074       orc_program_add_parameter (p, 4, "p1");
5075       orc_program_add_temporary (p, 4, "t1");
5076       orc_program_add_temporary (p, 2, "t2");
5077
5078       orc_program_append_2 (p, "shrsl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_P1,
5079           ORC_VAR_D1);
5080       orc_program_append_2 (p, "convlw", 0, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_D1,
5081           ORC_VAR_D1);
5082       orc_program_append_2 (p, "swapw", 0, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_D1,
5083           ORC_VAR_D1);
5084 #endif
5085
5086       orc_program_compile (p);
5087       c = orc_program_take_code (p);
5088       orc_program_free (p);
5089     }
5090     p_inited = TRUE;
5091     orc_once_mutex_unlock ();
5092   }
5093   ex->arrays[ORC_VAR_A2] = c;
5094   ex->program = 0;
5095
5096   ex->n = n;
5097   ex->arrays[ORC_VAR_D1] = d1;
5098   ex->arrays[ORC_VAR_S1] = (void *) s1;
5099   ex->params[ORC_VAR_P1] = p1;
5100
5101   func = c->exec;
5102   func (ex);
5103 }
5104 #endif
5105
5106
5107 /* audio_convert_orc_pack_u32 */
5108 #ifdef DISABLE_ORC
5109 void
5110 audio_convert_orc_pack_u32 (guint8 * ORC_RESTRICT d1,
5111     const gint32 * ORC_RESTRICT s1, int p1, int n)
5112 {
5113   int i;
5114   orc_union32 *ORC_RESTRICT ptr0;
5115   const orc_union32 *ORC_RESTRICT ptr4;
5116   orc_union32 var33;
5117 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
5118   volatile orc_union32 var34;
5119 #else
5120   orc_union32 var34;
5121 #endif
5122   orc_union32 var35;
5123   orc_union32 var36;
5124
5125   ptr0 = (orc_union32 *) d1;
5126   ptr4 = (orc_union32 *) s1;
5127
5128   /* 1: loadpl */
5129   var34.i = (int) 0x80000000;   /* -2147483648 or 1.061e-314f */
5130
5131   for (i = 0; i < n; i++) {
5132     /* 0: loadl */
5133     var33 = ptr4[i];
5134     /* 2: xorl */
5135     var36.i = var33.i ^ var34.i;
5136     /* 3: shrul */
5137     var35.i = ((orc_uint32) var36.i) >> p1;
5138     /* 4: storel */
5139     ptr0[i] = var35;
5140   }
5141
5142 }
5143
5144 #else
5145 static void
5146 _backup_audio_convert_orc_pack_u32 (OrcExecutor * ORC_RESTRICT ex)
5147 {
5148   int i;
5149   int n = ex->n;
5150   orc_union32 *ORC_RESTRICT ptr0;
5151   const orc_union32 *ORC_RESTRICT ptr4;
5152   orc_union32 var33;
5153 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
5154   volatile orc_union32 var34;
5155 #else
5156   orc_union32 var34;
5157 #endif
5158   orc_union32 var35;
5159   orc_union32 var36;
5160
5161   ptr0 = (orc_union32 *) ex->arrays[0];
5162   ptr4 = (orc_union32 *) ex->arrays[4];
5163
5164   /* 1: loadpl */
5165   var34.i = (int) 0x80000000;   /* -2147483648 or 1.061e-314f */
5166
5167   for (i = 0; i < n; i++) {
5168     /* 0: loadl */
5169     var33 = ptr4[i];
5170     /* 2: xorl */
5171     var36.i = var33.i ^ var34.i;
5172     /* 3: shrul */
5173     var35.i = ((orc_uint32) var36.i) >> ex->params[24];
5174     /* 4: storel */
5175     ptr0[i] = var35;
5176   }
5177
5178 }
5179
5180 void
5181 audio_convert_orc_pack_u32 (guint8 * ORC_RESTRICT d1,
5182     const gint32 * ORC_RESTRICT s1, int p1, int n)
5183 {
5184   OrcExecutor _ex, *ex = &_ex;
5185   static volatile int p_inited = 0;
5186   static OrcCode *c = 0;
5187   void (*func) (OrcExecutor *);
5188
5189   if (!p_inited) {
5190     orc_once_mutex_lock ();
5191     if (!p_inited) {
5192       OrcProgram *p;
5193
5194 #if 1
5195       static const orc_uint8 bc[] = {
5196         1, 9, 26, 97, 117, 100, 105, 111, 95, 99, 111, 110, 118, 101, 114, 116,
5197         95, 111, 114, 99, 95, 112, 97, 99, 107, 95, 117, 51, 50, 11, 4, 4,
5198         12, 4, 4, 14, 4, 0, 0, 0, 128, 16, 4, 20, 4, 132, 32, 4,
5199         16, 126, 0, 32, 24, 2, 0,
5200       };
5201       p = orc_program_new_from_static_bytecode (bc);
5202       orc_program_set_backup_function (p, _backup_audio_convert_orc_pack_u32);
5203 #else
5204       p = orc_program_new ();
5205       orc_program_set_name (p, "audio_convert_orc_pack_u32");
5206       orc_program_set_backup_function (p, _backup_audio_convert_orc_pack_u32);
5207       orc_program_add_destination (p, 4, "d1");
5208       orc_program_add_source (p, 4, "s1");
5209       orc_program_add_constant (p, 4, 0x80000000, "c1");
5210       orc_program_add_parameter (p, 4, "p1");
5211       orc_program_add_temporary (p, 4, "t1");
5212
5213       orc_program_append_2 (p, "xorl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_C1,
5214           ORC_VAR_D1);
5215       orc_program_append_2 (p, "shrul", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_P1,
5216           ORC_VAR_D1);
5217 #endif
5218
5219       orc_program_compile (p);
5220       c = orc_program_take_code (p);
5221       orc_program_free (p);
5222     }
5223     p_inited = TRUE;
5224     orc_once_mutex_unlock ();
5225   }
5226   ex->arrays[ORC_VAR_A2] = c;
5227   ex->program = 0;
5228
5229   ex->n = n;
5230   ex->arrays[ORC_VAR_D1] = d1;
5231   ex->arrays[ORC_VAR_S1] = (void *) s1;
5232   ex->params[ORC_VAR_P1] = p1;
5233
5234   func = c->exec;
5235   func (ex);
5236 }
5237 #endif
5238
5239
5240 /* audio_convert_orc_pack_s32 */
5241 #ifdef DISABLE_ORC
5242 void
5243 audio_convert_orc_pack_s32 (guint8 * ORC_RESTRICT d1,
5244     const gint32 * ORC_RESTRICT s1, int p1, int n)
5245 {
5246   int i;
5247   orc_union32 *ORC_RESTRICT ptr0;
5248   const orc_union32 *ORC_RESTRICT ptr4;
5249   orc_union32 var32;
5250   orc_union32 var33;
5251
5252   ptr0 = (orc_union32 *) d1;
5253   ptr4 = (orc_union32 *) s1;
5254
5255
5256   for (i = 0; i < n; i++) {
5257     /* 0: loadl */
5258     var32 = ptr4[i];
5259     /* 1: shrsl */
5260     var33.i = var32.i >> p1;
5261     /* 2: storel */
5262     ptr0[i] = var33;
5263   }
5264
5265 }
5266
5267 #else
5268 static void
5269 _backup_audio_convert_orc_pack_s32 (OrcExecutor * ORC_RESTRICT ex)
5270 {
5271   int i;
5272   int n = ex->n;
5273   orc_union32 *ORC_RESTRICT ptr0;
5274   const orc_union32 *ORC_RESTRICT ptr4;
5275   orc_union32 var32;
5276   orc_union32 var33;
5277
5278   ptr0 = (orc_union32 *) ex->arrays[0];
5279   ptr4 = (orc_union32 *) ex->arrays[4];
5280
5281
5282   for (i = 0; i < n; i++) {
5283     /* 0: loadl */
5284     var32 = ptr4[i];
5285     /* 1: shrsl */
5286     var33.i = var32.i >> ex->params[24];
5287     /* 2: storel */
5288     ptr0[i] = var33;
5289   }
5290
5291 }
5292
5293 void
5294 audio_convert_orc_pack_s32 (guint8 * ORC_RESTRICT d1,
5295     const gint32 * ORC_RESTRICT s1, int p1, int n)
5296 {
5297   OrcExecutor _ex, *ex = &_ex;
5298   static volatile int p_inited = 0;
5299   static OrcCode *c = 0;
5300   void (*func) (OrcExecutor *);
5301
5302   if (!p_inited) {
5303     orc_once_mutex_lock ();
5304     if (!p_inited) {
5305       OrcProgram *p;
5306
5307 #if 1
5308       static const orc_uint8 bc[] = {
5309         1, 9, 26, 97, 117, 100, 105, 111, 95, 99, 111, 110, 118, 101, 114, 116,
5310         95, 111, 114, 99, 95, 112, 97, 99, 107, 95, 115, 51, 50, 11, 4, 4,
5311         12, 4, 4, 16, 4, 125, 0, 4, 24, 2, 0,
5312       };
5313       p = orc_program_new_from_static_bytecode (bc);
5314       orc_program_set_backup_function (p, _backup_audio_convert_orc_pack_s32);
5315 #else
5316       p = orc_program_new ();
5317       orc_program_set_name (p, "audio_convert_orc_pack_s32");
5318       orc_program_set_backup_function (p, _backup_audio_convert_orc_pack_s32);
5319       orc_program_add_destination (p, 4, "d1");
5320       orc_program_add_source (p, 4, "s1");
5321       orc_program_add_parameter (p, 4, "p1");
5322
5323       orc_program_append_2 (p, "shrsl", 0, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_P1,
5324           ORC_VAR_D1);
5325 #endif
5326
5327       orc_program_compile (p);
5328       c = orc_program_take_code (p);
5329       orc_program_free (p);
5330     }
5331     p_inited = TRUE;
5332     orc_once_mutex_unlock ();
5333   }
5334   ex->arrays[ORC_VAR_A2] = c;
5335   ex->program = 0;
5336
5337   ex->n = n;
5338   ex->arrays[ORC_VAR_D1] = d1;
5339   ex->arrays[ORC_VAR_S1] = (void *) s1;
5340   ex->params[ORC_VAR_P1] = p1;
5341
5342   func = c->exec;
5343   func (ex);
5344 }
5345 #endif
5346
5347
5348 /* audio_convert_orc_pack_u32_swap */
5349 #ifdef DISABLE_ORC
5350 void
5351 audio_convert_orc_pack_u32_swap (guint8 * ORC_RESTRICT d1,
5352     const gint32 * ORC_RESTRICT s1, int p1, int n)
5353 {
5354   int i;
5355   orc_union32 *ORC_RESTRICT ptr0;
5356   const orc_union32 *ORC_RESTRICT ptr4;
5357   orc_union32 var33;
5358 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
5359   volatile orc_union32 var34;
5360 #else
5361   orc_union32 var34;
5362 #endif
5363   orc_union32 var35;
5364   orc_union32 var36;
5365   orc_union32 var37;
5366
5367   ptr0 = (orc_union32 *) d1;
5368   ptr4 = (orc_union32 *) s1;
5369
5370   /* 1: loadpl */
5371   var34.i = (int) 0x80000000;   /* -2147483648 or 1.061e-314f */
5372
5373   for (i = 0; i < n; i++) {
5374     /* 0: loadl */
5375     var33 = ptr4[i];
5376     /* 2: xorl */
5377     var36.i = var33.i ^ var34.i;
5378     /* 3: shrul */
5379     var37.i = ((orc_uint32) var36.i) >> p1;
5380     /* 4: swapl */
5381     var35.i = ORC_SWAP_L (var37.i);
5382     /* 5: storel */
5383     ptr0[i] = var35;
5384   }
5385
5386 }
5387
5388 #else
5389 static void
5390 _backup_audio_convert_orc_pack_u32_swap (OrcExecutor * ORC_RESTRICT ex)
5391 {
5392   int i;
5393   int n = ex->n;
5394   orc_union32 *ORC_RESTRICT ptr0;
5395   const orc_union32 *ORC_RESTRICT ptr4;
5396   orc_union32 var33;
5397 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
5398   volatile orc_union32 var34;
5399 #else
5400   orc_union32 var34;
5401 #endif
5402   orc_union32 var35;
5403   orc_union32 var36;
5404   orc_union32 var37;
5405
5406   ptr0 = (orc_union32 *) ex->arrays[0];
5407   ptr4 = (orc_union32 *) ex->arrays[4];
5408
5409   /* 1: loadpl */
5410   var34.i = (int) 0x80000000;   /* -2147483648 or 1.061e-314f */
5411
5412   for (i = 0; i < n; i++) {
5413     /* 0: loadl */
5414     var33 = ptr4[i];
5415     /* 2: xorl */
5416     var36.i = var33.i ^ var34.i;
5417     /* 3: shrul */
5418     var37.i = ((orc_uint32) var36.i) >> ex->params[24];
5419     /* 4: swapl */
5420     var35.i = ORC_SWAP_L (var37.i);
5421     /* 5: storel */
5422     ptr0[i] = var35;
5423   }
5424
5425 }
5426
5427 void
5428 audio_convert_orc_pack_u32_swap (guint8 * ORC_RESTRICT d1,
5429     const gint32 * ORC_RESTRICT s1, int p1, int n)
5430 {
5431   OrcExecutor _ex, *ex = &_ex;
5432   static volatile int p_inited = 0;
5433   static OrcCode *c = 0;
5434   void (*func) (OrcExecutor *);
5435
5436   if (!p_inited) {
5437     orc_once_mutex_lock ();
5438     if (!p_inited) {
5439       OrcProgram *p;
5440
5441 #if 1
5442       static const orc_uint8 bc[] = {
5443         1, 9, 31, 97, 117, 100, 105, 111, 95, 99, 111, 110, 118, 101, 114, 116,
5444         95, 111, 114, 99, 95, 112, 97, 99, 107, 95, 117, 51, 50, 95, 115, 119,
5445         97, 112, 11, 4, 4, 12, 4, 4, 14, 4, 0, 0, 0, 128, 16, 4,
5446         20, 4, 132, 32, 4, 16, 126, 32, 32, 24, 184, 0, 32, 2, 0,
5447       };
5448       p = orc_program_new_from_static_bytecode (bc);
5449       orc_program_set_backup_function (p,
5450           _backup_audio_convert_orc_pack_u32_swap);
5451 #else
5452       p = orc_program_new ();
5453       orc_program_set_name (p, "audio_convert_orc_pack_u32_swap");
5454       orc_program_set_backup_function (p,
5455           _backup_audio_convert_orc_pack_u32_swap);
5456       orc_program_add_destination (p, 4, "d1");
5457       orc_program_add_source (p, 4, "s1");
5458       orc_program_add_constant (p, 4, 0x80000000, "c1");
5459       orc_program_add_parameter (p, 4, "p1");
5460       orc_program_add_temporary (p, 4, "t1");
5461
5462       orc_program_append_2 (p, "xorl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_C1,
5463           ORC_VAR_D1);
5464       orc_program_append_2 (p, "shrul", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_P1,
5465           ORC_VAR_D1);
5466       orc_program_append_2 (p, "swapl", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1,
5467           ORC_VAR_D1);
5468 #endif
5469
5470       orc_program_compile (p);
5471       c = orc_program_take_code (p);
5472       orc_program_free (p);
5473     }
5474     p_inited = TRUE;
5475     orc_once_mutex_unlock ();
5476   }
5477   ex->arrays[ORC_VAR_A2] = c;
5478   ex->program = 0;
5479
5480   ex->n = n;
5481   ex->arrays[ORC_VAR_D1] = d1;
5482   ex->arrays[ORC_VAR_S1] = (void *) s1;
5483   ex->params[ORC_VAR_P1] = p1;
5484
5485   func = c->exec;
5486   func (ex);
5487 }
5488 #endif
5489
5490
5491 /* audio_convert_orc_pack_s32_swap */
5492 #ifdef DISABLE_ORC
5493 void
5494 audio_convert_orc_pack_s32_swap (guint8 * ORC_RESTRICT d1,
5495     const gint32 * ORC_RESTRICT s1, int p1, int n)
5496 {
5497   int i;
5498   orc_union32 *ORC_RESTRICT ptr0;
5499   const orc_union32 *ORC_RESTRICT ptr4;
5500   orc_union32 var33;
5501   orc_union32 var34;
5502   orc_union32 var35;
5503
5504   ptr0 = (orc_union32 *) d1;
5505   ptr4 = (orc_union32 *) s1;
5506
5507
5508   for (i = 0; i < n; i++) {
5509     /* 0: loadl */
5510     var33 = ptr4[i];
5511     /* 1: shrsl */
5512     var35.i = var33.i >> p1;
5513     /* 2: swapl */
5514     var34.i = ORC_SWAP_L (var35.i);
5515     /* 3: storel */
5516     ptr0[i] = var34;
5517   }
5518
5519 }
5520
5521 #else
5522 static void
5523 _backup_audio_convert_orc_pack_s32_swap (OrcExecutor * ORC_RESTRICT ex)
5524 {
5525   int i;
5526   int n = ex->n;
5527   orc_union32 *ORC_RESTRICT ptr0;
5528   const orc_union32 *ORC_RESTRICT ptr4;
5529   orc_union32 var33;
5530   orc_union32 var34;
5531   orc_union32 var35;
5532
5533   ptr0 = (orc_union32 *) ex->arrays[0];
5534   ptr4 = (orc_union32 *) ex->arrays[4];
5535
5536
5537   for (i = 0; i < n; i++) {
5538     /* 0: loadl */
5539     var33 = ptr4[i];
5540     /* 1: shrsl */
5541     var35.i = var33.i >> ex->params[24];
5542     /* 2: swapl */
5543     var34.i = ORC_SWAP_L (var35.i);
5544     /* 3: storel */
5545     ptr0[i] = var34;
5546   }
5547
5548 }
5549
5550 void
5551 audio_convert_orc_pack_s32_swap (guint8 * ORC_RESTRICT d1,
5552     const gint32 * ORC_RESTRICT s1, int p1, int n)
5553 {
5554   OrcExecutor _ex, *ex = &_ex;
5555   static volatile int p_inited = 0;
5556   static OrcCode *c = 0;
5557   void (*func) (OrcExecutor *);
5558
5559   if (!p_inited) {
5560     orc_once_mutex_lock ();
5561     if (!p_inited) {
5562       OrcProgram *p;
5563
5564 #if 1
5565       static const orc_uint8 bc[] = {
5566         1, 9, 31, 97, 117, 100, 105, 111, 95, 99, 111, 110, 118, 101, 114, 116,
5567         95, 111, 114, 99, 95, 112, 97, 99, 107, 95, 115, 51, 50, 95, 115, 119,
5568         97, 112, 11, 4, 4, 12, 4, 4, 16, 4, 20, 4, 125, 32, 4, 24,
5569         184, 0, 32, 2, 0,
5570       };
5571       p = orc_program_new_from_static_bytecode (bc);
5572       orc_program_set_backup_function (p,
5573           _backup_audio_convert_orc_pack_s32_swap);
5574 #else
5575       p = orc_program_new ();
5576       orc_program_set_name (p, "audio_convert_orc_pack_s32_swap");
5577       orc_program_set_backup_function (p,
5578           _backup_audio_convert_orc_pack_s32_swap);
5579       orc_program_add_destination (p, 4, "d1");
5580       orc_program_add_source (p, 4, "s1");
5581       orc_program_add_parameter (p, 4, "p1");
5582       orc_program_add_temporary (p, 4, "t1");
5583
5584       orc_program_append_2 (p, "shrsl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_P1,
5585           ORC_VAR_D1);
5586       orc_program_append_2 (p, "swapl", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1,
5587           ORC_VAR_D1);
5588 #endif
5589
5590       orc_program_compile (p);
5591       c = orc_program_take_code (p);
5592       orc_program_free (p);
5593     }
5594     p_inited = TRUE;
5595     orc_once_mutex_unlock ();
5596   }
5597   ex->arrays[ORC_VAR_A2] = c;
5598   ex->program = 0;
5599
5600   ex->n = n;
5601   ex->arrays[ORC_VAR_D1] = d1;
5602   ex->arrays[ORC_VAR_S1] = (void *) s1;
5603   ex->params[ORC_VAR_P1] = p1;
5604
5605   func = c->exec;
5606   func (ex);
5607 }
5608 #endif
5609
5610
5611 /* audio_convert_orc_pack_s32_float */
5612 #ifdef DISABLE_ORC
5613 void
5614 audio_convert_orc_pack_s32_float (gfloat * ORC_RESTRICT d1,
5615     const gint32 * ORC_RESTRICT s1, int n)
5616 {
5617   int i;
5618   orc_union32 *ORC_RESTRICT ptr0;
5619   const orc_union32 *ORC_RESTRICT ptr4;
5620   orc_union32 var33;
5621 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
5622   volatile orc_union32 var34;
5623 #else
5624   orc_union32 var34;
5625 #endif
5626   orc_union32 var35;
5627   orc_union32 var36;
5628
5629   ptr0 = (orc_union32 *) d1;
5630   ptr4 = (orc_union32 *) s1;
5631
5632   /* 2: loadpl */
5633   var34.i = (int) 0x4f000000;   /* 1325400064 or 6.54835e-315f */
5634
5635   for (i = 0; i < n; i++) {
5636     /* 0: loadl */
5637     var33 = ptr4[i];
5638     /* 1: convlf */
5639     var35.f = var33.i;
5640     /* 3: divf */
5641     {
5642       orc_union32 _src1;
5643       orc_union32 _src2;
5644       orc_union32 _dest1;
5645       _src1.i = ORC_DENORMAL (var35.i);
5646       _src2.i = ORC_DENORMAL (var34.i);
5647       _dest1.f = _src1.f / _src2.f;
5648       var36.i = ORC_DENORMAL (_dest1.i);
5649     }
5650     /* 4: storel */
5651     ptr0[i] = var36;
5652   }
5653
5654 }
5655
5656 #else
5657 static void
5658 _backup_audio_convert_orc_pack_s32_float (OrcExecutor * ORC_RESTRICT ex)
5659 {
5660   int i;
5661   int n = ex->n;
5662   orc_union32 *ORC_RESTRICT ptr0;
5663   const orc_union32 *ORC_RESTRICT ptr4;
5664   orc_union32 var33;
5665 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
5666   volatile orc_union32 var34;
5667 #else
5668   orc_union32 var34;
5669 #endif
5670   orc_union32 var35;
5671   orc_union32 var36;
5672
5673   ptr0 = (orc_union32 *) ex->arrays[0];
5674   ptr4 = (orc_union32 *) ex->arrays[4];
5675
5676   /* 2: loadpl */
5677   var34.i = (int) 0x4f000000;   /* 1325400064 or 6.54835e-315f */
5678
5679   for (i = 0; i < n; i++) {
5680     /* 0: loadl */
5681     var33 = ptr4[i];
5682     /* 1: convlf */
5683     var35.f = var33.i;
5684     /* 3: divf */
5685     {
5686       orc_union32 _src1;
5687       orc_union32 _src2;
5688       orc_union32 _dest1;
5689       _src1.i = ORC_DENORMAL (var35.i);
5690       _src2.i = ORC_DENORMAL (var34.i);
5691       _dest1.f = _src1.f / _src2.f;
5692       var36.i = ORC_DENORMAL (_dest1.i);
5693     }
5694     /* 4: storel */
5695     ptr0[i] = var36;
5696   }
5697
5698 }
5699
5700 void
5701 audio_convert_orc_pack_s32_float (gfloat * ORC_RESTRICT d1,
5702     const gint32 * ORC_RESTRICT s1, int n)
5703 {
5704   OrcExecutor _ex, *ex = &_ex;
5705   static volatile int p_inited = 0;
5706   static OrcCode *c = 0;
5707   void (*func) (OrcExecutor *);
5708
5709   if (!p_inited) {
5710     orc_once_mutex_lock ();
5711     if (!p_inited) {
5712       OrcProgram *p;
5713
5714 #if 1
5715       static const orc_uint8 bc[] = {
5716         1, 9, 32, 97, 117, 100, 105, 111, 95, 99, 111, 110, 118, 101, 114, 116,
5717         95, 111, 114, 99, 95, 112, 97, 99, 107, 95, 115, 51, 50, 95, 102, 108,
5718         111, 97, 116, 11, 4, 4, 12, 4, 4, 14, 4, 0, 0, 0, 79, 20,
5719         4, 211, 32, 4, 203, 32, 32, 16, 128, 0, 32, 2, 0,
5720       };
5721       p = orc_program_new_from_static_bytecode (bc);
5722       orc_program_set_backup_function (p,
5723           _backup_audio_convert_orc_pack_s32_float);
5724 #else
5725       p = orc_program_new ();
5726       orc_program_set_name (p, "audio_convert_orc_pack_s32_float");
5727       orc_program_set_backup_function (p,
5728           _backup_audio_convert_orc_pack_s32_float);
5729       orc_program_add_destination (p, 4, "d1");
5730       orc_program_add_source (p, 4, "s1");
5731       orc_program_add_constant (p, 4, 0x4f000000, "c1");
5732       orc_program_add_temporary (p, 4, "t1");
5733
5734       orc_program_append_2 (p, "convlf", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
5735           ORC_VAR_D1);
5736       orc_program_append_2 (p, "divf", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
5737           ORC_VAR_D1);
5738       orc_program_append_2 (p, "storel", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1,
5739           ORC_VAR_D1);
5740 #endif
5741
5742       orc_program_compile (p);
5743       c = orc_program_take_code (p);
5744       orc_program_free (p);
5745     }
5746     p_inited = TRUE;
5747     orc_once_mutex_unlock ();
5748   }
5749   ex->arrays[ORC_VAR_A2] = c;
5750   ex->program = 0;
5751
5752   ex->n = n;
5753   ex->arrays[ORC_VAR_D1] = d1;
5754   ex->arrays[ORC_VAR_S1] = (void *) s1;
5755
5756   func = c->exec;
5757   func (ex);
5758 }
5759 #endif
5760
5761
5762 /* audio_convert_orc_pack_s32_float_swap */
5763 #ifdef DISABLE_ORC
5764 void
5765 audio_convert_orc_pack_s32_float_swap (gfloat * ORC_RESTRICT d1,
5766     const gint32 * ORC_RESTRICT s1, int n)
5767 {
5768   int i;
5769   orc_union32 *ORC_RESTRICT ptr0;
5770   const orc_union32 *ORC_RESTRICT ptr4;
5771   orc_union32 var33;
5772 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
5773   volatile orc_union32 var34;
5774 #else
5775   orc_union32 var34;
5776 #endif
5777   orc_union32 var35;
5778   orc_union32 var36;
5779   orc_union32 var37;
5780
5781   ptr0 = (orc_union32 *) d1;
5782   ptr4 = (orc_union32 *) s1;
5783
5784   /* 2: loadpl */
5785   var34.i = (int) 0x4f000000;   /* 1325400064 or 6.54835e-315f */
5786
5787   for (i = 0; i < n; i++) {
5788     /* 0: loadl */
5789     var33 = ptr4[i];
5790     /* 1: convlf */
5791     var36.f = var33.i;
5792     /* 3: divf */
5793     {
5794       orc_union32 _src1;
5795       orc_union32 _src2;
5796       orc_union32 _dest1;
5797       _src1.i = ORC_DENORMAL (var36.i);
5798       _src2.i = ORC_DENORMAL (var34.i);
5799       _dest1.f = _src1.f / _src2.f;
5800       var37.i = ORC_DENORMAL (_dest1.i);
5801     }
5802     /* 4: swapl */
5803     var35.i = ORC_SWAP_L (var37.i);
5804     /* 5: storel */
5805     ptr0[i] = var35;
5806   }
5807
5808 }
5809
5810 #else
5811 static void
5812 _backup_audio_convert_orc_pack_s32_float_swap (OrcExecutor * ORC_RESTRICT ex)
5813 {
5814   int i;
5815   int n = ex->n;
5816   orc_union32 *ORC_RESTRICT ptr0;
5817   const orc_union32 *ORC_RESTRICT ptr4;
5818   orc_union32 var33;
5819 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
5820   volatile orc_union32 var34;
5821 #else
5822   orc_union32 var34;
5823 #endif
5824   orc_union32 var35;
5825   orc_union32 var36;
5826   orc_union32 var37;
5827
5828   ptr0 = (orc_union32 *) ex->arrays[0];
5829   ptr4 = (orc_union32 *) ex->arrays[4];
5830
5831   /* 2: loadpl */
5832   var34.i = (int) 0x4f000000;   /* 1325400064 or 6.54835e-315f */
5833
5834   for (i = 0; i < n; i++) {
5835     /* 0: loadl */
5836     var33 = ptr4[i];
5837     /* 1: convlf */
5838     var36.f = var33.i;
5839     /* 3: divf */
5840     {
5841       orc_union32 _src1;
5842       orc_union32 _src2;
5843       orc_union32 _dest1;
5844       _src1.i = ORC_DENORMAL (var36.i);
5845       _src2.i = ORC_DENORMAL (var34.i);
5846       _dest1.f = _src1.f / _src2.f;
5847       var37.i = ORC_DENORMAL (_dest1.i);
5848     }
5849     /* 4: swapl */
5850     var35.i = ORC_SWAP_L (var37.i);
5851     /* 5: storel */
5852     ptr0[i] = var35;
5853   }
5854
5855 }
5856
5857 void
5858 audio_convert_orc_pack_s32_float_swap (gfloat * ORC_RESTRICT d1,
5859     const gint32 * ORC_RESTRICT s1, int n)
5860 {
5861   OrcExecutor _ex, *ex = &_ex;
5862   static volatile int p_inited = 0;
5863   static OrcCode *c = 0;
5864   void (*func) (OrcExecutor *);
5865
5866   if (!p_inited) {
5867     orc_once_mutex_lock ();
5868     if (!p_inited) {
5869       OrcProgram *p;
5870
5871 #if 1
5872       static const orc_uint8 bc[] = {
5873         1, 9, 37, 97, 117, 100, 105, 111, 95, 99, 111, 110, 118, 101, 114, 116,
5874         95, 111, 114, 99, 95, 112, 97, 99, 107, 95, 115, 51, 50, 95, 102, 108,
5875         111, 97, 116, 95, 115, 119, 97, 112, 11, 4, 4, 12, 4, 4, 14, 4,
5876         0, 0, 0, 79, 20, 4, 211, 32, 4, 203, 32, 32, 16, 184, 0, 32,
5877         2, 0,
5878       };
5879       p = orc_program_new_from_static_bytecode (bc);
5880       orc_program_set_backup_function (p,
5881           _backup_audio_convert_orc_pack_s32_float_swap);
5882 #else
5883       p = orc_program_new ();
5884       orc_program_set_name (p, "audio_convert_orc_pack_s32_float_swap");
5885       orc_program_set_backup_function (p,
5886           _backup_audio_convert_orc_pack_s32_float_swap);
5887       orc_program_add_destination (p, 4, "d1");
5888       orc_program_add_source (p, 4, "s1");
5889       orc_program_add_constant (p, 4, 0x4f000000, "c1");
5890       orc_program_add_temporary (p, 4, "t1");
5891
5892       orc_program_append_2 (p, "convlf", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
5893           ORC_VAR_D1);
5894       orc_program_append_2 (p, "divf", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
5895           ORC_VAR_D1);
5896       orc_program_append_2 (p, "swapl", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1,
5897           ORC_VAR_D1);
5898 #endif
5899
5900       orc_program_compile (p);
5901       c = orc_program_take_code (p);
5902       orc_program_free (p);
5903     }
5904     p_inited = TRUE;
5905     orc_once_mutex_unlock ();
5906   }
5907   ex->arrays[ORC_VAR_A2] = c;
5908   ex->program = 0;
5909
5910   ex->n = n;
5911   ex->arrays[ORC_VAR_D1] = d1;
5912   ex->arrays[ORC_VAR_S1] = (void *) s1;
5913
5914   func = c->exec;
5915   func (ex);
5916 }
5917 #endif
5918
5919
5920 /* audio_convert_orc_pack_s32_double */
5921 #ifdef DISABLE_ORC
5922 void
5923 audio_convert_orc_pack_s32_double (gdouble * ORC_RESTRICT d1,
5924     const gint32 * ORC_RESTRICT s1, int n)
5925 {
5926   int i;
5927   orc_union64 *ORC_RESTRICT ptr0;
5928   const orc_union32 *ORC_RESTRICT ptr4;
5929   orc_union32 var33;
5930 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
5931   volatile orc_union64 var34;
5932 #else
5933   orc_union64 var34;
5934 #endif
5935   orc_union64 var35;
5936   orc_union64 var36;
5937
5938   ptr0 = (orc_union64 *) d1;
5939   ptr4 = (orc_union32 *) s1;
5940
5941   /* 2: loadpq */
5942   var34.i = ORC_UINT64_C (0x41dfffffffc00000);  /* 2.14748e+09f */
5943
5944   for (i = 0; i < n; i++) {
5945     /* 0: loadl */
5946     var33 = ptr4[i];
5947     /* 1: convld */
5948     var35.f = var33.i;
5949     /* 3: divd */
5950     {
5951       orc_union64 _src1;
5952       orc_union64 _src2;
5953       orc_union64 _dest1;
5954       _src1.i = ORC_DENORMAL_DOUBLE (var35.i);
5955       _src2.i = ORC_DENORMAL_DOUBLE (var34.i);
5956       _dest1.f = _src1.f / _src2.f;
5957       var36.i = ORC_DENORMAL_DOUBLE (_dest1.i);
5958     }
5959     /* 4: storeq */
5960     ptr0[i] = var36;
5961   }
5962
5963 }
5964
5965 #else
5966 static void
5967 _backup_audio_convert_orc_pack_s32_double (OrcExecutor * ORC_RESTRICT ex)
5968 {
5969   int i;
5970   int n = ex->n;
5971   orc_union64 *ORC_RESTRICT ptr0;
5972   const orc_union32 *ORC_RESTRICT ptr4;
5973   orc_union32 var33;
5974 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
5975   volatile orc_union64 var34;
5976 #else
5977   orc_union64 var34;
5978 #endif
5979   orc_union64 var35;
5980   orc_union64 var36;
5981
5982   ptr0 = (orc_union64 *) ex->arrays[0];
5983   ptr4 = (orc_union32 *) ex->arrays[4];
5984
5985   /* 2: loadpq */
5986   var34.i = ORC_UINT64_C (0x41dfffffffc00000);  /* 2.14748e+09f */
5987
5988   for (i = 0; i < n; i++) {
5989     /* 0: loadl */
5990     var33 = ptr4[i];
5991     /* 1: convld */
5992     var35.f = var33.i;
5993     /* 3: divd */
5994     {
5995       orc_union64 _src1;
5996       orc_union64 _src2;
5997       orc_union64 _dest1;
5998       _src1.i = ORC_DENORMAL_DOUBLE (var35.i);
5999       _src2.i = ORC_DENORMAL_DOUBLE (var34.i);
6000       _dest1.f = _src1.f / _src2.f;
6001       var36.i = ORC_DENORMAL_DOUBLE (_dest1.i);
6002     }
6003     /* 4: storeq */
6004     ptr0[i] = var36;
6005   }
6006
6007 }
6008
6009 void
6010 audio_convert_orc_pack_s32_double (gdouble * ORC_RESTRICT d1,
6011     const gint32 * ORC_RESTRICT s1, int n)
6012 {
6013   OrcExecutor _ex, *ex = &_ex;
6014   static volatile int p_inited = 0;
6015   static OrcCode *c = 0;
6016   void (*func) (OrcExecutor *);
6017
6018   if (!p_inited) {
6019     orc_once_mutex_lock ();
6020     if (!p_inited) {
6021       OrcProgram *p;
6022
6023 #if 1
6024       static const orc_uint8 bc[] = {
6025         1, 9, 33, 97, 117, 100, 105, 111, 95, 99, 111, 110, 118, 101, 114, 116,
6026         95, 111, 114, 99, 95, 112, 97, 99, 107, 95, 115, 51, 50, 95, 100, 111,
6027         117, 98, 108, 101, 11, 8, 8, 12, 4, 4, 15, 8, 0, 0, 192, 255,
6028         255, 255, 223, 65, 20, 8, 223, 32, 4, 215, 32, 32, 16, 135, 0, 32,
6029         2, 0,
6030       };
6031       p = orc_program_new_from_static_bytecode (bc);
6032       orc_program_set_backup_function (p,
6033           _backup_audio_convert_orc_pack_s32_double);
6034 #else
6035       p = orc_program_new ();
6036       orc_program_set_name (p, "audio_convert_orc_pack_s32_double");
6037       orc_program_set_backup_function (p,
6038           _backup_audio_convert_orc_pack_s32_double);
6039       orc_program_add_destination (p, 8, "d1");
6040       orc_program_add_source (p, 4, "s1");
6041       orc_program_add_constant_int64 (p, 8, 0x41dfffffffc00000ULL, "c1");
6042       orc_program_add_temporary (p, 8, "t1");
6043
6044       orc_program_append_2 (p, "convld", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
6045           ORC_VAR_D1);
6046       orc_program_append_2 (p, "divd", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
6047           ORC_VAR_D1);
6048       orc_program_append_2 (p, "storeq", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1,
6049           ORC_VAR_D1);
6050 #endif
6051
6052       orc_program_compile (p);
6053       c = orc_program_take_code (p);
6054       orc_program_free (p);
6055     }
6056     p_inited = TRUE;
6057     orc_once_mutex_unlock ();
6058   }
6059   ex->arrays[ORC_VAR_A2] = c;
6060   ex->program = 0;
6061
6062   ex->n = n;
6063   ex->arrays[ORC_VAR_D1] = d1;
6064   ex->arrays[ORC_VAR_S1] = (void *) s1;
6065
6066   func = c->exec;
6067   func (ex);
6068 }
6069 #endif
6070
6071
6072 /* audio_convert_orc_pack_s32_double_swap */
6073 #ifdef DISABLE_ORC
6074 void
6075 audio_convert_orc_pack_s32_double_swap (gdouble * ORC_RESTRICT d1,
6076     const gint32 * ORC_RESTRICT s1, int n)
6077 {
6078   int i;
6079   orc_union64 *ORC_RESTRICT ptr0;
6080   const orc_union32 *ORC_RESTRICT ptr4;
6081   orc_union32 var33;
6082 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
6083   volatile orc_union64 var34;
6084 #else
6085   orc_union64 var34;
6086 #endif
6087   orc_union64 var35;
6088   orc_union64 var36;
6089   orc_union64 var37;
6090
6091   ptr0 = (orc_union64 *) d1;
6092   ptr4 = (orc_union32 *) s1;
6093
6094   /* 2: loadpq */
6095   var34.i = ORC_UINT64_C (0x41dfffffffc00000);  /* 2.14748e+09f */
6096
6097   for (i = 0; i < n; i++) {
6098     /* 0: loadl */
6099     var33 = ptr4[i];
6100     /* 1: convld */
6101     var36.f = var33.i;
6102     /* 3: divd */
6103     {
6104       orc_union64 _src1;
6105       orc_union64 _src2;
6106       orc_union64 _dest1;
6107       _src1.i = ORC_DENORMAL_DOUBLE (var36.i);
6108       _src2.i = ORC_DENORMAL_DOUBLE (var34.i);
6109       _dest1.f = _src1.f / _src2.f;
6110       var37.i = ORC_DENORMAL_DOUBLE (_dest1.i);
6111     }
6112     /* 4: swapq */
6113     var35.i = ORC_SWAP_Q (var37.i);
6114     /* 5: storeq */
6115     ptr0[i] = var35;
6116   }
6117
6118 }
6119
6120 #else
6121 static void
6122 _backup_audio_convert_orc_pack_s32_double_swap (OrcExecutor * ORC_RESTRICT ex)
6123 {
6124   int i;
6125   int n = ex->n;
6126   orc_union64 *ORC_RESTRICT ptr0;
6127   const orc_union32 *ORC_RESTRICT ptr4;
6128   orc_union32 var33;
6129 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
6130   volatile orc_union64 var34;
6131 #else
6132   orc_union64 var34;
6133 #endif
6134   orc_union64 var35;
6135   orc_union64 var36;
6136   orc_union64 var37;
6137
6138   ptr0 = (orc_union64 *) ex->arrays[0];
6139   ptr4 = (orc_union32 *) ex->arrays[4];
6140
6141   /* 2: loadpq */
6142   var34.i = ORC_UINT64_C (0x41dfffffffc00000);  /* 2.14748e+09f */
6143
6144   for (i = 0; i < n; i++) {
6145     /* 0: loadl */
6146     var33 = ptr4[i];
6147     /* 1: convld */
6148     var36.f = var33.i;
6149     /* 3: divd */
6150     {
6151       orc_union64 _src1;
6152       orc_union64 _src2;
6153       orc_union64 _dest1;
6154       _src1.i = ORC_DENORMAL_DOUBLE (var36.i);
6155       _src2.i = ORC_DENORMAL_DOUBLE (var34.i);
6156       _dest1.f = _src1.f / _src2.f;
6157       var37.i = ORC_DENORMAL_DOUBLE (_dest1.i);
6158     }
6159     /* 4: swapq */
6160     var35.i = ORC_SWAP_Q (var37.i);
6161     /* 5: storeq */
6162     ptr0[i] = var35;
6163   }
6164
6165 }
6166
6167 void
6168 audio_convert_orc_pack_s32_double_swap (gdouble * ORC_RESTRICT d1,
6169     const gint32 * ORC_RESTRICT s1, int n)
6170 {
6171   OrcExecutor _ex, *ex = &_ex;
6172   static volatile int p_inited = 0;
6173   static OrcCode *c = 0;
6174   void (*func) (OrcExecutor *);
6175
6176   if (!p_inited) {
6177     orc_once_mutex_lock ();
6178     if (!p_inited) {
6179       OrcProgram *p;
6180
6181 #if 1
6182       static const orc_uint8 bc[] = {
6183         1, 9, 38, 97, 117, 100, 105, 111, 95, 99, 111, 110, 118, 101, 114, 116,
6184         95, 111, 114, 99, 95, 112, 97, 99, 107, 95, 115, 51, 50, 95, 100, 111,
6185         117, 98, 108, 101, 95, 115, 119, 97, 112, 11, 8, 8, 12, 4, 4, 15,
6186         8, 0, 0, 192, 255, 255, 255, 223, 65, 20, 8, 223, 32, 4, 215, 32,
6187         32, 16, 186, 0, 32, 2, 0,
6188       };
6189       p = orc_program_new_from_static_bytecode (bc);
6190       orc_program_set_backup_function (p,
6191           _backup_audio_convert_orc_pack_s32_double_swap);
6192 #else
6193       p = orc_program_new ();
6194       orc_program_set_name (p, "audio_convert_orc_pack_s32_double_swap");
6195       orc_program_set_backup_function (p,
6196           _backup_audio_convert_orc_pack_s32_double_swap);
6197       orc_program_add_destination (p, 8, "d1");
6198       orc_program_add_source (p, 4, "s1");
6199       orc_program_add_constant_int64 (p, 8, 0x41dfffffffc00000ULL, "c1");
6200       orc_program_add_temporary (p, 8, "t1");
6201
6202       orc_program_append_2 (p, "convld", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
6203           ORC_VAR_D1);
6204       orc_program_append_2 (p, "divd", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
6205           ORC_VAR_D1);
6206       orc_program_append_2 (p, "swapq", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1,
6207           ORC_VAR_D1);
6208 #endif
6209
6210       orc_program_compile (p);
6211       c = orc_program_take_code (p);
6212       orc_program_free (p);
6213     }
6214     p_inited = TRUE;
6215     orc_once_mutex_unlock ();
6216   }
6217   ex->arrays[ORC_VAR_A2] = c;
6218   ex->program = 0;
6219
6220   ex->n = n;
6221   ex->arrays[ORC_VAR_D1] = d1;
6222   ex->arrays[ORC_VAR_S1] = (void *) s1;
6223
6224   func = c->exec;
6225   func (ex);
6226 }
6227 #endif
6228
6229
6230 /* audio_convert_orc_pack_double_float */
6231 #ifdef DISABLE_ORC
6232 void
6233 audio_convert_orc_pack_double_float (gfloat * ORC_RESTRICT d1,
6234     const gdouble * ORC_RESTRICT s1, int n)
6235 {
6236   int i;
6237   orc_union32 *ORC_RESTRICT ptr0;
6238   const orc_union64 *ORC_RESTRICT ptr4;
6239   orc_union64 var32;
6240   orc_union32 var33;
6241
6242   ptr0 = (orc_union32 *) d1;
6243   ptr4 = (orc_union64 *) s1;
6244
6245
6246   for (i = 0; i < n; i++) {
6247     /* 0: loadq */
6248     var32 = ptr4[i];
6249     /* 1: convdf */
6250     {
6251       orc_union64 _src1;
6252       orc_union32 _dest;
6253       _src1.i = ORC_DENORMAL_DOUBLE (var32.i);
6254       _dest.f = _src1.f;
6255       var33.i = ORC_DENORMAL (_dest.i);
6256     }
6257     /* 2: storel */
6258     ptr0[i] = var33;
6259   }
6260
6261 }
6262
6263 #else
6264 static void
6265 _backup_audio_convert_orc_pack_double_float (OrcExecutor * ORC_RESTRICT ex)
6266 {
6267   int i;
6268   int n = ex->n;
6269   orc_union32 *ORC_RESTRICT ptr0;
6270   const orc_union64 *ORC_RESTRICT ptr4;
6271   orc_union64 var32;
6272   orc_union32 var33;
6273
6274   ptr0 = (orc_union32 *) ex->arrays[0];
6275   ptr4 = (orc_union64 *) ex->arrays[4];
6276
6277
6278   for (i = 0; i < n; i++) {
6279     /* 0: loadq */
6280     var32 = ptr4[i];
6281     /* 1: convdf */
6282     {
6283       orc_union64 _src1;
6284       orc_union32 _dest;
6285       _src1.i = ORC_DENORMAL_DOUBLE (var32.i);
6286       _dest.f = _src1.f;
6287       var33.i = ORC_DENORMAL (_dest.i);
6288     }
6289     /* 2: storel */
6290     ptr0[i] = var33;
6291   }
6292
6293 }
6294
6295 void
6296 audio_convert_orc_pack_double_float (gfloat * ORC_RESTRICT d1,
6297     const gdouble * ORC_RESTRICT s1, int n)
6298 {
6299   OrcExecutor _ex, *ex = &_ex;
6300   static volatile int p_inited = 0;
6301   static OrcCode *c = 0;
6302   void (*func) (OrcExecutor *);
6303
6304   if (!p_inited) {
6305     orc_once_mutex_lock ();
6306     if (!p_inited) {
6307       OrcProgram *p;
6308
6309 #if 1
6310       static const orc_uint8 bc[] = {
6311         1, 9, 35, 97, 117, 100, 105, 111, 95, 99, 111, 110, 118, 101, 114, 116,
6312         95, 111, 114, 99, 95, 112, 97, 99, 107, 95, 100, 111, 117, 98, 108, 101,
6313         95, 102, 108, 111, 97, 116, 11, 4, 4, 12, 8, 8, 225, 0, 4, 2,
6314         0,
6315       };
6316       p = orc_program_new_from_static_bytecode (bc);
6317       orc_program_set_backup_function (p,
6318           _backup_audio_convert_orc_pack_double_float);
6319 #else
6320       p = orc_program_new ();
6321       orc_program_set_name (p, "audio_convert_orc_pack_double_float");
6322       orc_program_set_backup_function (p,
6323           _backup_audio_convert_orc_pack_double_float);
6324       orc_program_add_destination (p, 4, "d1");
6325       orc_program_add_source (p, 8, "s1");
6326
6327       orc_program_append_2 (p, "convdf", 0, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_D1,
6328           ORC_VAR_D1);
6329 #endif
6330
6331       orc_program_compile (p);
6332       c = orc_program_take_code (p);
6333       orc_program_free (p);
6334     }
6335     p_inited = TRUE;
6336     orc_once_mutex_unlock ();
6337   }
6338   ex->arrays[ORC_VAR_A2] = c;
6339   ex->program = 0;
6340
6341   ex->n = n;
6342   ex->arrays[ORC_VAR_D1] = d1;
6343   ex->arrays[ORC_VAR_S1] = (void *) s1;
6344
6345   func = c->exec;
6346   func (ex);
6347 }
6348 #endif
6349
6350
6351 /* audio_convert_orc_pack_double_float_swap */
6352 #ifdef DISABLE_ORC
6353 void
6354 audio_convert_orc_pack_double_float_swap (gfloat * ORC_RESTRICT d1,
6355     const gdouble * ORC_RESTRICT s1, int n)
6356 {
6357   int i;
6358   orc_union32 *ORC_RESTRICT ptr0;
6359   const orc_union64 *ORC_RESTRICT ptr4;
6360   orc_union64 var33;
6361   orc_union32 var34;
6362   orc_union32 var35;
6363
6364   ptr0 = (orc_union32 *) d1;
6365   ptr4 = (orc_union64 *) s1;
6366
6367
6368   for (i = 0; i < n; i++) {
6369     /* 0: loadq */
6370     var33 = ptr4[i];
6371     /* 1: convdf */
6372     {
6373       orc_union64 _src1;
6374       orc_union32 _dest;
6375       _src1.i = ORC_DENORMAL_DOUBLE (var33.i);
6376       _dest.f = _src1.f;
6377       var35.i = ORC_DENORMAL (_dest.i);
6378     }
6379     /* 2: swapl */
6380     var34.i = ORC_SWAP_L (var35.i);
6381     /* 3: storel */
6382     ptr0[i] = var34;
6383   }
6384
6385 }
6386
6387 #else
6388 static void
6389 _backup_audio_convert_orc_pack_double_float_swap (OrcExecutor * ORC_RESTRICT ex)
6390 {
6391   int i;
6392   int n = ex->n;
6393   orc_union32 *ORC_RESTRICT ptr0;
6394   const orc_union64 *ORC_RESTRICT ptr4;
6395   orc_union64 var33;
6396   orc_union32 var34;
6397   orc_union32 var35;
6398
6399   ptr0 = (orc_union32 *) ex->arrays[0];
6400   ptr4 = (orc_union64 *) ex->arrays[4];
6401
6402
6403   for (i = 0; i < n; i++) {
6404     /* 0: loadq */
6405     var33 = ptr4[i];
6406     /* 1: convdf */
6407     {
6408       orc_union64 _src1;
6409       orc_union32 _dest;
6410       _src1.i = ORC_DENORMAL_DOUBLE (var33.i);
6411       _dest.f = _src1.f;
6412       var35.i = ORC_DENORMAL (_dest.i);
6413     }
6414     /* 2: swapl */
6415     var34.i = ORC_SWAP_L (var35.i);
6416     /* 3: storel */
6417     ptr0[i] = var34;
6418   }
6419
6420 }
6421
6422 void
6423 audio_convert_orc_pack_double_float_swap (gfloat * ORC_RESTRICT d1,
6424     const gdouble * ORC_RESTRICT s1, int n)
6425 {
6426   OrcExecutor _ex, *ex = &_ex;
6427   static volatile int p_inited = 0;
6428   static OrcCode *c = 0;
6429   void (*func) (OrcExecutor *);
6430
6431   if (!p_inited) {
6432     orc_once_mutex_lock ();
6433     if (!p_inited) {
6434       OrcProgram *p;
6435
6436 #if 1
6437       static const orc_uint8 bc[] = {
6438         1, 9, 40, 97, 117, 100, 105, 111, 95, 99, 111, 110, 118, 101, 114, 116,
6439         95, 111, 114, 99, 95, 112, 97, 99, 107, 95, 100, 111, 117, 98, 108, 101,
6440         95, 102, 108, 111, 97, 116, 95, 115, 119, 97, 112, 11, 4, 4, 12, 8,
6441         8, 20, 4, 225, 32, 4, 184, 0, 32, 2, 0,
6442       };
6443       p = orc_program_new_from_static_bytecode (bc);
6444       orc_program_set_backup_function (p,
6445           _backup_audio_convert_orc_pack_double_float_swap);
6446 #else
6447       p = orc_program_new ();
6448       orc_program_set_name (p, "audio_convert_orc_pack_double_float_swap");
6449       orc_program_set_backup_function (p,
6450           _backup_audio_convert_orc_pack_double_float_swap);
6451       orc_program_add_destination (p, 4, "d1");
6452       orc_program_add_source (p, 8, "s1");
6453       orc_program_add_temporary (p, 4, "t1");
6454
6455       orc_program_append_2 (p, "convdf", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
6456           ORC_VAR_D1);
6457       orc_program_append_2 (p, "swapl", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1,
6458           ORC_VAR_D1);
6459 #endif
6460
6461       orc_program_compile (p);
6462       c = orc_program_take_code (p);
6463       orc_program_free (p);
6464     }
6465     p_inited = TRUE;
6466     orc_once_mutex_unlock ();
6467   }
6468   ex->arrays[ORC_VAR_A2] = c;
6469   ex->program = 0;
6470
6471   ex->n = n;
6472   ex->arrays[ORC_VAR_D1] = d1;
6473   ex->arrays[ORC_VAR_S1] = (void *) s1;
6474
6475   func = c->exec;
6476   func (ex);
6477 }
6478 #endif
6479
6480
6481 /* audio_convert_orc_pack_double_u8 */
6482 #ifdef DISABLE_ORC
6483 void
6484 audio_convert_orc_pack_double_u8 (guint8 * ORC_RESTRICT d1,
6485     const gdouble * ORC_RESTRICT s1, int p1, int n)
6486 {
6487   int i;
6488   orc_int8 *ORC_RESTRICT ptr0;
6489   const orc_union64 *ORC_RESTRICT ptr4;
6490   orc_union64 var34;
6491 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
6492   volatile orc_union32 var35;
6493 #else
6494   orc_union32 var35;
6495 #endif
6496   orc_int8 var36;
6497   orc_union32 var37;
6498   orc_union32 var38;
6499   orc_union32 var39;
6500   orc_union16 var40;
6501
6502   ptr0 = (orc_int8 *) d1;
6503   ptr4 = (orc_union64 *) s1;
6504
6505   /* 2: loadpl */
6506   var35.i = (int) 0x80000000;   /* -2147483648 or 1.061e-314f */
6507
6508   for (i = 0; i < n; i++) {
6509     /* 0: loadq */
6510     var34 = ptr4[i];
6511     /* 1: convdl */
6512     {
6513       int tmp;
6514       tmp = var34.f;
6515       if (tmp == 0x80000000 && !(var34.i & ORC_UINT64_C (0x8000000000000000)))
6516         tmp = 0x7fffffff;
6517       var37.i = tmp;
6518     }
6519     /* 3: xorl */
6520     var38.i = var37.i ^ var35.i;
6521     /* 4: shrul */
6522     var39.i = ((orc_uint32) var38.i) >> p1;
6523     /* 5: convlw */
6524     var40.i = var39.i;
6525     /* 6: convwb */
6526     var36 = var40.i;
6527     /* 7: storeb */
6528     ptr0[i] = var36;
6529   }
6530
6531 }
6532
6533 #else
6534 static void
6535 _backup_audio_convert_orc_pack_double_u8 (OrcExecutor * ORC_RESTRICT ex)
6536 {
6537   int i;
6538   int n = ex->n;
6539   orc_int8 *ORC_RESTRICT ptr0;
6540   const orc_union64 *ORC_RESTRICT ptr4;
6541   orc_union64 var34;
6542 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
6543   volatile orc_union32 var35;
6544 #else
6545   orc_union32 var35;
6546 #endif
6547   orc_int8 var36;
6548   orc_union32 var37;
6549   orc_union32 var38;
6550   orc_union32 var39;
6551   orc_union16 var40;
6552
6553   ptr0 = (orc_int8 *) ex->arrays[0];
6554   ptr4 = (orc_union64 *) ex->arrays[4];
6555
6556   /* 2: loadpl */
6557   var35.i = (int) 0x80000000;   /* -2147483648 or 1.061e-314f */
6558
6559   for (i = 0; i < n; i++) {
6560     /* 0: loadq */
6561     var34 = ptr4[i];
6562     /* 1: convdl */
6563     {
6564       int tmp;
6565       tmp = var34.f;
6566       if (tmp == 0x80000000 && !(var34.i & ORC_UINT64_C (0x8000000000000000)))
6567         tmp = 0x7fffffff;
6568       var37.i = tmp;
6569     }
6570     /* 3: xorl */
6571     var38.i = var37.i ^ var35.i;
6572     /* 4: shrul */
6573     var39.i = ((orc_uint32) var38.i) >> ex->params[24];
6574     /* 5: convlw */
6575     var40.i = var39.i;
6576     /* 6: convwb */
6577     var36 = var40.i;
6578     /* 7: storeb */
6579     ptr0[i] = var36;
6580   }
6581
6582 }
6583
6584 void
6585 audio_convert_orc_pack_double_u8 (guint8 * ORC_RESTRICT d1,
6586     const gdouble * ORC_RESTRICT s1, int p1, int n)
6587 {
6588   OrcExecutor _ex, *ex = &_ex;
6589   static volatile int p_inited = 0;
6590   static OrcCode *c = 0;
6591   void (*func) (OrcExecutor *);
6592
6593   if (!p_inited) {
6594     orc_once_mutex_lock ();
6595     if (!p_inited) {
6596       OrcProgram *p;
6597
6598 #if 1
6599       static const orc_uint8 bc[] = {
6600         1, 9, 32, 97, 117, 100, 105, 111, 95, 99, 111, 110, 118, 101, 114, 116,
6601         95, 111, 114, 99, 95, 112, 97, 99, 107, 95, 100, 111, 117, 98, 108, 101,
6602         95, 117, 56, 11, 1, 1, 12, 8, 8, 14, 4, 0, 0, 0, 128, 16,
6603         4, 20, 4, 20, 2, 222, 32, 4, 132, 32, 32, 16, 126, 32, 32, 24,
6604         163, 33, 32, 157, 0, 33, 2, 0,
6605       };
6606       p = orc_program_new_from_static_bytecode (bc);
6607       orc_program_set_backup_function (p,
6608           _backup_audio_convert_orc_pack_double_u8);
6609 #else
6610       p = orc_program_new ();
6611       orc_program_set_name (p, "audio_convert_orc_pack_double_u8");
6612       orc_program_set_backup_function (p,
6613           _backup_audio_convert_orc_pack_double_u8);
6614       orc_program_add_destination (p, 1, "d1");
6615       orc_program_add_source (p, 8, "s1");
6616       orc_program_add_constant (p, 4, 0x80000000, "c1");
6617       orc_program_add_parameter (p, 4, "p1");
6618       orc_program_add_temporary (p, 4, "t1");
6619       orc_program_add_temporary (p, 2, "t2");
6620
6621       orc_program_append_2 (p, "convdl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
6622           ORC_VAR_D1);
6623       orc_program_append_2 (p, "xorl", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
6624           ORC_VAR_D1);
6625       orc_program_append_2 (p, "shrul", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_P1,
6626           ORC_VAR_D1);
6627       orc_program_append_2 (p, "convlw", 0, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_D1,
6628           ORC_VAR_D1);
6629       orc_program_append_2 (p, "convwb", 0, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_D1,
6630           ORC_VAR_D1);
6631 #endif
6632
6633       orc_program_compile (p);
6634       c = orc_program_take_code (p);
6635       orc_program_free (p);
6636     }
6637     p_inited = TRUE;
6638     orc_once_mutex_unlock ();
6639   }
6640   ex->arrays[ORC_VAR_A2] = c;
6641   ex->program = 0;
6642
6643   ex->n = n;
6644   ex->arrays[ORC_VAR_D1] = d1;
6645   ex->arrays[ORC_VAR_S1] = (void *) s1;
6646   ex->params[ORC_VAR_P1] = p1;
6647
6648   func = c->exec;
6649   func (ex);
6650 }
6651 #endif
6652
6653
6654 /* audio_convert_orc_pack_double_s8 */
6655 #ifdef DISABLE_ORC
6656 void
6657 audio_convert_orc_pack_double_s8 (guint8 * ORC_RESTRICT d1,
6658     const gdouble * ORC_RESTRICT s1, int p1, int n)
6659 {
6660   int i;
6661   orc_int8 *ORC_RESTRICT ptr0;
6662   const orc_union64 *ORC_RESTRICT ptr4;
6663   orc_union64 var34;
6664   orc_int8 var35;
6665   orc_union32 var36;
6666   orc_union32 var37;
6667   orc_union16 var38;
6668
6669   ptr0 = (orc_int8 *) d1;
6670   ptr4 = (orc_union64 *) s1;
6671
6672
6673   for (i = 0; i < n; i++) {
6674     /* 0: loadq */
6675     var34 = ptr4[i];
6676     /* 1: convdl */
6677     {
6678       int tmp;
6679       tmp = var34.f;
6680       if (tmp == 0x80000000 && !(var34.i & ORC_UINT64_C (0x8000000000000000)))
6681         tmp = 0x7fffffff;
6682       var36.i = tmp;
6683     }
6684     /* 2: shrsl */
6685     var37.i = var36.i >> p1;
6686     /* 3: convlw */
6687     var38.i = var37.i;
6688     /* 4: convwb */
6689     var35 = var38.i;
6690     /* 5: storeb */
6691     ptr0[i] = var35;
6692   }
6693
6694 }
6695
6696 #else
6697 static void
6698 _backup_audio_convert_orc_pack_double_s8 (OrcExecutor * ORC_RESTRICT ex)
6699 {
6700   int i;
6701   int n = ex->n;
6702   orc_int8 *ORC_RESTRICT ptr0;
6703   const orc_union64 *ORC_RESTRICT ptr4;
6704   orc_union64 var34;
6705   orc_int8 var35;
6706   orc_union32 var36;
6707   orc_union32 var37;
6708   orc_union16 var38;
6709
6710   ptr0 = (orc_int8 *) ex->arrays[0];
6711   ptr4 = (orc_union64 *) ex->arrays[4];
6712
6713
6714   for (i = 0; i < n; i++) {
6715     /* 0: loadq */
6716     var34 = ptr4[i];
6717     /* 1: convdl */
6718     {
6719       int tmp;
6720       tmp = var34.f;
6721       if (tmp == 0x80000000 && !(var34.i & ORC_UINT64_C (0x8000000000000000)))
6722         tmp = 0x7fffffff;
6723       var36.i = tmp;
6724     }
6725     /* 2: shrsl */
6726     var37.i = var36.i >> ex->params[24];
6727     /* 3: convlw */
6728     var38.i = var37.i;
6729     /* 4: convwb */
6730     var35 = var38.i;
6731     /* 5: storeb */
6732     ptr0[i] = var35;
6733   }
6734
6735 }
6736
6737 void
6738 audio_convert_orc_pack_double_s8 (guint8 * ORC_RESTRICT d1,
6739     const gdouble * ORC_RESTRICT s1, int p1, int n)
6740 {
6741   OrcExecutor _ex, *ex = &_ex;
6742   static volatile int p_inited = 0;
6743   static OrcCode *c = 0;
6744   void (*func) (OrcExecutor *);
6745
6746   if (!p_inited) {
6747     orc_once_mutex_lock ();
6748     if (!p_inited) {
6749       OrcProgram *p;
6750
6751 #if 1
6752       static const orc_uint8 bc[] = {
6753         1, 9, 32, 97, 117, 100, 105, 111, 95, 99, 111, 110, 118, 101, 114, 116,
6754         95, 111, 114, 99, 95, 112, 97, 99, 107, 95, 100, 111, 117, 98, 108, 101,
6755         95, 115, 56, 11, 1, 1, 12, 8, 8, 16, 4, 20, 4, 20, 2, 222,
6756         32, 4, 125, 32, 32, 24, 163, 33, 32, 157, 0, 33, 2, 0,
6757       };
6758       p = orc_program_new_from_static_bytecode (bc);
6759       orc_program_set_backup_function (p,
6760           _backup_audio_convert_orc_pack_double_s8);
6761 #else
6762       p = orc_program_new ();
6763       orc_program_set_name (p, "audio_convert_orc_pack_double_s8");
6764       orc_program_set_backup_function (p,
6765           _backup_audio_convert_orc_pack_double_s8);
6766       orc_program_add_destination (p, 1, "d1");
6767       orc_program_add_source (p, 8, "s1");
6768       orc_program_add_parameter (p, 4, "p1");
6769       orc_program_add_temporary (p, 4, "t1");
6770       orc_program_add_temporary (p, 2, "t2");
6771
6772       orc_program_append_2 (p, "convdl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
6773           ORC_VAR_D1);
6774       orc_program_append_2 (p, "shrsl", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_P1,
6775           ORC_VAR_D1);
6776       orc_program_append_2 (p, "convlw", 0, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_D1,
6777           ORC_VAR_D1);
6778       orc_program_append_2 (p, "convwb", 0, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_D1,
6779           ORC_VAR_D1);
6780 #endif
6781
6782       orc_program_compile (p);
6783       c = orc_program_take_code (p);
6784       orc_program_free (p);
6785     }
6786     p_inited = TRUE;
6787     orc_once_mutex_unlock ();
6788   }
6789   ex->arrays[ORC_VAR_A2] = c;
6790   ex->program = 0;
6791
6792   ex->n = n;
6793   ex->arrays[ORC_VAR_D1] = d1;
6794   ex->arrays[ORC_VAR_S1] = (void *) s1;
6795   ex->params[ORC_VAR_P1] = p1;
6796
6797   func = c->exec;
6798   func (ex);
6799 }
6800 #endif
6801
6802
6803 /* audio_convert_orc_pack_double_u16 */
6804 #ifdef DISABLE_ORC
6805 void
6806 audio_convert_orc_pack_double_u16 (guint8 * ORC_RESTRICT d1,
6807     const gdouble * ORC_RESTRICT s1, int p1, int n)
6808 {
6809   int i;
6810   orc_union16 *ORC_RESTRICT ptr0;
6811   const orc_union64 *ORC_RESTRICT ptr4;
6812   orc_union64 var33;
6813 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
6814   volatile orc_union32 var34;
6815 #else
6816   orc_union32 var34;
6817 #endif
6818   orc_union16 var35;
6819   orc_union32 var36;
6820   orc_union32 var37;
6821   orc_union32 var38;
6822
6823   ptr0 = (orc_union16 *) d1;
6824   ptr4 = (orc_union64 *) s1;
6825
6826   /* 2: loadpl */
6827   var34.i = (int) 0x80000000;   /* -2147483648 or 1.061e-314f */
6828
6829   for (i = 0; i < n; i++) {
6830     /* 0: loadq */
6831     var33 = ptr4[i];
6832     /* 1: convdl */
6833     {
6834       int tmp;
6835       tmp = var33.f;
6836       if (tmp == 0x80000000 && !(var33.i & ORC_UINT64_C (0x8000000000000000)))
6837         tmp = 0x7fffffff;
6838       var36.i = tmp;
6839     }
6840     /* 3: xorl */
6841     var37.i = var36.i ^ var34.i;
6842     /* 4: shrul */
6843     var38.i = ((orc_uint32) var37.i) >> p1;
6844     /* 5: convlw */
6845     var35.i = var38.i;
6846     /* 6: storew */
6847     ptr0[i] = var35;
6848   }
6849
6850 }
6851
6852 #else
6853 static void
6854 _backup_audio_convert_orc_pack_double_u16 (OrcExecutor * ORC_RESTRICT ex)
6855 {
6856   int i;
6857   int n = ex->n;
6858   orc_union16 *ORC_RESTRICT ptr0;
6859   const orc_union64 *ORC_RESTRICT ptr4;
6860   orc_union64 var33;
6861 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
6862   volatile orc_union32 var34;
6863 #else
6864   orc_union32 var34;
6865 #endif
6866   orc_union16 var35;
6867   orc_union32 var36;
6868   orc_union32 var37;
6869   orc_union32 var38;
6870
6871   ptr0 = (orc_union16 *) ex->arrays[0];
6872   ptr4 = (orc_union64 *) ex->arrays[4];
6873
6874   /* 2: loadpl */
6875   var34.i = (int) 0x80000000;   /* -2147483648 or 1.061e-314f */
6876
6877   for (i = 0; i < n; i++) {
6878     /* 0: loadq */
6879     var33 = ptr4[i];
6880     /* 1: convdl */
6881     {
6882       int tmp;
6883       tmp = var33.f;
6884       if (tmp == 0x80000000 && !(var33.i & ORC_UINT64_C (0x8000000000000000)))
6885         tmp = 0x7fffffff;
6886       var36.i = tmp;
6887     }
6888     /* 3: xorl */
6889     var37.i = var36.i ^ var34.i;
6890     /* 4: shrul */
6891     var38.i = ((orc_uint32) var37.i) >> ex->params[24];
6892     /* 5: convlw */
6893     var35.i = var38.i;
6894     /* 6: storew */
6895     ptr0[i] = var35;
6896   }
6897
6898 }
6899
6900 void
6901 audio_convert_orc_pack_double_u16 (guint8 * ORC_RESTRICT d1,
6902     const gdouble * ORC_RESTRICT s1, int p1, int n)
6903 {
6904   OrcExecutor _ex, *ex = &_ex;
6905   static volatile int p_inited = 0;
6906   static OrcCode *c = 0;
6907   void (*func) (OrcExecutor *);
6908
6909   if (!p_inited) {
6910     orc_once_mutex_lock ();
6911     if (!p_inited) {
6912       OrcProgram *p;
6913
6914 #if 1
6915       static const orc_uint8 bc[] = {
6916         1, 9, 33, 97, 117, 100, 105, 111, 95, 99, 111, 110, 118, 101, 114, 116,
6917         95, 111, 114, 99, 95, 112, 97, 99, 107, 95, 100, 111, 117, 98, 108, 101,
6918         95, 117, 49, 54, 11, 2, 2, 12, 8, 8, 14, 4, 0, 0, 0, 128,
6919         16, 4, 20, 4, 222, 32, 4, 132, 32, 32, 16, 126, 32, 32, 24, 163,
6920         0, 32, 2, 0,
6921       };
6922       p = orc_program_new_from_static_bytecode (bc);
6923       orc_program_set_backup_function (p,
6924           _backup_audio_convert_orc_pack_double_u16);
6925 #else
6926       p = orc_program_new ();
6927       orc_program_set_name (p, "audio_convert_orc_pack_double_u16");
6928       orc_program_set_backup_function (p,
6929           _backup_audio_convert_orc_pack_double_u16);
6930       orc_program_add_destination (p, 2, "d1");
6931       orc_program_add_source (p, 8, "s1");
6932       orc_program_add_constant (p, 4, 0x80000000, "c1");
6933       orc_program_add_parameter (p, 4, "p1");
6934       orc_program_add_temporary (p, 4, "t1");
6935
6936       orc_program_append_2 (p, "convdl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
6937           ORC_VAR_D1);
6938       orc_program_append_2 (p, "xorl", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
6939           ORC_VAR_D1);
6940       orc_program_append_2 (p, "shrul", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_P1,
6941           ORC_VAR_D1);
6942       orc_program_append_2 (p, "convlw", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1,
6943           ORC_VAR_D1);
6944 #endif
6945
6946       orc_program_compile (p);
6947       c = orc_program_take_code (p);
6948       orc_program_free (p);
6949     }
6950     p_inited = TRUE;
6951     orc_once_mutex_unlock ();
6952   }
6953   ex->arrays[ORC_VAR_A2] = c;
6954   ex->program = 0;
6955
6956   ex->n = n;
6957   ex->arrays[ORC_VAR_D1] = d1;
6958   ex->arrays[ORC_VAR_S1] = (void *) s1;
6959   ex->params[ORC_VAR_P1] = p1;
6960
6961   func = c->exec;
6962   func (ex);
6963 }
6964 #endif
6965
6966
6967 /* audio_convert_orc_pack_double_s16 */
6968 #ifdef DISABLE_ORC
6969 void
6970 audio_convert_orc_pack_double_s16 (guint8 * ORC_RESTRICT d1,
6971     const gdouble * ORC_RESTRICT s1, int p1, int n)
6972 {
6973   int i;
6974   orc_union16 *ORC_RESTRICT ptr0;
6975   const orc_union64 *ORC_RESTRICT ptr4;
6976   orc_union64 var33;
6977   orc_union16 var34;
6978   orc_union32 var35;
6979   orc_union32 var36;
6980
6981   ptr0 = (orc_union16 *) d1;
6982   ptr4 = (orc_union64 *) s1;
6983
6984
6985   for (i = 0; i < n; i++) {
6986     /* 0: loadq */
6987     var33 = ptr4[i];
6988     /* 1: convdl */
6989     {
6990       int tmp;
6991       tmp = var33.f;
6992       if (tmp == 0x80000000 && !(var33.i & ORC_UINT64_C (0x8000000000000000)))
6993         tmp = 0x7fffffff;
6994       var35.i = tmp;
6995     }
6996     /* 2: shrsl */
6997     var36.i = var35.i >> p1;
6998     /* 3: convlw */
6999     var34.i = var36.i;
7000     /* 4: storew */
7001     ptr0[i] = var34;
7002   }
7003
7004 }
7005
7006 #else
7007 static void
7008 _backup_audio_convert_orc_pack_double_s16 (OrcExecutor * ORC_RESTRICT ex)
7009 {
7010   int i;
7011   int n = ex->n;
7012   orc_union16 *ORC_RESTRICT ptr0;
7013   const orc_union64 *ORC_RESTRICT ptr4;
7014   orc_union64 var33;
7015   orc_union16 var34;
7016   orc_union32 var35;
7017   orc_union32 var36;
7018
7019   ptr0 = (orc_union16 *) ex->arrays[0];
7020   ptr4 = (orc_union64 *) ex->arrays[4];
7021
7022
7023   for (i = 0; i < n; i++) {
7024     /* 0: loadq */
7025     var33 = ptr4[i];
7026     /* 1: convdl */
7027     {
7028       int tmp;
7029       tmp = var33.f;
7030       if (tmp == 0x80000000 && !(var33.i & ORC_UINT64_C (0x8000000000000000)))
7031         tmp = 0x7fffffff;
7032       var35.i = tmp;
7033     }
7034     /* 2: shrsl */
7035     var36.i = var35.i >> ex->params[24];
7036     /* 3: convlw */
7037     var34.i = var36.i;
7038     /* 4: storew */
7039     ptr0[i] = var34;
7040   }
7041
7042 }
7043
7044 void
7045 audio_convert_orc_pack_double_s16 (guint8 * ORC_RESTRICT d1,
7046     const gdouble * ORC_RESTRICT s1, int p1, int n)
7047 {
7048   OrcExecutor _ex, *ex = &_ex;
7049   static volatile int p_inited = 0;
7050   static OrcCode *c = 0;
7051   void (*func) (OrcExecutor *);
7052
7053   if (!p_inited) {
7054     orc_once_mutex_lock ();
7055     if (!p_inited) {
7056       OrcProgram *p;
7057
7058 #if 1
7059       static const orc_uint8 bc[] = {
7060         1, 9, 33, 97, 117, 100, 105, 111, 95, 99, 111, 110, 118, 101, 114, 116,
7061         95, 111, 114, 99, 95, 112, 97, 99, 107, 95, 100, 111, 117, 98, 108, 101,
7062         95, 115, 49, 54, 11, 2, 2, 12, 8, 8, 16, 4, 20, 4, 222, 32,
7063         4, 125, 32, 32, 24, 163, 0, 32, 2, 0,
7064       };
7065       p = orc_program_new_from_static_bytecode (bc);
7066       orc_program_set_backup_function (p,
7067           _backup_audio_convert_orc_pack_double_s16);
7068 #else
7069       p = orc_program_new ();
7070       orc_program_set_name (p, "audio_convert_orc_pack_double_s16");
7071       orc_program_set_backup_function (p,
7072           _backup_audio_convert_orc_pack_double_s16);
7073       orc_program_add_destination (p, 2, "d1");
7074       orc_program_add_source (p, 8, "s1");
7075       orc_program_add_parameter (p, 4, "p1");
7076       orc_program_add_temporary (p, 4, "t1");
7077
7078       orc_program_append_2 (p, "convdl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
7079           ORC_VAR_D1);
7080       orc_program_append_2 (p, "shrsl", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_P1,
7081           ORC_VAR_D1);
7082       orc_program_append_2 (p, "convlw", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1,
7083           ORC_VAR_D1);
7084 #endif
7085
7086       orc_program_compile (p);
7087       c = orc_program_take_code (p);
7088       orc_program_free (p);
7089     }
7090     p_inited = TRUE;
7091     orc_once_mutex_unlock ();
7092   }
7093   ex->arrays[ORC_VAR_A2] = c;
7094   ex->program = 0;
7095
7096   ex->n = n;
7097   ex->arrays[ORC_VAR_D1] = d1;
7098   ex->arrays[ORC_VAR_S1] = (void *) s1;
7099   ex->params[ORC_VAR_P1] = p1;
7100
7101   func = c->exec;
7102   func (ex);
7103 }
7104 #endif
7105
7106
7107 /* audio_convert_orc_pack_double_u16_swap */
7108 #ifdef DISABLE_ORC
7109 void
7110 audio_convert_orc_pack_double_u16_swap (guint8 * ORC_RESTRICT d1,
7111     const gdouble * ORC_RESTRICT s1, int p1, int n)
7112 {
7113   int i;
7114   orc_union16 *ORC_RESTRICT ptr0;
7115   const orc_union64 *ORC_RESTRICT ptr4;
7116   orc_union64 var34;
7117 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
7118   volatile orc_union32 var35;
7119 #else
7120   orc_union32 var35;
7121 #endif
7122   orc_union16 var36;
7123   orc_union32 var37;
7124   orc_union32 var38;
7125   orc_union32 var39;
7126   orc_union16 var40;
7127
7128   ptr0 = (orc_union16 *) d1;
7129   ptr4 = (orc_union64 *) s1;
7130
7131   /* 2: loadpl */
7132   var35.i = (int) 0x80000000;   /* -2147483648 or 1.061e-314f */
7133
7134   for (i = 0; i < n; i++) {
7135     /* 0: loadq */
7136     var34 = ptr4[i];
7137     /* 1: convdl */
7138     {
7139       int tmp;
7140       tmp = var34.f;
7141       if (tmp == 0x80000000 && !(var34.i & ORC_UINT64_C (0x8000000000000000)))
7142         tmp = 0x7fffffff;
7143       var37.i = tmp;
7144     }
7145     /* 3: xorl */
7146     var38.i = var37.i ^ var35.i;
7147     /* 4: shrul */
7148     var39.i = ((orc_uint32) var38.i) >> p1;
7149     /* 5: convlw */
7150     var40.i = var39.i;
7151     /* 6: swapw */
7152     var36.i = ORC_SWAP_W (var40.i);
7153     /* 7: storew */
7154     ptr0[i] = var36;
7155   }
7156
7157 }
7158
7159 #else
7160 static void
7161 _backup_audio_convert_orc_pack_double_u16_swap (OrcExecutor * ORC_RESTRICT ex)
7162 {
7163   int i;
7164   int n = ex->n;
7165   orc_union16 *ORC_RESTRICT ptr0;
7166   const orc_union64 *ORC_RESTRICT ptr4;
7167   orc_union64 var34;
7168 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
7169   volatile orc_union32 var35;
7170 #else
7171   orc_union32 var35;
7172 #endif
7173   orc_union16 var36;
7174   orc_union32 var37;
7175   orc_union32 var38;
7176   orc_union32 var39;
7177   orc_union16 var40;
7178
7179   ptr0 = (orc_union16 *) ex->arrays[0];
7180   ptr4 = (orc_union64 *) ex->arrays[4];
7181
7182   /* 2: loadpl */
7183   var35.i = (int) 0x80000000;   /* -2147483648 or 1.061e-314f */
7184
7185   for (i = 0; i < n; i++) {
7186     /* 0: loadq */
7187     var34 = ptr4[i];
7188     /* 1: convdl */
7189     {
7190       int tmp;
7191       tmp = var34.f;
7192       if (tmp == 0x80000000 && !(var34.i & ORC_UINT64_C (0x8000000000000000)))
7193         tmp = 0x7fffffff;
7194       var37.i = tmp;
7195     }
7196     /* 3: xorl */
7197     var38.i = var37.i ^ var35.i;
7198     /* 4: shrul */
7199     var39.i = ((orc_uint32) var38.i) >> ex->params[24];
7200     /* 5: convlw */
7201     var40.i = var39.i;
7202     /* 6: swapw */
7203     var36.i = ORC_SWAP_W (var40.i);
7204     /* 7: storew */
7205     ptr0[i] = var36;
7206   }
7207
7208 }
7209
7210 void
7211 audio_convert_orc_pack_double_u16_swap (guint8 * ORC_RESTRICT d1,
7212     const gdouble * ORC_RESTRICT s1, int p1, int n)
7213 {
7214   OrcExecutor _ex, *ex = &_ex;
7215   static volatile int p_inited = 0;
7216   static OrcCode *c = 0;
7217   void (*func) (OrcExecutor *);
7218
7219   if (!p_inited) {
7220     orc_once_mutex_lock ();
7221     if (!p_inited) {
7222       OrcProgram *p;
7223
7224 #if 1
7225       static const orc_uint8 bc[] = {
7226         1, 9, 38, 97, 117, 100, 105, 111, 95, 99, 111, 110, 118, 101, 114, 116,
7227         95, 111, 114, 99, 95, 112, 97, 99, 107, 95, 100, 111, 117, 98, 108, 101,
7228         95, 117, 49, 54, 95, 115, 119, 97, 112, 11, 2, 2, 12, 8, 8, 14,
7229         4, 0, 0, 0, 128, 16, 4, 20, 4, 20, 2, 222, 32, 4, 132, 32,
7230         32, 16, 126, 32, 32, 24, 163, 33, 32, 183, 0, 33, 2, 0,
7231       };
7232       p = orc_program_new_from_static_bytecode (bc);
7233       orc_program_set_backup_function (p,
7234           _backup_audio_convert_orc_pack_double_u16_swap);
7235 #else
7236       p = orc_program_new ();
7237       orc_program_set_name (p, "audio_convert_orc_pack_double_u16_swap");
7238       orc_program_set_backup_function (p,
7239           _backup_audio_convert_orc_pack_double_u16_swap);
7240       orc_program_add_destination (p, 2, "d1");
7241       orc_program_add_source (p, 8, "s1");
7242       orc_program_add_constant (p, 4, 0x80000000, "c1");
7243       orc_program_add_parameter (p, 4, "p1");
7244       orc_program_add_temporary (p, 4, "t1");
7245       orc_program_add_temporary (p, 2, "t2");
7246
7247       orc_program_append_2 (p, "convdl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
7248           ORC_VAR_D1);
7249       orc_program_append_2 (p, "xorl", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
7250           ORC_VAR_D1);
7251       orc_program_append_2 (p, "shrul", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_P1,
7252           ORC_VAR_D1);
7253       orc_program_append_2 (p, "convlw", 0, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_D1,
7254           ORC_VAR_D1);
7255       orc_program_append_2 (p, "swapw", 0, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_D1,
7256           ORC_VAR_D1);
7257 #endif
7258
7259       orc_program_compile (p);
7260       c = orc_program_take_code (p);
7261       orc_program_free (p);
7262     }
7263     p_inited = TRUE;
7264     orc_once_mutex_unlock ();
7265   }
7266   ex->arrays[ORC_VAR_A2] = c;
7267   ex->program = 0;
7268
7269   ex->n = n;
7270   ex->arrays[ORC_VAR_D1] = d1;
7271   ex->arrays[ORC_VAR_S1] = (void *) s1;
7272   ex->params[ORC_VAR_P1] = p1;
7273
7274   func = c->exec;
7275   func (ex);
7276 }
7277 #endif
7278
7279
7280 /* audio_convert_orc_pack_double_s16_swap */
7281 #ifdef DISABLE_ORC
7282 void
7283 audio_convert_orc_pack_double_s16_swap (guint8 * ORC_RESTRICT d1,
7284     const gdouble * ORC_RESTRICT s1, int p1, int n)
7285 {
7286   int i;
7287   orc_union16 *ORC_RESTRICT ptr0;
7288   const orc_union64 *ORC_RESTRICT ptr4;
7289   orc_union64 var34;
7290   orc_union16 var35;
7291   orc_union32 var36;
7292   orc_union32 var37;
7293   orc_union16 var38;
7294
7295   ptr0 = (orc_union16 *) d1;
7296   ptr4 = (orc_union64 *) s1;
7297
7298
7299   for (i = 0; i < n; i++) {
7300     /* 0: loadq */
7301     var34 = ptr4[i];
7302     /* 1: convdl */
7303     {
7304       int tmp;
7305       tmp = var34.f;
7306       if (tmp == 0x80000000 && !(var34.i & ORC_UINT64_C (0x8000000000000000)))
7307         tmp = 0x7fffffff;
7308       var36.i = tmp;
7309     }
7310     /* 2: shrsl */
7311     var37.i = var36.i >> p1;
7312     /* 3: convlw */
7313     var38.i = var37.i;
7314     /* 4: swapw */
7315     var35.i = ORC_SWAP_W (var38.i);
7316     /* 5: storew */
7317     ptr0[i] = var35;
7318   }
7319
7320 }
7321
7322 #else
7323 static void
7324 _backup_audio_convert_orc_pack_double_s16_swap (OrcExecutor * ORC_RESTRICT ex)
7325 {
7326   int i;
7327   int n = ex->n;
7328   orc_union16 *ORC_RESTRICT ptr0;
7329   const orc_union64 *ORC_RESTRICT ptr4;
7330   orc_union64 var34;
7331   orc_union16 var35;
7332   orc_union32 var36;
7333   orc_union32 var37;
7334   orc_union16 var38;
7335
7336   ptr0 = (orc_union16 *) ex->arrays[0];
7337   ptr4 = (orc_union64 *) ex->arrays[4];
7338
7339
7340   for (i = 0; i < n; i++) {
7341     /* 0: loadq */
7342     var34 = ptr4[i];
7343     /* 1: convdl */
7344     {
7345       int tmp;
7346       tmp = var34.f;
7347       if (tmp == 0x80000000 && !(var34.i & ORC_UINT64_C (0x8000000000000000)))
7348         tmp = 0x7fffffff;
7349       var36.i = tmp;
7350     }
7351     /* 2: shrsl */
7352     var37.i = var36.i >> ex->params[24];
7353     /* 3: convlw */
7354     var38.i = var37.i;
7355     /* 4: swapw */
7356     var35.i = ORC_SWAP_W (var38.i);
7357     /* 5: storew */
7358     ptr0[i] = var35;
7359   }
7360
7361 }
7362
7363 void
7364 audio_convert_orc_pack_double_s16_swap (guint8 * ORC_RESTRICT d1,
7365     const gdouble * ORC_RESTRICT s1, int p1, int n)
7366 {
7367   OrcExecutor _ex, *ex = &_ex;
7368   static volatile int p_inited = 0;
7369   static OrcCode *c = 0;
7370   void (*func) (OrcExecutor *);
7371
7372   if (!p_inited) {
7373     orc_once_mutex_lock ();
7374     if (!p_inited) {
7375       OrcProgram *p;
7376
7377 #if 1
7378       static const orc_uint8 bc[] = {
7379         1, 9, 38, 97, 117, 100, 105, 111, 95, 99, 111, 110, 118, 101, 114, 116,
7380         95, 111, 114, 99, 95, 112, 97, 99, 107, 95, 100, 111, 117, 98, 108, 101,
7381         95, 115, 49, 54, 95, 115, 119, 97, 112, 11, 2, 2, 12, 8, 8, 16,
7382         4, 20, 4, 20, 2, 222, 32, 4, 125, 32, 32, 24, 163, 33, 32, 183,
7383         0, 33, 2, 0,
7384       };
7385       p = orc_program_new_from_static_bytecode (bc);
7386       orc_program_set_backup_function (p,
7387           _backup_audio_convert_orc_pack_double_s16_swap);
7388 #else
7389       p = orc_program_new ();
7390       orc_program_set_name (p, "audio_convert_orc_pack_double_s16_swap");
7391       orc_program_set_backup_function (p,
7392           _backup_audio_convert_orc_pack_double_s16_swap);
7393       orc_program_add_destination (p, 2, "d1");
7394       orc_program_add_source (p, 8, "s1");
7395       orc_program_add_parameter (p, 4, "p1");
7396       orc_program_add_temporary (p, 4, "t1");
7397       orc_program_add_temporary (p, 2, "t2");
7398
7399       orc_program_append_2 (p, "convdl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
7400           ORC_VAR_D1);
7401       orc_program_append_2 (p, "shrsl", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_P1,
7402           ORC_VAR_D1);
7403       orc_program_append_2 (p, "convlw", 0, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_D1,
7404           ORC_VAR_D1);
7405       orc_program_append_2 (p, "swapw", 0, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_D1,
7406           ORC_VAR_D1);
7407 #endif
7408
7409       orc_program_compile (p);
7410       c = orc_program_take_code (p);
7411       orc_program_free (p);
7412     }
7413     p_inited = TRUE;
7414     orc_once_mutex_unlock ();
7415   }
7416   ex->arrays[ORC_VAR_A2] = c;
7417   ex->program = 0;
7418
7419   ex->n = n;
7420   ex->arrays[ORC_VAR_D1] = d1;
7421   ex->arrays[ORC_VAR_S1] = (void *) s1;
7422   ex->params[ORC_VAR_P1] = p1;
7423
7424   func = c->exec;
7425   func (ex);
7426 }
7427 #endif
7428
7429
7430 /* audio_convert_orc_pack_double_u32 */
7431 #ifdef DISABLE_ORC
7432 void
7433 audio_convert_orc_pack_double_u32 (guint8 * ORC_RESTRICT d1,
7434     const gdouble * ORC_RESTRICT s1, int p1, int n)
7435 {
7436   int i;
7437   orc_union32 *ORC_RESTRICT ptr0;
7438   const orc_union64 *ORC_RESTRICT ptr4;
7439   orc_union64 var33;
7440 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
7441   volatile orc_union32 var34;
7442 #else
7443   orc_union32 var34;
7444 #endif
7445   orc_union32 var35;
7446   orc_union32 var36;
7447   orc_union32 var37;
7448
7449   ptr0 = (orc_union32 *) d1;
7450   ptr4 = (orc_union64 *) s1;
7451
7452   /* 2: loadpl */
7453   var34.i = (int) 0x80000000;   /* -2147483648 or 1.061e-314f */
7454
7455   for (i = 0; i < n; i++) {
7456     /* 0: loadq */
7457     var33 = ptr4[i];
7458     /* 1: convdl */
7459     {
7460       int tmp;
7461       tmp = var33.f;
7462       if (tmp == 0x80000000 && !(var33.i & ORC_UINT64_C (0x8000000000000000)))
7463         tmp = 0x7fffffff;
7464       var36.i = tmp;
7465     }
7466     /* 3: xorl */
7467     var37.i = var36.i ^ var34.i;
7468     /* 4: shrul */
7469     var35.i = ((orc_uint32) var37.i) >> p1;
7470     /* 5: storel */
7471     ptr0[i] = var35;
7472   }
7473
7474 }
7475
7476 #else
7477 static void
7478 _backup_audio_convert_orc_pack_double_u32 (OrcExecutor * ORC_RESTRICT ex)
7479 {
7480   int i;
7481   int n = ex->n;
7482   orc_union32 *ORC_RESTRICT ptr0;
7483   const orc_union64 *ORC_RESTRICT ptr4;
7484   orc_union64 var33;
7485 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
7486   volatile orc_union32 var34;
7487 #else
7488   orc_union32 var34;
7489 #endif
7490   orc_union32 var35;
7491   orc_union32 var36;
7492   orc_union32 var37;
7493
7494   ptr0 = (orc_union32 *) ex->arrays[0];
7495   ptr4 = (orc_union64 *) ex->arrays[4];
7496
7497   /* 2: loadpl */
7498   var34.i = (int) 0x80000000;   /* -2147483648 or 1.061e-314f */
7499
7500   for (i = 0; i < n; i++) {
7501     /* 0: loadq */
7502     var33 = ptr4[i];
7503     /* 1: convdl */
7504     {
7505       int tmp;
7506       tmp = var33.f;
7507       if (tmp == 0x80000000 && !(var33.i & ORC_UINT64_C (0x8000000000000000)))
7508         tmp = 0x7fffffff;
7509       var36.i = tmp;
7510     }
7511     /* 3: xorl */
7512     var37.i = var36.i ^ var34.i;
7513     /* 4: shrul */
7514     var35.i = ((orc_uint32) var37.i) >> ex->params[24];
7515     /* 5: storel */
7516     ptr0[i] = var35;
7517   }
7518
7519 }
7520
7521 void
7522 audio_convert_orc_pack_double_u32 (guint8 * ORC_RESTRICT d1,
7523     const gdouble * ORC_RESTRICT s1, int p1, int n)
7524 {
7525   OrcExecutor _ex, *ex = &_ex;
7526   static volatile int p_inited = 0;
7527   static OrcCode *c = 0;
7528   void (*func) (OrcExecutor *);
7529
7530   if (!p_inited) {
7531     orc_once_mutex_lock ();
7532     if (!p_inited) {
7533       OrcProgram *p;
7534
7535 #if 1
7536       static const orc_uint8 bc[] = {
7537         1, 9, 33, 97, 117, 100, 105, 111, 95, 99, 111, 110, 118, 101, 114, 116,
7538         95, 111, 114, 99, 95, 112, 97, 99, 107, 95, 100, 111, 117, 98, 108, 101,
7539         95, 117, 51, 50, 11, 4, 4, 12, 8, 8, 14, 4, 0, 0, 0, 128,
7540         16, 4, 20, 4, 222, 32, 4, 132, 32, 32, 16, 126, 0, 32, 24, 2,
7541         0,
7542       };
7543       p = orc_program_new_from_static_bytecode (bc);
7544       orc_program_set_backup_function (p,
7545           _backup_audio_convert_orc_pack_double_u32);
7546 #else
7547       p = orc_program_new ();
7548       orc_program_set_name (p, "audio_convert_orc_pack_double_u32");
7549       orc_program_set_backup_function (p,
7550           _backup_audio_convert_orc_pack_double_u32);
7551       orc_program_add_destination (p, 4, "d1");
7552       orc_program_add_source (p, 8, "s1");
7553       orc_program_add_constant (p, 4, 0x80000000, "c1");
7554       orc_program_add_parameter (p, 4, "p1");
7555       orc_program_add_temporary (p, 4, "t1");
7556
7557       orc_program_append_2 (p, "convdl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
7558           ORC_VAR_D1);
7559       orc_program_append_2 (p, "xorl", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
7560           ORC_VAR_D1);
7561       orc_program_append_2 (p, "shrul", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_P1,
7562           ORC_VAR_D1);
7563 #endif
7564
7565       orc_program_compile (p);
7566       c = orc_program_take_code (p);
7567       orc_program_free (p);
7568     }
7569     p_inited = TRUE;
7570     orc_once_mutex_unlock ();
7571   }
7572   ex->arrays[ORC_VAR_A2] = c;
7573   ex->program = 0;
7574
7575   ex->n = n;
7576   ex->arrays[ORC_VAR_D1] = d1;
7577   ex->arrays[ORC_VAR_S1] = (void *) s1;
7578   ex->params[ORC_VAR_P1] = p1;
7579
7580   func = c->exec;
7581   func (ex);
7582 }
7583 #endif
7584
7585
7586 /* audio_convert_orc_pack_double_s32 */
7587 #ifdef DISABLE_ORC
7588 void
7589 audio_convert_orc_pack_double_s32 (guint8 * ORC_RESTRICT d1,
7590     const gdouble * ORC_RESTRICT s1, int p1, int n)
7591 {
7592   int i;
7593   orc_union32 *ORC_RESTRICT ptr0;
7594   const orc_union64 *ORC_RESTRICT ptr4;
7595   orc_union64 var33;
7596   orc_union32 var34;
7597   orc_union32 var35;
7598
7599   ptr0 = (orc_union32 *) d1;
7600   ptr4 = (orc_union64 *) s1;
7601
7602
7603   for (i = 0; i < n; i++) {
7604     /* 0: loadq */
7605     var33 = ptr4[i];
7606     /* 1: convdl */
7607     {
7608       int tmp;
7609       tmp = var33.f;
7610       if (tmp == 0x80000000 && !(var33.i & ORC_UINT64_C (0x8000000000000000)))
7611         tmp = 0x7fffffff;
7612       var35.i = tmp;
7613     }
7614     /* 2: shrsl */
7615     var34.i = var35.i >> p1;
7616     /* 3: storel */
7617     ptr0[i] = var34;
7618   }
7619
7620 }
7621
7622 #else
7623 static void
7624 _backup_audio_convert_orc_pack_double_s32 (OrcExecutor * ORC_RESTRICT ex)
7625 {
7626   int i;
7627   int n = ex->n;
7628   orc_union32 *ORC_RESTRICT ptr0;
7629   const orc_union64 *ORC_RESTRICT ptr4;
7630   orc_union64 var33;
7631   orc_union32 var34;
7632   orc_union32 var35;
7633
7634   ptr0 = (orc_union32 *) ex->arrays[0];
7635   ptr4 = (orc_union64 *) ex->arrays[4];
7636
7637
7638   for (i = 0; i < n; i++) {
7639     /* 0: loadq */
7640     var33 = ptr4[i];
7641     /* 1: convdl */
7642     {
7643       int tmp;
7644       tmp = var33.f;
7645       if (tmp == 0x80000000 && !(var33.i & ORC_UINT64_C (0x8000000000000000)))
7646         tmp = 0x7fffffff;
7647       var35.i = tmp;
7648     }
7649     /* 2: shrsl */
7650     var34.i = var35.i >> ex->params[24];
7651     /* 3: storel */
7652     ptr0[i] = var34;
7653   }
7654
7655 }
7656
7657 void
7658 audio_convert_orc_pack_double_s32 (guint8 * ORC_RESTRICT d1,
7659     const gdouble * ORC_RESTRICT s1, int p1, int n)
7660 {
7661   OrcExecutor _ex, *ex = &_ex;
7662   static volatile int p_inited = 0;
7663   static OrcCode *c = 0;
7664   void (*func) (OrcExecutor *);
7665
7666   if (!p_inited) {
7667     orc_once_mutex_lock ();
7668     if (!p_inited) {
7669       OrcProgram *p;
7670
7671 #if 1
7672       static const orc_uint8 bc[] = {
7673         1, 9, 33, 97, 117, 100, 105, 111, 95, 99, 111, 110, 118, 101, 114, 116,
7674         95, 111, 114, 99, 95, 112, 97, 99, 107, 95, 100, 111, 117, 98, 108, 101,
7675         95, 115, 51, 50, 11, 4, 4, 12, 8, 8, 16, 4, 20, 4, 222, 32,
7676         4, 125, 0, 32, 24, 2, 0,
7677       };
7678       p = orc_program_new_from_static_bytecode (bc);
7679       orc_program_set_backup_function (p,
7680           _backup_audio_convert_orc_pack_double_s32);
7681 #else
7682       p = orc_program_new ();
7683       orc_program_set_name (p, "audio_convert_orc_pack_double_s32");
7684       orc_program_set_backup_function (p,
7685           _backup_audio_convert_orc_pack_double_s32);
7686       orc_program_add_destination (p, 4, "d1");
7687       orc_program_add_source (p, 8, "s1");
7688       orc_program_add_parameter (p, 4, "p1");
7689       orc_program_add_temporary (p, 4, "t1");
7690
7691       orc_program_append_2 (p, "convdl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
7692           ORC_VAR_D1);
7693       orc_program_append_2 (p, "shrsl", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_P1,
7694           ORC_VAR_D1);
7695 #endif
7696
7697       orc_program_compile (p);
7698       c = orc_program_take_code (p);
7699       orc_program_free (p);
7700     }
7701     p_inited = TRUE;
7702     orc_once_mutex_unlock ();
7703   }
7704   ex->arrays[ORC_VAR_A2] = c;
7705   ex->program = 0;
7706
7707   ex->n = n;
7708   ex->arrays[ORC_VAR_D1] = d1;
7709   ex->arrays[ORC_VAR_S1] = (void *) s1;
7710   ex->params[ORC_VAR_P1] = p1;
7711
7712   func = c->exec;
7713   func (ex);
7714 }
7715 #endif
7716
7717
7718 /* audio_convert_orc_pack_double_u32_swap */
7719 #ifdef DISABLE_ORC
7720 void
7721 audio_convert_orc_pack_double_u32_swap (guint8 * ORC_RESTRICT d1,
7722     const gdouble * ORC_RESTRICT s1, int p1, int n)
7723 {
7724   int i;
7725   orc_union32 *ORC_RESTRICT ptr0;
7726   const orc_union64 *ORC_RESTRICT ptr4;
7727   orc_union64 var33;
7728 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
7729   volatile orc_union32 var34;
7730 #else
7731   orc_union32 var34;
7732 #endif
7733   orc_union32 var35;
7734   orc_union32 var36;
7735   orc_union32 var37;
7736   orc_union32 var38;
7737
7738   ptr0 = (orc_union32 *) d1;
7739   ptr4 = (orc_union64 *) s1;
7740
7741   /* 2: loadpl */
7742   var34.i = (int) 0x80000000;   /* -2147483648 or 1.061e-314f */
7743
7744   for (i = 0; i < n; i++) {
7745     /* 0: loadq */
7746     var33 = ptr4[i];
7747     /* 1: convdl */
7748     {
7749       int tmp;
7750       tmp = var33.f;
7751       if (tmp == 0x80000000 && !(var33.i & ORC_UINT64_C (0x8000000000000000)))
7752         tmp = 0x7fffffff;
7753       var36.i = tmp;
7754     }
7755     /* 3: xorl */
7756     var37.i = var36.i ^ var34.i;
7757     /* 4: shrul */
7758     var38.i = ((orc_uint32) var37.i) >> p1;
7759     /* 5: swapl */
7760     var35.i = ORC_SWAP_L (var38.i);
7761     /* 6: storel */
7762     ptr0[i] = var35;
7763   }
7764
7765 }
7766
7767 #else
7768 static void
7769 _backup_audio_convert_orc_pack_double_u32_swap (OrcExecutor * ORC_RESTRICT ex)
7770 {
7771   int i;
7772   int n = ex->n;
7773   orc_union32 *ORC_RESTRICT ptr0;
7774   const orc_union64 *ORC_RESTRICT ptr4;
7775   orc_union64 var33;
7776 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
7777   volatile orc_union32 var34;
7778 #else
7779   orc_union32 var34;
7780 #endif
7781   orc_union32 var35;
7782   orc_union32 var36;
7783   orc_union32 var37;
7784   orc_union32 var38;
7785
7786   ptr0 = (orc_union32 *) ex->arrays[0];
7787   ptr4 = (orc_union64 *) ex->arrays[4];
7788
7789   /* 2: loadpl */
7790   var34.i = (int) 0x80000000;   /* -2147483648 or 1.061e-314f */
7791
7792   for (i = 0; i < n; i++) {
7793     /* 0: loadq */
7794     var33 = ptr4[i];
7795     /* 1: convdl */
7796     {
7797       int tmp;
7798       tmp = var33.f;
7799       if (tmp == 0x80000000 && !(var33.i & ORC_UINT64_C (0x8000000000000000)))
7800         tmp = 0x7fffffff;
7801       var36.i = tmp;
7802     }
7803     /* 3: xorl */
7804     var37.i = var36.i ^ var34.i;
7805     /* 4: shrul */
7806     var38.i = ((orc_uint32) var37.i) >> ex->params[24];
7807     /* 5: swapl */
7808     var35.i = ORC_SWAP_L (var38.i);
7809     /* 6: storel */
7810     ptr0[i] = var35;
7811   }
7812
7813 }
7814
7815 void
7816 audio_convert_orc_pack_double_u32_swap (guint8 * ORC_RESTRICT d1,
7817     const gdouble * ORC_RESTRICT s1, int p1, int n)
7818 {
7819   OrcExecutor _ex, *ex = &_ex;
7820   static volatile int p_inited = 0;
7821   static OrcCode *c = 0;
7822   void (*func) (OrcExecutor *);
7823
7824   if (!p_inited) {
7825     orc_once_mutex_lock ();
7826     if (!p_inited) {
7827       OrcProgram *p;
7828
7829 #if 1
7830       static const orc_uint8 bc[] = {
7831         1, 9, 38, 97, 117, 100, 105, 111, 95, 99, 111, 110, 118, 101, 114, 116,
7832         95, 111, 114, 99, 95, 112, 97, 99, 107, 95, 100, 111, 117, 98, 108, 101,
7833         95, 117, 51, 50, 95, 115, 119, 97, 112, 11, 4, 4, 12, 8, 8, 14,
7834         4, 0, 0, 0, 128, 16, 4, 20, 4, 222, 32, 4, 132, 32, 32, 16,
7835         126, 32, 32, 24, 184, 0, 32, 2, 0,
7836       };
7837       p = orc_program_new_from_static_bytecode (bc);
7838       orc_program_set_backup_function (p,
7839           _backup_audio_convert_orc_pack_double_u32_swap);
7840 #else
7841       p = orc_program_new ();
7842       orc_program_set_name (p, "audio_convert_orc_pack_double_u32_swap");
7843       orc_program_set_backup_function (p,
7844           _backup_audio_convert_orc_pack_double_u32_swap);
7845       orc_program_add_destination (p, 4, "d1");
7846       orc_program_add_source (p, 8, "s1");
7847       orc_program_add_constant (p, 4, 0x80000000, "c1");
7848       orc_program_add_parameter (p, 4, "p1");
7849       orc_program_add_temporary (p, 4, "t1");
7850
7851       orc_program_append_2 (p, "convdl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
7852           ORC_VAR_D1);
7853       orc_program_append_2 (p, "xorl", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
7854           ORC_VAR_D1);
7855       orc_program_append_2 (p, "shrul", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_P1,
7856           ORC_VAR_D1);
7857       orc_program_append_2 (p, "swapl", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1,
7858           ORC_VAR_D1);
7859 #endif
7860
7861       orc_program_compile (p);
7862       c = orc_program_take_code (p);
7863       orc_program_free (p);
7864     }
7865     p_inited = TRUE;
7866     orc_once_mutex_unlock ();
7867   }
7868   ex->arrays[ORC_VAR_A2] = c;
7869   ex->program = 0;
7870
7871   ex->n = n;
7872   ex->arrays[ORC_VAR_D1] = d1;
7873   ex->arrays[ORC_VAR_S1] = (void *) s1;
7874   ex->params[ORC_VAR_P1] = p1;
7875
7876   func = c->exec;
7877   func (ex);
7878 }
7879 #endif
7880
7881
7882 /* audio_convert_orc_pack_double_s32_swap */
7883 #ifdef DISABLE_ORC
7884 void
7885 audio_convert_orc_pack_double_s32_swap (guint8 * ORC_RESTRICT d1,
7886     const gdouble * ORC_RESTRICT s1, int p1, int n)
7887 {
7888   int i;
7889   orc_union32 *ORC_RESTRICT ptr0;
7890   const orc_union64 *ORC_RESTRICT ptr4;
7891   orc_union64 var33;
7892   orc_union32 var34;
7893   orc_union32 var35;
7894   orc_union32 var36;
7895
7896   ptr0 = (orc_union32 *) d1;
7897   ptr4 = (orc_union64 *) s1;
7898
7899
7900   for (i = 0; i < n; i++) {
7901     /* 0: loadq */
7902     var33 = ptr4[i];
7903     /* 1: convdl */
7904     {
7905       int tmp;
7906       tmp = var33.f;
7907       if (tmp == 0x80000000 && !(var33.i & ORC_UINT64_C (0x8000000000000000)))
7908         tmp = 0x7fffffff;
7909       var35.i = tmp;
7910     }
7911     /* 2: shrsl */
7912     var36.i = var35.i >> p1;
7913     /* 3: swapl */
7914     var34.i = ORC_SWAP_L (var36.i);
7915     /* 4: storel */
7916     ptr0[i] = var34;
7917   }
7918
7919 }
7920
7921 #else
7922 static void
7923 _backup_audio_convert_orc_pack_double_s32_swap (OrcExecutor * ORC_RESTRICT ex)
7924 {
7925   int i;
7926   int n = ex->n;
7927   orc_union32 *ORC_RESTRICT ptr0;
7928   const orc_union64 *ORC_RESTRICT ptr4;
7929   orc_union64 var33;
7930   orc_union32 var34;
7931   orc_union32 var35;
7932   orc_union32 var36;
7933
7934   ptr0 = (orc_union32 *) ex->arrays[0];
7935   ptr4 = (orc_union64 *) ex->arrays[4];
7936
7937
7938   for (i = 0; i < n; i++) {
7939     /* 0: loadq */
7940     var33 = ptr4[i];
7941     /* 1: convdl */
7942     {
7943       int tmp;
7944       tmp = var33.f;
7945       if (tmp == 0x80000000 && !(var33.i & ORC_UINT64_C (0x8000000000000000)))
7946         tmp = 0x7fffffff;
7947       var35.i = tmp;
7948     }
7949     /* 2: shrsl */
7950     var36.i = var35.i >> ex->params[24];
7951     /* 3: swapl */
7952     var34.i = ORC_SWAP_L (var36.i);
7953     /* 4: storel */
7954     ptr0[i] = var34;
7955   }
7956
7957 }
7958
7959 void
7960 audio_convert_orc_pack_double_s32_swap (guint8 * ORC_RESTRICT d1,
7961     const gdouble * ORC_RESTRICT s1, int p1, int n)
7962 {
7963   OrcExecutor _ex, *ex = &_ex;
7964   static volatile int p_inited = 0;
7965   static OrcCode *c = 0;
7966   void (*func) (OrcExecutor *);
7967
7968   if (!p_inited) {
7969     orc_once_mutex_lock ();
7970     if (!p_inited) {
7971       OrcProgram *p;
7972
7973 #if 1
7974       static const orc_uint8 bc[] = {
7975         1, 9, 38, 97, 117, 100, 105, 111, 95, 99, 111, 110, 118, 101, 114, 116,
7976         95, 111, 114, 99, 95, 112, 97, 99, 107, 95, 100, 111, 117, 98, 108, 101,
7977         95, 115, 51, 50, 95, 115, 119, 97, 112, 11, 4, 4, 12, 8, 8, 16,
7978         4, 20, 4, 222, 32, 4, 125, 32, 32, 24, 184, 0, 32, 2, 0,
7979       };
7980       p = orc_program_new_from_static_bytecode (bc);
7981       orc_program_set_backup_function (p,
7982           _backup_audio_convert_orc_pack_double_s32_swap);
7983 #else
7984       p = orc_program_new ();
7985       orc_program_set_name (p, "audio_convert_orc_pack_double_s32_swap");
7986       orc_program_set_backup_function (p,
7987           _backup_audio_convert_orc_pack_double_s32_swap);
7988       orc_program_add_destination (p, 4, "d1");
7989       orc_program_add_source (p, 8, "s1");
7990       orc_program_add_parameter (p, 4, "p1");
7991       orc_program_add_temporary (p, 4, "t1");
7992
7993       orc_program_append_2 (p, "convdl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
7994           ORC_VAR_D1);
7995       orc_program_append_2 (p, "shrsl", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_P1,
7996           ORC_VAR_D1);
7997       orc_program_append_2 (p, "swapl", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1,
7998           ORC_VAR_D1);
7999 #endif
8000
8001       orc_program_compile (p);
8002       c = orc_program_take_code (p);
8003       orc_program_free (p);
8004     }
8005     p_inited = TRUE;
8006     orc_once_mutex_unlock ();
8007   }
8008   ex->arrays[ORC_VAR_A2] = c;
8009   ex->program = 0;
8010
8011   ex->n = n;
8012   ex->arrays[ORC_VAR_D1] = d1;
8013   ex->arrays[ORC_VAR_S1] = (void *) s1;
8014   ex->params[ORC_VAR_P1] = p1;
8015
8016   func = c->exec;
8017   func (ex);
8018 }
8019 #endif