2 /* autogenerated from gstadderorc.orc */
9 #ifndef _ORC_INTEGER_TYPEDEFS_
10 #define _ORC_INTEGER_TYPEDEFS_
11 #if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
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
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)
46 typedef long orc_int64;
47 typedef unsigned long orc_uint64;
48 #define ORC_UINT64_C(x) (x##UL)
73 #if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
74 #define ORC_RESTRICT restrict
75 #elif defined(__GNUC__) && __GNUC__ >= 4
76 #define ORC_RESTRICT __restrict__
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")))
98 void adder_orc_add_s32 (gint32 * ORC_RESTRICT d1,
99 const gint32 * ORC_RESTRICT s1, int n);
100 void adder_orc_add_s16 (gint16 * ORC_RESTRICT d1,
101 const gint16 * ORC_RESTRICT s1, int n);
102 void adder_orc_add_s8 (gint8 * ORC_RESTRICT d1, const gint8 * ORC_RESTRICT s1,
104 void adder_orc_add_u32 (guint32 * ORC_RESTRICT d1,
105 const guint32 * ORC_RESTRICT s1, int n);
106 void adder_orc_add_u16 (guint16 * ORC_RESTRICT d1,
107 const guint16 * ORC_RESTRICT s1, int n);
108 void adder_orc_add_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
110 void adder_orc_add_f32 (float *ORC_RESTRICT d1, const float *ORC_RESTRICT s1,
112 void adder_orc_add_f64 (double *ORC_RESTRICT d1, const double *ORC_RESTRICT s1,
114 void adder_orc_volume_u8 (guint8 * ORC_RESTRICT d1, int p1, int n);
115 void adder_orc_volume_s8 (gint8 * ORC_RESTRICT d1, int p1, int n);
116 void adder_orc_volume_u16 (guint16 * ORC_RESTRICT d1, int p1, int n);
117 void adder_orc_volume_s16 (gint16 * ORC_RESTRICT d1, int p1, int n);
118 void adder_orc_volume_u32 (guint32 * ORC_RESTRICT d1, int p1, int n);
119 void adder_orc_volume_s32 (gint32 * ORC_RESTRICT d1, int p1, int n);
120 void adder_orc_volume_f32 (float *ORC_RESTRICT d1, float p1, int n);
121 void adder_orc_volume_f64 (double *ORC_RESTRICT d1, double p1, int n);
122 void adder_orc_add_volume_u8 (guint8 * ORC_RESTRICT d1,
123 const guint8 * ORC_RESTRICT s1, int p1, int n);
124 void adder_orc_add_volume_s8 (gint8 * ORC_RESTRICT d1,
125 const gint8 * ORC_RESTRICT s1, int p1, int n);
126 void adder_orc_add_volume_u16 (guint16 * ORC_RESTRICT d1,
127 const guint16 * ORC_RESTRICT s1, int p1, int n);
128 void adder_orc_add_volume_s16 (gint16 * ORC_RESTRICT d1,
129 const gint16 * ORC_RESTRICT s1, int p1, int n);
130 void adder_orc_add_volume_u32 (guint32 * ORC_RESTRICT d1,
131 const guint32 * ORC_RESTRICT s1, int p1, int n);
132 void adder_orc_add_volume_s32 (gint32 * ORC_RESTRICT d1,
133 const gint32 * ORC_RESTRICT s1, int p1, int n);
134 void adder_orc_add_volume_f32 (float *ORC_RESTRICT d1,
135 const float *ORC_RESTRICT s1, float p1, int n);
136 void adder_orc_add_volume_f64 (double *ORC_RESTRICT d1,
137 const double *ORC_RESTRICT s1, double p1, int n);
140 /* begin Orc C target preamble */
141 #define ORC_CLAMP(x,a,b) ((x)<(a) ? (a) : ((x)>(b) ? (b) : (x)))
142 #define ORC_ABS(a) ((a)<0 ? -(a) : (a))
143 #define ORC_MIN(a,b) ((a)<(b) ? (a) : (b))
144 #define ORC_MAX(a,b) ((a)>(b) ? (a) : (b))
145 #define ORC_SB_MAX 127
146 #define ORC_SB_MIN (-1-ORC_SB_MAX)
147 #define ORC_UB_MAX 255
149 #define ORC_SW_MAX 32767
150 #define ORC_SW_MIN (-1-ORC_SW_MAX)
151 #define ORC_UW_MAX 65535
153 #define ORC_SL_MAX 2147483647
154 #define ORC_SL_MIN (-1-ORC_SL_MAX)
155 #define ORC_UL_MAX 4294967295U
157 #define ORC_CLAMP_SB(x) ORC_CLAMP(x,ORC_SB_MIN,ORC_SB_MAX)
158 #define ORC_CLAMP_UB(x) ORC_CLAMP(x,ORC_UB_MIN,ORC_UB_MAX)
159 #define ORC_CLAMP_SW(x) ORC_CLAMP(x,ORC_SW_MIN,ORC_SW_MAX)
160 #define ORC_CLAMP_UW(x) ORC_CLAMP(x,ORC_UW_MIN,ORC_UW_MAX)
161 #define ORC_CLAMP_SL(x) ORC_CLAMP(x,ORC_SL_MIN,ORC_SL_MAX)
162 #define ORC_CLAMP_UL(x) ORC_CLAMP(x,ORC_UL_MIN,ORC_UL_MAX)
163 #define ORC_SWAP_W(x) ((((x)&0xffU)<<8) | (((x)&0xff00U)>>8))
164 #define ORC_SWAP_L(x) ((((x)&0xffU)<<24) | (((x)&0xff00U)<<8) | (((x)&0xff0000U)>>8) | (((x)&0xff000000U)>>24))
165 #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))
166 #define ORC_PTR_OFFSET(ptr,offset) ((void *)(((unsigned char *)(ptr)) + (offset)))
167 #define ORC_DENORMAL(x) ((x) & ((((x)&0x7f800000) == 0) ? 0xff800000 : 0xffffffff))
168 #define ORC_ISNAN(x) ((((x)&0x7f800000) == 0x7f800000) && (((x)&0x007fffff) != 0))
169 #define ORC_DENORMAL_DOUBLE(x) ((x) & ((((x)&ORC_UINT64_C(0x7ff0000000000000)) == 0) ? ORC_UINT64_C(0xfff0000000000000) : ORC_UINT64_C(0xffffffffffffffff)))
170 #define ORC_ISNAN_DOUBLE(x) ((((x)&ORC_UINT64_C(0x7ff0000000000000)) == ORC_UINT64_C(0x7ff0000000000000)) && (((x)&ORC_UINT64_C(0x000fffffffffffff)) != 0))
172 #if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
173 #define ORC_RESTRICT restrict
174 #elif defined(__GNUC__) && __GNUC__ >= 4
175 #define ORC_RESTRICT __restrict__
180 /* end Orc C target preamble */
184 /* adder_orc_add_s32 */
187 adder_orc_add_s32 (gint32 * ORC_RESTRICT d1, const gint32 * ORC_RESTRICT s1,
191 orc_union32 *ORC_RESTRICT ptr0;
192 const orc_union32 *ORC_RESTRICT ptr4;
197 ptr0 = (orc_union32 *) d1;
198 ptr4 = (orc_union32 *) s1;
201 for (i = 0; i < n; i++) {
207 var34.i = ORC_CLAMP_SL ((orc_int64) var32.i + (orc_int64) var33.i);
216 _backup_adder_orc_add_s32 (OrcExecutor * ORC_RESTRICT ex)
220 orc_union32 *ORC_RESTRICT ptr0;
221 const orc_union32 *ORC_RESTRICT ptr4;
226 ptr0 = (orc_union32 *) ex->arrays[0];
227 ptr4 = (orc_union32 *) ex->arrays[4];
230 for (i = 0; i < n; i++) {
236 var34.i = ORC_CLAMP_SL ((orc_int64) var32.i + (orc_int64) var33.i);
244 adder_orc_add_s32 (gint32 * ORC_RESTRICT d1, const gint32 * ORC_RESTRICT s1,
247 OrcExecutor _ex, *ex = &_ex;
248 static volatile int p_inited = 0;
249 static OrcCode *c = 0;
250 void (*func) (OrcExecutor *);
253 orc_once_mutex_lock ();
258 static const orc_uint8 bc[] = {
259 1, 9, 17, 97, 100, 100, 101, 114, 95, 111, 114, 99, 95, 97, 100, 100,
260 95, 115, 51, 50, 11, 4, 4, 12, 4, 4, 104, 0, 0, 4, 2, 0,
263 p = orc_program_new_from_static_bytecode (bc);
264 orc_program_set_backup_function (p, _backup_adder_orc_add_s32);
266 p = orc_program_new ();
267 orc_program_set_name (p, "adder_orc_add_s32");
268 orc_program_set_backup_function (p, _backup_adder_orc_add_s32);
269 orc_program_add_destination (p, 4, "d1");
270 orc_program_add_source (p, 4, "s1");
272 orc_program_append_2 (p, "addssl", 0, ORC_VAR_D1, ORC_VAR_D1, ORC_VAR_S1,
276 orc_program_compile (p);
277 c = orc_program_take_code (p);
278 orc_program_free (p);
281 orc_once_mutex_unlock ();
283 ex->arrays[ORC_VAR_A2] = c;
287 ex->arrays[ORC_VAR_D1] = d1;
288 ex->arrays[ORC_VAR_S1] = (void *) s1;
296 /* adder_orc_add_s16 */
299 adder_orc_add_s16 (gint16 * ORC_RESTRICT d1, const gint16 * ORC_RESTRICT s1,
303 orc_union16 *ORC_RESTRICT ptr0;
304 const orc_union16 *ORC_RESTRICT ptr4;
309 ptr0 = (orc_union16 *) d1;
310 ptr4 = (orc_union16 *) s1;
313 for (i = 0; i < n; i++) {
319 var34.i = ORC_CLAMP_SW (var32.i + var33.i);
328 _backup_adder_orc_add_s16 (OrcExecutor * ORC_RESTRICT ex)
332 orc_union16 *ORC_RESTRICT ptr0;
333 const orc_union16 *ORC_RESTRICT ptr4;
338 ptr0 = (orc_union16 *) ex->arrays[0];
339 ptr4 = (orc_union16 *) ex->arrays[4];
342 for (i = 0; i < n; i++) {
348 var34.i = ORC_CLAMP_SW (var32.i + var33.i);
356 adder_orc_add_s16 (gint16 * ORC_RESTRICT d1, const gint16 * ORC_RESTRICT s1,
359 OrcExecutor _ex, *ex = &_ex;
360 static volatile int p_inited = 0;
361 static OrcCode *c = 0;
362 void (*func) (OrcExecutor *);
365 orc_once_mutex_lock ();
370 static const orc_uint8 bc[] = {
371 1, 9, 17, 97, 100, 100, 101, 114, 95, 111, 114, 99, 95, 97, 100, 100,
372 95, 115, 49, 54, 11, 2, 2, 12, 2, 2, 71, 0, 0, 4, 2, 0,
375 p = orc_program_new_from_static_bytecode (bc);
376 orc_program_set_backup_function (p, _backup_adder_orc_add_s16);
378 p = orc_program_new ();
379 orc_program_set_name (p, "adder_orc_add_s16");
380 orc_program_set_backup_function (p, _backup_adder_orc_add_s16);
381 orc_program_add_destination (p, 2, "d1");
382 orc_program_add_source (p, 2, "s1");
384 orc_program_append_2 (p, "addssw", 0, ORC_VAR_D1, ORC_VAR_D1, ORC_VAR_S1,
388 orc_program_compile (p);
389 c = orc_program_take_code (p);
390 orc_program_free (p);
393 orc_once_mutex_unlock ();
395 ex->arrays[ORC_VAR_A2] = c;
399 ex->arrays[ORC_VAR_D1] = d1;
400 ex->arrays[ORC_VAR_S1] = (void *) s1;
408 /* adder_orc_add_s8 */
411 adder_orc_add_s8 (gint8 * ORC_RESTRICT d1, const gint8 * ORC_RESTRICT s1, int n)
414 orc_int8 *ORC_RESTRICT ptr0;
415 const orc_int8 *ORC_RESTRICT ptr4;
420 ptr0 = (orc_int8 *) d1;
421 ptr4 = (orc_int8 *) s1;
424 for (i = 0; i < n; i++) {
430 var34 = ORC_CLAMP_SB (var32 + var33);
439 _backup_adder_orc_add_s8 (OrcExecutor * ORC_RESTRICT ex)
443 orc_int8 *ORC_RESTRICT ptr0;
444 const orc_int8 *ORC_RESTRICT ptr4;
449 ptr0 = (orc_int8 *) ex->arrays[0];
450 ptr4 = (orc_int8 *) ex->arrays[4];
453 for (i = 0; i < n; i++) {
459 var34 = ORC_CLAMP_SB (var32 + var33);
467 adder_orc_add_s8 (gint8 * ORC_RESTRICT d1, const gint8 * ORC_RESTRICT s1, int n)
469 OrcExecutor _ex, *ex = &_ex;
470 static volatile int p_inited = 0;
471 static OrcCode *c = 0;
472 void (*func) (OrcExecutor *);
475 orc_once_mutex_lock ();
480 static const orc_uint8 bc[] = {
481 1, 9, 16, 97, 100, 100, 101, 114, 95, 111, 114, 99, 95, 97, 100, 100,
482 95, 115, 56, 11, 1, 1, 12, 1, 1, 34, 0, 0, 4, 2, 0,
484 p = orc_program_new_from_static_bytecode (bc);
485 orc_program_set_backup_function (p, _backup_adder_orc_add_s8);
487 p = orc_program_new ();
488 orc_program_set_name (p, "adder_orc_add_s8");
489 orc_program_set_backup_function (p, _backup_adder_orc_add_s8);
490 orc_program_add_destination (p, 1, "d1");
491 orc_program_add_source (p, 1, "s1");
493 orc_program_append_2 (p, "addssb", 0, ORC_VAR_D1, ORC_VAR_D1, ORC_VAR_S1,
497 orc_program_compile (p);
498 c = orc_program_take_code (p);
499 orc_program_free (p);
502 orc_once_mutex_unlock ();
504 ex->arrays[ORC_VAR_A2] = c;
508 ex->arrays[ORC_VAR_D1] = d1;
509 ex->arrays[ORC_VAR_S1] = (void *) s1;
517 /* adder_orc_add_u32 */
520 adder_orc_add_u32 (guint32 * ORC_RESTRICT d1, const guint32 * ORC_RESTRICT s1,
524 orc_union32 *ORC_RESTRICT ptr0;
525 const orc_union32 *ORC_RESTRICT ptr4;
530 ptr0 = (orc_union32 *) d1;
531 ptr4 = (orc_union32 *) s1;
534 for (i = 0; i < n; i++) {
541 ORC_CLAMP_UL ((orc_int64) (orc_uint32) var32.i +
542 (orc_int64) (orc_uint32) var33.i);
551 _backup_adder_orc_add_u32 (OrcExecutor * ORC_RESTRICT ex)
555 orc_union32 *ORC_RESTRICT ptr0;
556 const orc_union32 *ORC_RESTRICT ptr4;
561 ptr0 = (orc_union32 *) ex->arrays[0];
562 ptr4 = (orc_union32 *) ex->arrays[4];
565 for (i = 0; i < n; i++) {
572 ORC_CLAMP_UL ((orc_int64) (orc_uint32) var32.i +
573 (orc_int64) (orc_uint32) var33.i);
581 adder_orc_add_u32 (guint32 * ORC_RESTRICT d1, const guint32 * ORC_RESTRICT s1,
584 OrcExecutor _ex, *ex = &_ex;
585 static volatile int p_inited = 0;
586 static OrcCode *c = 0;
587 void (*func) (OrcExecutor *);
590 orc_once_mutex_lock ();
595 static const orc_uint8 bc[] = {
596 1, 9, 17, 97, 100, 100, 101, 114, 95, 111, 114, 99, 95, 97, 100, 100,
597 95, 117, 51, 50, 11, 4, 4, 12, 4, 4, 105, 0, 0, 4, 2, 0,
600 p = orc_program_new_from_static_bytecode (bc);
601 orc_program_set_backup_function (p, _backup_adder_orc_add_u32);
603 p = orc_program_new ();
604 orc_program_set_name (p, "adder_orc_add_u32");
605 orc_program_set_backup_function (p, _backup_adder_orc_add_u32);
606 orc_program_add_destination (p, 4, "d1");
607 orc_program_add_source (p, 4, "s1");
609 orc_program_append_2 (p, "addusl", 0, ORC_VAR_D1, ORC_VAR_D1, ORC_VAR_S1,
613 orc_program_compile (p);
614 c = orc_program_take_code (p);
615 orc_program_free (p);
618 orc_once_mutex_unlock ();
620 ex->arrays[ORC_VAR_A2] = c;
624 ex->arrays[ORC_VAR_D1] = d1;
625 ex->arrays[ORC_VAR_S1] = (void *) s1;
633 /* adder_orc_add_u16 */
636 adder_orc_add_u16 (guint16 * ORC_RESTRICT d1, const guint16 * ORC_RESTRICT s1,
640 orc_union16 *ORC_RESTRICT ptr0;
641 const orc_union16 *ORC_RESTRICT ptr4;
646 ptr0 = (orc_union16 *) d1;
647 ptr4 = (orc_union16 *) s1;
650 for (i = 0; i < n; i++) {
656 var34.i = ORC_CLAMP_UW ((orc_uint16) var32.i + (orc_uint16) var33.i);
665 _backup_adder_orc_add_u16 (OrcExecutor * ORC_RESTRICT ex)
669 orc_union16 *ORC_RESTRICT ptr0;
670 const orc_union16 *ORC_RESTRICT ptr4;
675 ptr0 = (orc_union16 *) ex->arrays[0];
676 ptr4 = (orc_union16 *) ex->arrays[4];
679 for (i = 0; i < n; i++) {
685 var34.i = ORC_CLAMP_UW ((orc_uint16) var32.i + (orc_uint16) var33.i);
693 adder_orc_add_u16 (guint16 * ORC_RESTRICT d1, const guint16 * ORC_RESTRICT s1,
696 OrcExecutor _ex, *ex = &_ex;
697 static volatile int p_inited = 0;
698 static OrcCode *c = 0;
699 void (*func) (OrcExecutor *);
702 orc_once_mutex_lock ();
707 static const orc_uint8 bc[] = {
708 1, 9, 17, 97, 100, 100, 101, 114, 95, 111, 114, 99, 95, 97, 100, 100,
709 95, 117, 49, 54, 11, 2, 2, 12, 2, 2, 72, 0, 0, 4, 2, 0,
712 p = orc_program_new_from_static_bytecode (bc);
713 orc_program_set_backup_function (p, _backup_adder_orc_add_u16);
715 p = orc_program_new ();
716 orc_program_set_name (p, "adder_orc_add_u16");
717 orc_program_set_backup_function (p, _backup_adder_orc_add_u16);
718 orc_program_add_destination (p, 2, "d1");
719 orc_program_add_source (p, 2, "s1");
721 orc_program_append_2 (p, "addusw", 0, ORC_VAR_D1, ORC_VAR_D1, ORC_VAR_S1,
725 orc_program_compile (p);
726 c = orc_program_take_code (p);
727 orc_program_free (p);
730 orc_once_mutex_unlock ();
732 ex->arrays[ORC_VAR_A2] = c;
736 ex->arrays[ORC_VAR_D1] = d1;
737 ex->arrays[ORC_VAR_S1] = (void *) s1;
745 /* adder_orc_add_u8 */
748 adder_orc_add_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
752 orc_int8 *ORC_RESTRICT ptr0;
753 const orc_int8 *ORC_RESTRICT ptr4;
758 ptr0 = (orc_int8 *) d1;
759 ptr4 = (orc_int8 *) s1;
762 for (i = 0; i < n; i++) {
768 var34 = ORC_CLAMP_UB ((orc_uint8) var32 + (orc_uint8) var33);
777 _backup_adder_orc_add_u8 (OrcExecutor * ORC_RESTRICT ex)
781 orc_int8 *ORC_RESTRICT ptr0;
782 const orc_int8 *ORC_RESTRICT ptr4;
787 ptr0 = (orc_int8 *) ex->arrays[0];
788 ptr4 = (orc_int8 *) ex->arrays[4];
791 for (i = 0; i < n; i++) {
797 var34 = ORC_CLAMP_UB ((orc_uint8) var32 + (orc_uint8) var33);
805 adder_orc_add_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
808 OrcExecutor _ex, *ex = &_ex;
809 static volatile int p_inited = 0;
810 static OrcCode *c = 0;
811 void (*func) (OrcExecutor *);
814 orc_once_mutex_lock ();
819 static const orc_uint8 bc[] = {
820 1, 9, 16, 97, 100, 100, 101, 114, 95, 111, 114, 99, 95, 97, 100, 100,
821 95, 117, 56, 11, 1, 1, 12, 1, 1, 35, 0, 0, 4, 2, 0,
823 p = orc_program_new_from_static_bytecode (bc);
824 orc_program_set_backup_function (p, _backup_adder_orc_add_u8);
826 p = orc_program_new ();
827 orc_program_set_name (p, "adder_orc_add_u8");
828 orc_program_set_backup_function (p, _backup_adder_orc_add_u8);
829 orc_program_add_destination (p, 1, "d1");
830 orc_program_add_source (p, 1, "s1");
832 orc_program_append_2 (p, "addusb", 0, ORC_VAR_D1, ORC_VAR_D1, ORC_VAR_S1,
836 orc_program_compile (p);
837 c = orc_program_take_code (p);
838 orc_program_free (p);
841 orc_once_mutex_unlock ();
843 ex->arrays[ORC_VAR_A2] = c;
847 ex->arrays[ORC_VAR_D1] = d1;
848 ex->arrays[ORC_VAR_S1] = (void *) s1;
856 /* adder_orc_add_f32 */
859 adder_orc_add_f32 (float *ORC_RESTRICT d1, const float *ORC_RESTRICT s1, int n)
862 orc_union32 *ORC_RESTRICT ptr0;
863 const orc_union32 *ORC_RESTRICT ptr4;
868 ptr0 = (orc_union32 *) d1;
869 ptr4 = (orc_union32 *) s1;
872 for (i = 0; i < n; i++) {
882 _src1.i = ORC_DENORMAL (var32.i);
883 _src2.i = ORC_DENORMAL (var33.i);
884 _dest1.f = _src1.f + _src2.f;
885 var34.i = ORC_DENORMAL (_dest1.i);
895 _backup_adder_orc_add_f32 (OrcExecutor * ORC_RESTRICT ex)
899 orc_union32 *ORC_RESTRICT ptr0;
900 const orc_union32 *ORC_RESTRICT ptr4;
905 ptr0 = (orc_union32 *) ex->arrays[0];
906 ptr4 = (orc_union32 *) ex->arrays[4];
909 for (i = 0; i < n; i++) {
919 _src1.i = ORC_DENORMAL (var32.i);
920 _src2.i = ORC_DENORMAL (var33.i);
921 _dest1.f = _src1.f + _src2.f;
922 var34.i = ORC_DENORMAL (_dest1.i);
931 adder_orc_add_f32 (float *ORC_RESTRICT d1, const float *ORC_RESTRICT s1, int n)
933 OrcExecutor _ex, *ex = &_ex;
934 static volatile int p_inited = 0;
935 static OrcCode *c = 0;
936 void (*func) (OrcExecutor *);
939 orc_once_mutex_lock ();
944 static const orc_uint8 bc[] = {
945 1, 9, 17, 97, 100, 100, 101, 114, 95, 111, 114, 99, 95, 97, 100, 100,
946 95, 102, 51, 50, 11, 4, 4, 12, 4, 4, 200, 0, 0, 4, 2, 0,
949 p = orc_program_new_from_static_bytecode (bc);
950 orc_program_set_backup_function (p, _backup_adder_orc_add_f32);
952 p = orc_program_new ();
953 orc_program_set_name (p, "adder_orc_add_f32");
954 orc_program_set_backup_function (p, _backup_adder_orc_add_f32);
955 orc_program_add_destination (p, 4, "d1");
956 orc_program_add_source (p, 4, "s1");
958 orc_program_append_2 (p, "addf", 0, ORC_VAR_D1, ORC_VAR_D1, ORC_VAR_S1,
962 orc_program_compile (p);
963 c = orc_program_take_code (p);
964 orc_program_free (p);
967 orc_once_mutex_unlock ();
969 ex->arrays[ORC_VAR_A2] = c;
973 ex->arrays[ORC_VAR_D1] = d1;
974 ex->arrays[ORC_VAR_S1] = (void *) s1;
982 /* adder_orc_add_f64 */
985 adder_orc_add_f64 (double *ORC_RESTRICT d1, const double *ORC_RESTRICT s1,
989 orc_union64 *ORC_RESTRICT ptr0;
990 const orc_union64 *ORC_RESTRICT ptr4;
995 ptr0 = (orc_union64 *) d1;
996 ptr4 = (orc_union64 *) s1;
999 for (i = 0; i < n; i++) {
1009 _src1.i = ORC_DENORMAL_DOUBLE (var32.i);
1010 _src2.i = ORC_DENORMAL_DOUBLE (var33.i);
1011 _dest1.f = _src1.f + _src2.f;
1012 var34.i = ORC_DENORMAL_DOUBLE (_dest1.i);
1022 _backup_adder_orc_add_f64 (OrcExecutor * ORC_RESTRICT ex)
1026 orc_union64 *ORC_RESTRICT ptr0;
1027 const orc_union64 *ORC_RESTRICT ptr4;
1032 ptr0 = (orc_union64 *) ex->arrays[0];
1033 ptr4 = (orc_union64 *) ex->arrays[4];
1036 for (i = 0; i < n; i++) {
1046 _src1.i = ORC_DENORMAL_DOUBLE (var32.i);
1047 _src2.i = ORC_DENORMAL_DOUBLE (var33.i);
1048 _dest1.f = _src1.f + _src2.f;
1049 var34.i = ORC_DENORMAL_DOUBLE (_dest1.i);
1058 adder_orc_add_f64 (double *ORC_RESTRICT d1, const double *ORC_RESTRICT s1,
1061 OrcExecutor _ex, *ex = &_ex;
1062 static volatile int p_inited = 0;
1063 static OrcCode *c = 0;
1064 void (*func) (OrcExecutor *);
1067 orc_once_mutex_lock ();
1072 static const orc_uint8 bc[] = {
1073 1, 9, 17, 97, 100, 100, 101, 114, 95, 111, 114, 99, 95, 97, 100, 100,
1074 95, 102, 54, 52, 11, 8, 8, 12, 8, 8, 212, 0, 0, 4, 2, 0,
1077 p = orc_program_new_from_static_bytecode (bc);
1078 orc_program_set_backup_function (p, _backup_adder_orc_add_f64);
1080 p = orc_program_new ();
1081 orc_program_set_name (p, "adder_orc_add_f64");
1082 orc_program_set_backup_function (p, _backup_adder_orc_add_f64);
1083 orc_program_add_destination (p, 8, "d1");
1084 orc_program_add_source (p, 8, "s1");
1086 orc_program_append_2 (p, "addd", 0, ORC_VAR_D1, ORC_VAR_D1, ORC_VAR_S1,
1090 orc_program_compile (p);
1091 c = orc_program_take_code (p);
1092 orc_program_free (p);
1095 orc_once_mutex_unlock ();
1097 ex->arrays[ORC_VAR_A2] = c;
1101 ex->arrays[ORC_VAR_D1] = d1;
1102 ex->arrays[ORC_VAR_S1] = (void *) s1;
1110 /* adder_orc_volume_u8 */
1113 adder_orc_volume_u8 (guint8 * ORC_RESTRICT d1, int p1, int n)
1116 orc_int8 *ORC_RESTRICT ptr0;
1118 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
1119 volatile orc_int8 var35;
1130 ptr0 = (orc_int8 *) d1;
1133 var35 = (int) 0x00000080; /* 128 or 6.32404e-322f */
1137 for (i = 0; i < n; i++) {
1141 var38 = var34 ^ var35;
1143 var39.i = var38 * var36;
1145 var40.i = var39.i >> 3;
1147 var41 = ORC_CLAMP_SB (var40.i);
1149 var37 = var41 ^ var35;
1158 _backup_adder_orc_volume_u8 (OrcExecutor * ORC_RESTRICT ex)
1162 orc_int8 *ORC_RESTRICT ptr0;
1164 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
1165 volatile orc_int8 var35;
1176 ptr0 = (orc_int8 *) ex->arrays[0];
1179 var35 = (int) 0x00000080; /* 128 or 6.32404e-322f */
1181 var36 = ex->params[24];
1183 for (i = 0; i < n; i++) {
1187 var38 = var34 ^ var35;
1189 var39.i = var38 * var36;
1191 var40.i = var39.i >> 3;
1193 var41 = ORC_CLAMP_SB (var40.i);
1195 var37 = var41 ^ var35;
1203 adder_orc_volume_u8 (guint8 * ORC_RESTRICT d1, int p1, int n)
1205 OrcExecutor _ex, *ex = &_ex;
1206 static volatile int p_inited = 0;
1207 static OrcCode *c = 0;
1208 void (*func) (OrcExecutor *);
1211 orc_once_mutex_lock ();
1216 static const orc_uint8 bc[] = {
1217 1, 9, 19, 97, 100, 100, 101, 114, 95, 111, 114, 99, 95, 118, 111, 108,
1218 117, 109, 101, 95, 117, 56, 11, 1, 1, 14, 1, 128, 0, 0, 0, 14,
1219 2, 3, 0, 0, 0, 16, 1, 20, 2, 20, 1, 68, 33, 0, 16, 174,
1220 32, 33, 24, 94, 32, 32, 17, 159, 33, 32, 68, 0, 33, 16, 2, 0,
1223 p = orc_program_new_from_static_bytecode (bc);
1224 orc_program_set_backup_function (p, _backup_adder_orc_volume_u8);
1226 p = orc_program_new ();
1227 orc_program_set_name (p, "adder_orc_volume_u8");
1228 orc_program_set_backup_function (p, _backup_adder_orc_volume_u8);
1229 orc_program_add_destination (p, 1, "d1");
1230 orc_program_add_constant (p, 1, 0x00000080, "c1");
1231 orc_program_add_constant (p, 2, 0x00000003, "c2");
1232 orc_program_add_parameter (p, 1, "p1");
1233 orc_program_add_temporary (p, 2, "t1");
1234 orc_program_add_temporary (p, 1, "t2");
1236 orc_program_append_2 (p, "xorb", 0, ORC_VAR_T2, ORC_VAR_D1, ORC_VAR_C1,
1238 orc_program_append_2 (p, "mulsbw", 0, ORC_VAR_T1, ORC_VAR_T2, ORC_VAR_P1,
1240 orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C2,
1242 orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T2, ORC_VAR_T1,
1243 ORC_VAR_D1, ORC_VAR_D1);
1244 orc_program_append_2 (p, "xorb", 0, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_C1,
1248 orc_program_compile (p);
1249 c = orc_program_take_code (p);
1250 orc_program_free (p);
1253 orc_once_mutex_unlock ();
1255 ex->arrays[ORC_VAR_A2] = c;
1259 ex->arrays[ORC_VAR_D1] = d1;
1260 ex->params[ORC_VAR_P1] = p1;
1268 /* adder_orc_volume_s8 */
1271 adder_orc_volume_s8 (gint8 * ORC_RESTRICT d1, int p1, int n)
1274 orc_int8 *ORC_RESTRICT ptr0;
1281 ptr0 = (orc_int8 *) d1;
1286 for (i = 0; i < n; i++) {
1290 var36.i = var33 * var34;
1292 var37.i = var36.i >> 3;
1294 var35 = ORC_CLAMP_SB (var37.i);
1303 _backup_adder_orc_volume_s8 (OrcExecutor * ORC_RESTRICT ex)
1307 orc_int8 *ORC_RESTRICT ptr0;
1314 ptr0 = (orc_int8 *) ex->arrays[0];
1317 var34 = ex->params[24];
1319 for (i = 0; i < n; i++) {
1323 var36.i = var33 * var34;
1325 var37.i = var36.i >> 3;
1327 var35 = ORC_CLAMP_SB (var37.i);
1335 adder_orc_volume_s8 (gint8 * ORC_RESTRICT d1, int p1, int n)
1337 OrcExecutor _ex, *ex = &_ex;
1338 static volatile int p_inited = 0;
1339 static OrcCode *c = 0;
1340 void (*func) (OrcExecutor *);
1343 orc_once_mutex_lock ();
1348 static const orc_uint8 bc[] = {
1349 1, 9, 19, 97, 100, 100, 101, 114, 95, 111, 114, 99, 95, 118, 111, 108,
1350 117, 109, 101, 95, 115, 56, 11, 1, 1, 14, 2, 3, 0, 0, 0, 16,
1351 1, 20, 2, 174, 32, 0, 24, 94, 32, 32, 16, 159, 0, 32, 2, 0,
1354 p = orc_program_new_from_static_bytecode (bc);
1355 orc_program_set_backup_function (p, _backup_adder_orc_volume_s8);
1357 p = orc_program_new ();
1358 orc_program_set_name (p, "adder_orc_volume_s8");
1359 orc_program_set_backup_function (p, _backup_adder_orc_volume_s8);
1360 orc_program_add_destination (p, 1, "d1");
1361 orc_program_add_constant (p, 2, 0x00000003, "c1");
1362 orc_program_add_parameter (p, 1, "p1");
1363 orc_program_add_temporary (p, 2, "t1");
1365 orc_program_append_2 (p, "mulsbw", 0, ORC_VAR_T1, ORC_VAR_D1, ORC_VAR_P1,
1367 orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
1369 orc_program_append_2 (p, "convssswb", 0, ORC_VAR_D1, ORC_VAR_T1,
1370 ORC_VAR_D1, ORC_VAR_D1);
1373 orc_program_compile (p);
1374 c = orc_program_take_code (p);
1375 orc_program_free (p);
1378 orc_once_mutex_unlock ();
1380 ex->arrays[ORC_VAR_A2] = c;
1384 ex->arrays[ORC_VAR_D1] = d1;
1385 ex->params[ORC_VAR_P1] = p1;
1393 /* adder_orc_volume_u16 */
1396 adder_orc_volume_u16 (guint16 * ORC_RESTRICT d1, int p1, int n)
1399 orc_union16 *ORC_RESTRICT ptr0;
1401 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
1402 volatile orc_union16 var35;
1413 ptr0 = (orc_union16 *) d1;
1416 var35.i = (int) 0x00008000; /* 32768 or 1.61895e-319f */
1420 for (i = 0; i < n; i++) {
1424 var38.i = var34.i ^ var35.i;
1426 var39.i = var38.i * var36.i;
1428 var40.i = var39.i >> 11;
1430 var41.i = ORC_CLAMP_SW (var40.i);
1432 var37.i = var41.i ^ var35.i;
1441 _backup_adder_orc_volume_u16 (OrcExecutor * ORC_RESTRICT ex)
1445 orc_union16 *ORC_RESTRICT ptr0;
1447 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
1448 volatile orc_union16 var35;
1459 ptr0 = (orc_union16 *) ex->arrays[0];
1462 var35.i = (int) 0x00008000; /* 32768 or 1.61895e-319f */
1464 var36.i = ex->params[24];
1466 for (i = 0; i < n; i++) {
1470 var38.i = var34.i ^ var35.i;
1472 var39.i = var38.i * var36.i;
1474 var40.i = var39.i >> 11;
1476 var41.i = ORC_CLAMP_SW (var40.i);
1478 var37.i = var41.i ^ var35.i;
1486 adder_orc_volume_u16 (guint16 * ORC_RESTRICT d1, int p1, int n)
1488 OrcExecutor _ex, *ex = &_ex;
1489 static volatile int p_inited = 0;
1490 static OrcCode *c = 0;
1491 void (*func) (OrcExecutor *);
1494 orc_once_mutex_lock ();
1499 static const orc_uint8 bc[] = {
1500 1, 9, 20, 97, 100, 100, 101, 114, 95, 111, 114, 99, 95, 118, 111, 108,
1501 117, 109, 101, 95, 117, 49, 54, 11, 2, 2, 14, 2, 0, 128, 0, 0,
1502 14, 4, 11, 0, 0, 0, 16, 2, 20, 4, 20, 2, 101, 33, 0, 16,
1503 176, 32, 33, 24, 125, 32, 32, 17, 165, 33, 32, 101, 0, 33, 16, 2,
1506 p = orc_program_new_from_static_bytecode (bc);
1507 orc_program_set_backup_function (p, _backup_adder_orc_volume_u16);
1509 p = orc_program_new ();
1510 orc_program_set_name (p, "adder_orc_volume_u16");
1511 orc_program_set_backup_function (p, _backup_adder_orc_volume_u16);
1512 orc_program_add_destination (p, 2, "d1");
1513 orc_program_add_constant (p, 2, 0x00008000, "c1");
1514 orc_program_add_constant (p, 4, 0x0000000b, "c2");
1515 orc_program_add_parameter (p, 2, "p1");
1516 orc_program_add_temporary (p, 4, "t1");
1517 orc_program_add_temporary (p, 2, "t2");
1519 orc_program_append_2 (p, "xorw", 0, ORC_VAR_T2, ORC_VAR_D1, ORC_VAR_C1,
1521 orc_program_append_2 (p, "mulswl", 0, ORC_VAR_T1, ORC_VAR_T2, ORC_VAR_P1,
1523 orc_program_append_2 (p, "shrsl", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C2,
1525 orc_program_append_2 (p, "convssslw", 0, ORC_VAR_T2, ORC_VAR_T1,
1526 ORC_VAR_D1, ORC_VAR_D1);
1527 orc_program_append_2 (p, "xorw", 0, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_C1,
1531 orc_program_compile (p);
1532 c = orc_program_take_code (p);
1533 orc_program_free (p);
1536 orc_once_mutex_unlock ();
1538 ex->arrays[ORC_VAR_A2] = c;
1542 ex->arrays[ORC_VAR_D1] = d1;
1543 ex->params[ORC_VAR_P1] = p1;
1551 /* adder_orc_volume_s16 */
1554 adder_orc_volume_s16 (gint16 * ORC_RESTRICT d1, int p1, int n)
1557 orc_union16 *ORC_RESTRICT ptr0;
1564 ptr0 = (orc_union16 *) d1;
1569 for (i = 0; i < n; i++) {
1573 var36.i = var33.i * var34.i;
1575 var37.i = var36.i >> 11;
1577 var35.i = ORC_CLAMP_SW (var37.i);
1586 _backup_adder_orc_volume_s16 (OrcExecutor * ORC_RESTRICT ex)
1590 orc_union16 *ORC_RESTRICT ptr0;
1597 ptr0 = (orc_union16 *) ex->arrays[0];
1600 var34.i = ex->params[24];
1602 for (i = 0; i < n; i++) {
1606 var36.i = var33.i * var34.i;
1608 var37.i = var36.i >> 11;
1610 var35.i = ORC_CLAMP_SW (var37.i);
1618 adder_orc_volume_s16 (gint16 * ORC_RESTRICT d1, int p1, int n)
1620 OrcExecutor _ex, *ex = &_ex;
1621 static volatile int p_inited = 0;
1622 static OrcCode *c = 0;
1623 void (*func) (OrcExecutor *);
1626 orc_once_mutex_lock ();
1631 static const orc_uint8 bc[] = {
1632 1, 9, 20, 97, 100, 100, 101, 114, 95, 111, 114, 99, 95, 118, 111, 108,
1633 117, 109, 101, 95, 115, 49, 54, 11, 2, 2, 14, 4, 11, 0, 0, 0,
1634 16, 2, 20, 4, 176, 32, 0, 24, 125, 32, 32, 16, 165, 0, 32, 2,
1637 p = orc_program_new_from_static_bytecode (bc);
1638 orc_program_set_backup_function (p, _backup_adder_orc_volume_s16);
1640 p = orc_program_new ();
1641 orc_program_set_name (p, "adder_orc_volume_s16");
1642 orc_program_set_backup_function (p, _backup_adder_orc_volume_s16);
1643 orc_program_add_destination (p, 2, "d1");
1644 orc_program_add_constant (p, 4, 0x0000000b, "c1");
1645 orc_program_add_parameter (p, 2, "p1");
1646 orc_program_add_temporary (p, 4, "t1");
1648 orc_program_append_2 (p, "mulswl", 0, ORC_VAR_T1, ORC_VAR_D1, ORC_VAR_P1,
1650 orc_program_append_2 (p, "shrsl", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
1652 orc_program_append_2 (p, "convssslw", 0, ORC_VAR_D1, ORC_VAR_T1,
1653 ORC_VAR_D1, ORC_VAR_D1);
1656 orc_program_compile (p);
1657 c = orc_program_take_code (p);
1658 orc_program_free (p);
1661 orc_once_mutex_unlock ();
1663 ex->arrays[ORC_VAR_A2] = c;
1667 ex->arrays[ORC_VAR_D1] = d1;
1668 ex->params[ORC_VAR_P1] = p1;
1676 /* adder_orc_volume_u32 */
1679 adder_orc_volume_u32 (guint32 * ORC_RESTRICT d1, int p1, int n)
1682 orc_union32 *ORC_RESTRICT ptr0;
1684 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
1685 volatile orc_union32 var35;
1696 ptr0 = (orc_union32 *) d1;
1699 var35.i = (int) 0x80000000; /* -2147483648 or 1.061e-314f */
1703 for (i = 0; i < n; i++) {
1707 var38.i = var34.i ^ var35.i;
1709 var39.i = ((orc_int64) var38.i) * ((orc_int64) var36.i);
1711 var40.i = var39.i >> 27;
1713 var41.i = ORC_CLAMP_SL (var40.i);
1715 var37.i = var41.i ^ var35.i;
1724 _backup_adder_orc_volume_u32 (OrcExecutor * ORC_RESTRICT ex)
1728 orc_union32 *ORC_RESTRICT ptr0;
1730 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
1731 volatile orc_union32 var35;
1742 ptr0 = (orc_union32 *) ex->arrays[0];
1745 var35.i = (int) 0x80000000; /* -2147483648 or 1.061e-314f */
1747 var36.i = ex->params[24];
1749 for (i = 0; i < n; i++) {
1753 var38.i = var34.i ^ var35.i;
1755 var39.i = ((orc_int64) var38.i) * ((orc_int64) var36.i);
1757 var40.i = var39.i >> 27;
1759 var41.i = ORC_CLAMP_SL (var40.i);
1761 var37.i = var41.i ^ var35.i;
1769 adder_orc_volume_u32 (guint32 * ORC_RESTRICT d1, int p1, int n)
1771 OrcExecutor _ex, *ex = &_ex;
1772 static volatile int p_inited = 0;
1773 static OrcCode *c = 0;
1774 void (*func) (OrcExecutor *);
1777 orc_once_mutex_lock ();
1782 static const orc_uint8 bc[] = {
1783 1, 9, 20, 97, 100, 100, 101, 114, 95, 111, 114, 99, 95, 118, 111, 108,
1784 117, 109, 101, 95, 117, 51, 50, 11, 4, 4, 14, 4, 0, 0, 0, 128,
1785 15, 8, 27, 0, 0, 0, 0, 0, 0, 0, 16, 4, 20, 8, 20, 4,
1786 132, 33, 0, 16, 178, 32, 33, 24, 147, 32, 32, 17, 170, 33, 32, 132,
1789 p = orc_program_new_from_static_bytecode (bc);
1790 orc_program_set_backup_function (p, _backup_adder_orc_volume_u32);
1792 p = orc_program_new ();
1793 orc_program_set_name (p, "adder_orc_volume_u32");
1794 orc_program_set_backup_function (p, _backup_adder_orc_volume_u32);
1795 orc_program_add_destination (p, 4, "d1");
1796 orc_program_add_constant (p, 4, 0x80000000, "c1");
1797 orc_program_add_constant_int64 (p, 8, 0x000000000000001bULL, "c2");
1798 orc_program_add_parameter (p, 4, "p1");
1799 orc_program_add_temporary (p, 8, "t1");
1800 orc_program_add_temporary (p, 4, "t2");
1802 orc_program_append_2 (p, "xorl", 0, ORC_VAR_T2, ORC_VAR_D1, ORC_VAR_C1,
1804 orc_program_append_2 (p, "mulslq", 0, ORC_VAR_T1, ORC_VAR_T2, ORC_VAR_P1,
1806 orc_program_append_2 (p, "shrsq", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C2,
1808 orc_program_append_2 (p, "convsssql", 0, ORC_VAR_T2, ORC_VAR_T1,
1809 ORC_VAR_D1, ORC_VAR_D1);
1810 orc_program_append_2 (p, "xorl", 0, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_C1,
1814 orc_program_compile (p);
1815 c = orc_program_take_code (p);
1816 orc_program_free (p);
1819 orc_once_mutex_unlock ();
1821 ex->arrays[ORC_VAR_A2] = c;
1825 ex->arrays[ORC_VAR_D1] = d1;
1826 ex->params[ORC_VAR_P1] = p1;
1834 /* adder_orc_volume_s32 */
1837 adder_orc_volume_s32 (gint32 * ORC_RESTRICT d1, int p1, int n)
1840 orc_union32 *ORC_RESTRICT ptr0;
1847 ptr0 = (orc_union32 *) d1;
1852 for (i = 0; i < n; i++) {
1856 var36.i = ((orc_int64) var33.i) * ((orc_int64) var34.i);
1858 var37.i = var36.i >> 27;
1860 var35.i = ORC_CLAMP_SL (var37.i);
1869 _backup_adder_orc_volume_s32 (OrcExecutor * ORC_RESTRICT ex)
1873 orc_union32 *ORC_RESTRICT ptr0;
1880 ptr0 = (orc_union32 *) ex->arrays[0];
1883 var34.i = ex->params[24];
1885 for (i = 0; i < n; i++) {
1889 var36.i = ((orc_int64) var33.i) * ((orc_int64) var34.i);
1891 var37.i = var36.i >> 27;
1893 var35.i = ORC_CLAMP_SL (var37.i);
1901 adder_orc_volume_s32 (gint32 * ORC_RESTRICT d1, int p1, int n)
1903 OrcExecutor _ex, *ex = &_ex;
1904 static volatile int p_inited = 0;
1905 static OrcCode *c = 0;
1906 void (*func) (OrcExecutor *);
1909 orc_once_mutex_lock ();
1914 static const orc_uint8 bc[] = {
1915 1, 9, 20, 97, 100, 100, 101, 114, 95, 111, 114, 99, 95, 118, 111, 108,
1916 117, 109, 101, 95, 115, 51, 50, 11, 4, 4, 15, 8, 27, 0, 0, 0,
1917 0, 0, 0, 0, 16, 4, 20, 8, 178, 32, 0, 24, 147, 32, 32, 16,
1920 p = orc_program_new_from_static_bytecode (bc);
1921 orc_program_set_backup_function (p, _backup_adder_orc_volume_s32);
1923 p = orc_program_new ();
1924 orc_program_set_name (p, "adder_orc_volume_s32");
1925 orc_program_set_backup_function (p, _backup_adder_orc_volume_s32);
1926 orc_program_add_destination (p, 4, "d1");
1927 orc_program_add_constant_int64 (p, 8, 0x000000000000001bULL, "c1");
1928 orc_program_add_parameter (p, 4, "p1");
1929 orc_program_add_temporary (p, 8, "t1");
1931 orc_program_append_2 (p, "mulslq", 0, ORC_VAR_T1, ORC_VAR_D1, ORC_VAR_P1,
1933 orc_program_append_2 (p, "shrsq", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
1935 orc_program_append_2 (p, "convsssql", 0, ORC_VAR_D1, ORC_VAR_T1,
1936 ORC_VAR_D1, ORC_VAR_D1);
1939 orc_program_compile (p);
1940 c = orc_program_take_code (p);
1941 orc_program_free (p);
1944 orc_once_mutex_unlock ();
1946 ex->arrays[ORC_VAR_A2] = c;
1950 ex->arrays[ORC_VAR_D1] = d1;
1951 ex->params[ORC_VAR_P1] = p1;
1959 /* adder_orc_volume_f32 */
1962 adder_orc_volume_f32 (float *ORC_RESTRICT d1, float p1, int n)
1965 orc_union32 *ORC_RESTRICT ptr0;
1970 ptr0 = (orc_union32 *) d1;
1975 for (i = 0; i < n; i++) {
1983 _src1.i = ORC_DENORMAL (var32.i);
1984 _src2.i = ORC_DENORMAL (var33.i);
1985 _dest1.f = _src1.f * _src2.f;
1986 var34.i = ORC_DENORMAL (_dest1.i);
1996 _backup_adder_orc_volume_f32 (OrcExecutor * ORC_RESTRICT ex)
2000 orc_union32 *ORC_RESTRICT ptr0;
2005 ptr0 = (orc_union32 *) ex->arrays[0];
2008 var33.i = ex->params[24];
2010 for (i = 0; i < n; i++) {
2018 _src1.i = ORC_DENORMAL (var32.i);
2019 _src2.i = ORC_DENORMAL (var33.i);
2020 _dest1.f = _src1.f * _src2.f;
2021 var34.i = ORC_DENORMAL (_dest1.i);
2030 adder_orc_volume_f32 (float *ORC_RESTRICT d1, float p1, int n)
2032 OrcExecutor _ex, *ex = &_ex;
2033 static volatile int p_inited = 0;
2034 static OrcCode *c = 0;
2035 void (*func) (OrcExecutor *);
2038 orc_once_mutex_lock ();
2043 static const orc_uint8 bc[] = {
2044 1, 9, 20, 97, 100, 100, 101, 114, 95, 111, 114, 99, 95, 118, 111, 108,
2045 117, 109, 101, 95, 102, 51, 50, 11, 4, 4, 17, 4, 202, 0, 0, 24,
2048 p = orc_program_new_from_static_bytecode (bc);
2049 orc_program_set_backup_function (p, _backup_adder_orc_volume_f32);
2051 p = orc_program_new ();
2052 orc_program_set_name (p, "adder_orc_volume_f32");
2053 orc_program_set_backup_function (p, _backup_adder_orc_volume_f32);
2054 orc_program_add_destination (p, 4, "d1");
2055 orc_program_add_parameter_float (p, 4, "p1");
2057 orc_program_append_2 (p, "mulf", 0, ORC_VAR_D1, ORC_VAR_D1, ORC_VAR_P1,
2061 orc_program_compile (p);
2062 c = orc_program_take_code (p);
2063 orc_program_free (p);
2066 orc_once_mutex_unlock ();
2068 ex->arrays[ORC_VAR_A2] = c;
2072 ex->arrays[ORC_VAR_D1] = d1;
2076 ex->params[ORC_VAR_P1] = tmp.i;
2085 /* adder_orc_volume_f64 */
2088 adder_orc_volume_f64 (double *ORC_RESTRICT d1, double p1, int n)
2091 orc_union64 *ORC_RESTRICT ptr0;
2096 ptr0 = (orc_union64 *) d1;
2101 for (i = 0; i < n; i++) {
2109 _src1.i = ORC_DENORMAL_DOUBLE (var32.i);
2110 _src2.i = ORC_DENORMAL_DOUBLE (var33.i);
2111 _dest1.f = _src1.f * _src2.f;
2112 var34.i = ORC_DENORMAL_DOUBLE (_dest1.i);
2122 _backup_adder_orc_volume_f64 (OrcExecutor * ORC_RESTRICT ex)
2126 orc_union64 *ORC_RESTRICT ptr0;
2131 ptr0 = (orc_union64 *) ex->arrays[0];
2135 (ex->params[24] & 0xffffffff) | ((orc_uint64) (ex->params[24 +
2136 (ORC_VAR_T1 - ORC_VAR_P1)]) << 32);
2138 for (i = 0; i < n; i++) {
2146 _src1.i = ORC_DENORMAL_DOUBLE (var32.i);
2147 _src2.i = ORC_DENORMAL_DOUBLE (var33.i);
2148 _dest1.f = _src1.f * _src2.f;
2149 var34.i = ORC_DENORMAL_DOUBLE (_dest1.i);
2158 adder_orc_volume_f64 (double *ORC_RESTRICT d1, double p1, int n)
2160 OrcExecutor _ex, *ex = &_ex;
2161 static volatile int p_inited = 0;
2162 static OrcCode *c = 0;
2163 void (*func) (OrcExecutor *);
2166 orc_once_mutex_lock ();
2171 static const orc_uint8 bc[] = {
2172 1, 9, 20, 97, 100, 100, 101, 114, 95, 111, 114, 99, 95, 118, 111, 108,
2173 117, 109, 101, 95, 102, 54, 52, 11, 8, 8, 18, 8, 214, 0, 0, 24,
2176 p = orc_program_new_from_static_bytecode (bc);
2177 orc_program_set_backup_function (p, _backup_adder_orc_volume_f64);
2179 p = orc_program_new ();
2180 orc_program_set_name (p, "adder_orc_volume_f64");
2181 orc_program_set_backup_function (p, _backup_adder_orc_volume_f64);
2182 orc_program_add_destination (p, 8, "d1");
2183 orc_program_add_parameter_double (p, 8, "p1");
2185 orc_program_append_2 (p, "muld", 0, ORC_VAR_D1, ORC_VAR_D1, ORC_VAR_P1,
2189 orc_program_compile (p);
2190 c = orc_program_take_code (p);
2191 orc_program_free (p);
2194 orc_once_mutex_unlock ();
2196 ex->arrays[ORC_VAR_A2] = c;
2200 ex->arrays[ORC_VAR_D1] = d1;
2204 ex->params[ORC_VAR_P1] = ((orc_uint64) tmp.i) & 0xffffffff;
2205 ex->params[ORC_VAR_T1] = ((orc_uint64) tmp.i) >> 32;
2214 /* adder_orc_add_volume_u8 */
2217 adder_orc_add_volume_u8 (guint8 * ORC_RESTRICT d1,
2218 const guint8 * ORC_RESTRICT s1, int p1, int n)
2221 orc_int8 *ORC_RESTRICT ptr0;
2222 const orc_int8 *ORC_RESTRICT ptr4;
2224 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
2225 volatile orc_int8 var35;
2238 ptr0 = (orc_int8 *) d1;
2239 ptr4 = (orc_int8 *) s1;
2242 var35 = (int) 0x00000080; /* 128 or 6.32404e-322f */
2246 for (i = 0; i < n; i++) {
2250 var39 = var34 ^ var35;
2252 var40.i = var39 * var36;
2254 var41.i = var40.i >> 3;
2256 var42 = ORC_CLAMP_SB (var41.i);
2258 var43 = var42 ^ var35;
2262 var38 = ORC_CLAMP_UB ((orc_uint8) var37 + (orc_uint8) var43);
2271 _backup_adder_orc_add_volume_u8 (OrcExecutor * ORC_RESTRICT ex)
2275 orc_int8 *ORC_RESTRICT ptr0;
2276 const orc_int8 *ORC_RESTRICT ptr4;
2278 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
2279 volatile orc_int8 var35;
2292 ptr0 = (orc_int8 *) ex->arrays[0];
2293 ptr4 = (orc_int8 *) ex->arrays[4];
2296 var35 = (int) 0x00000080; /* 128 or 6.32404e-322f */
2298 var36 = ex->params[24];
2300 for (i = 0; i < n; i++) {
2304 var39 = var34 ^ var35;
2306 var40.i = var39 * var36;
2308 var41.i = var40.i >> 3;
2310 var42 = ORC_CLAMP_SB (var41.i);
2312 var43 = var42 ^ var35;
2316 var38 = ORC_CLAMP_UB ((orc_uint8) var37 + (orc_uint8) var43);
2324 adder_orc_add_volume_u8 (guint8 * ORC_RESTRICT d1,
2325 const guint8 * ORC_RESTRICT s1, int p1, int n)
2327 OrcExecutor _ex, *ex = &_ex;
2328 static volatile int p_inited = 0;
2329 static OrcCode *c = 0;
2330 void (*func) (OrcExecutor *);
2333 orc_once_mutex_lock ();
2338 static const orc_uint8 bc[] = {
2339 1, 9, 23, 97, 100, 100, 101, 114, 95, 111, 114, 99, 95, 97, 100, 100,
2340 95, 118, 111, 108, 117, 109, 101, 95, 117, 56, 11, 1, 1, 12, 1, 1,
2341 14, 1, 128, 0, 0, 0, 14, 2, 3, 0, 0, 0, 16, 1, 20, 2,
2342 20, 1, 68, 33, 4, 16, 174, 32, 33, 24, 94, 32, 32, 17, 159, 33,
2343 32, 68, 33, 33, 16, 35, 0, 0, 33, 2, 0,
2345 p = orc_program_new_from_static_bytecode (bc);
2346 orc_program_set_backup_function (p, _backup_adder_orc_add_volume_u8);
2348 p = orc_program_new ();
2349 orc_program_set_name (p, "adder_orc_add_volume_u8");
2350 orc_program_set_backup_function (p, _backup_adder_orc_add_volume_u8);
2351 orc_program_add_destination (p, 1, "d1");
2352 orc_program_add_source (p, 1, "s1");
2353 orc_program_add_constant (p, 1, 0x00000080, "c1");
2354 orc_program_add_constant (p, 2, 0x00000003, "c2");
2355 orc_program_add_parameter (p, 1, "p1");
2356 orc_program_add_temporary (p, 2, "t1");
2357 orc_program_add_temporary (p, 1, "t2");
2359 orc_program_append_2 (p, "xorb", 0, ORC_VAR_T2, ORC_VAR_S1, ORC_VAR_C1,
2361 orc_program_append_2 (p, "mulsbw", 0, ORC_VAR_T1, ORC_VAR_T2, ORC_VAR_P1,
2363 orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C2,
2365 orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T2, ORC_VAR_T1,
2366 ORC_VAR_D1, ORC_VAR_D1);
2367 orc_program_append_2 (p, "xorb", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_C1,
2369 orc_program_append_2 (p, "addusb", 0, ORC_VAR_D1, ORC_VAR_D1, ORC_VAR_T2,
2373 orc_program_compile (p);
2374 c = orc_program_take_code (p);
2375 orc_program_free (p);
2378 orc_once_mutex_unlock ();
2380 ex->arrays[ORC_VAR_A2] = c;
2384 ex->arrays[ORC_VAR_D1] = d1;
2385 ex->arrays[ORC_VAR_S1] = (void *) s1;
2386 ex->params[ORC_VAR_P1] = p1;
2394 /* adder_orc_add_volume_s8 */
2397 adder_orc_add_volume_s8 (gint8 * ORC_RESTRICT d1, const gint8 * ORC_RESTRICT s1,
2401 orc_int8 *ORC_RESTRICT ptr0;
2402 const orc_int8 *ORC_RESTRICT ptr4;
2411 ptr0 = (orc_int8 *) d1;
2412 ptr4 = (orc_int8 *) s1;
2417 for (i = 0; i < n; i++) {
2421 var38.i = var34 * var35;
2423 var39.i = var38.i >> 3;
2425 var40 = ORC_CLAMP_SB (var39.i);
2429 var37 = ORC_CLAMP_SB (var36 + var40);
2438 _backup_adder_orc_add_volume_s8 (OrcExecutor * ORC_RESTRICT ex)
2442 orc_int8 *ORC_RESTRICT ptr0;
2443 const orc_int8 *ORC_RESTRICT ptr4;
2452 ptr0 = (orc_int8 *) ex->arrays[0];
2453 ptr4 = (orc_int8 *) ex->arrays[4];
2456 var35 = ex->params[24];
2458 for (i = 0; i < n; i++) {
2462 var38.i = var34 * var35;
2464 var39.i = var38.i >> 3;
2466 var40 = ORC_CLAMP_SB (var39.i);
2470 var37 = ORC_CLAMP_SB (var36 + var40);
2478 adder_orc_add_volume_s8 (gint8 * ORC_RESTRICT d1, const gint8 * ORC_RESTRICT s1,
2481 OrcExecutor _ex, *ex = &_ex;
2482 static volatile int p_inited = 0;
2483 static OrcCode *c = 0;
2484 void (*func) (OrcExecutor *);
2487 orc_once_mutex_lock ();
2492 static const orc_uint8 bc[] = {
2493 1, 9, 23, 97, 100, 100, 101, 114, 95, 111, 114, 99, 95, 97, 100, 100,
2494 95, 118, 111, 108, 117, 109, 101, 95, 115, 56, 11, 1, 1, 12, 1, 1,
2495 14, 2, 3, 0, 0, 0, 16, 1, 20, 2, 20, 1, 174, 32, 4, 24,
2496 94, 32, 32, 16, 159, 33, 32, 34, 0, 0, 33, 2, 0,
2498 p = orc_program_new_from_static_bytecode (bc);
2499 orc_program_set_backup_function (p, _backup_adder_orc_add_volume_s8);
2501 p = orc_program_new ();
2502 orc_program_set_name (p, "adder_orc_add_volume_s8");
2503 orc_program_set_backup_function (p, _backup_adder_orc_add_volume_s8);
2504 orc_program_add_destination (p, 1, "d1");
2505 orc_program_add_source (p, 1, "s1");
2506 orc_program_add_constant (p, 2, 0x00000003, "c1");
2507 orc_program_add_parameter (p, 1, "p1");
2508 orc_program_add_temporary (p, 2, "t1");
2509 orc_program_add_temporary (p, 1, "t2");
2511 orc_program_append_2 (p, "mulsbw", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_P1,
2513 orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
2515 orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T2, ORC_VAR_T1,
2516 ORC_VAR_D1, ORC_VAR_D1);
2517 orc_program_append_2 (p, "addssb", 0, ORC_VAR_D1, ORC_VAR_D1, ORC_VAR_T2,
2521 orc_program_compile (p);
2522 c = orc_program_take_code (p);
2523 orc_program_free (p);
2526 orc_once_mutex_unlock ();
2528 ex->arrays[ORC_VAR_A2] = c;
2532 ex->arrays[ORC_VAR_D1] = d1;
2533 ex->arrays[ORC_VAR_S1] = (void *) s1;
2534 ex->params[ORC_VAR_P1] = p1;
2542 /* adder_orc_add_volume_u16 */
2545 adder_orc_add_volume_u16 (guint16 * ORC_RESTRICT d1,
2546 const guint16 * ORC_RESTRICT s1, int p1, int n)
2549 orc_union16 *ORC_RESTRICT ptr0;
2550 const orc_union16 *ORC_RESTRICT ptr4;
2552 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
2553 volatile orc_union16 var35;
2566 ptr0 = (orc_union16 *) d1;
2567 ptr4 = (orc_union16 *) s1;
2570 var35.i = (int) 0x00008000; /* 32768 or 1.61895e-319f */
2574 for (i = 0; i < n; i++) {
2578 var39.i = var34.i ^ var35.i;
2580 var40.i = var39.i * var36.i;
2582 var41.i = var40.i >> 11;
2584 var42.i = ORC_CLAMP_SW (var41.i);
2586 var43.i = var42.i ^ var35.i;
2590 var38.i = ORC_CLAMP_UW ((orc_uint16) var37.i + (orc_uint16) var43.i);
2599 _backup_adder_orc_add_volume_u16 (OrcExecutor * ORC_RESTRICT ex)
2603 orc_union16 *ORC_RESTRICT ptr0;
2604 const orc_union16 *ORC_RESTRICT ptr4;
2606 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
2607 volatile orc_union16 var35;
2620 ptr0 = (orc_union16 *) ex->arrays[0];
2621 ptr4 = (orc_union16 *) ex->arrays[4];
2624 var35.i = (int) 0x00008000; /* 32768 or 1.61895e-319f */
2626 var36.i = ex->params[24];
2628 for (i = 0; i < n; i++) {
2632 var39.i = var34.i ^ var35.i;
2634 var40.i = var39.i * var36.i;
2636 var41.i = var40.i >> 11;
2638 var42.i = ORC_CLAMP_SW (var41.i);
2640 var43.i = var42.i ^ var35.i;
2644 var38.i = ORC_CLAMP_UW ((orc_uint16) var37.i + (orc_uint16) var43.i);
2652 adder_orc_add_volume_u16 (guint16 * ORC_RESTRICT d1,
2653 const guint16 * ORC_RESTRICT s1, int p1, int n)
2655 OrcExecutor _ex, *ex = &_ex;
2656 static volatile int p_inited = 0;
2657 static OrcCode *c = 0;
2658 void (*func) (OrcExecutor *);
2661 orc_once_mutex_lock ();
2666 static const orc_uint8 bc[] = {
2667 1, 9, 24, 97, 100, 100, 101, 114, 95, 111, 114, 99, 95, 97, 100, 100,
2668 95, 118, 111, 108, 117, 109, 101, 95, 117, 49, 54, 11, 2, 2, 12, 2,
2669 2, 14, 2, 0, 128, 0, 0, 14, 4, 11, 0, 0, 0, 16, 2, 20,
2670 4, 20, 2, 101, 33, 4, 16, 176, 32, 33, 24, 125, 32, 32, 17, 165,
2671 33, 32, 101, 33, 33, 16, 72, 0, 0, 33, 2, 0,
2673 p = orc_program_new_from_static_bytecode (bc);
2674 orc_program_set_backup_function (p, _backup_adder_orc_add_volume_u16);
2676 p = orc_program_new ();
2677 orc_program_set_name (p, "adder_orc_add_volume_u16");
2678 orc_program_set_backup_function (p, _backup_adder_orc_add_volume_u16);
2679 orc_program_add_destination (p, 2, "d1");
2680 orc_program_add_source (p, 2, "s1");
2681 orc_program_add_constant (p, 2, 0x00008000, "c1");
2682 orc_program_add_constant (p, 4, 0x0000000b, "c2");
2683 orc_program_add_parameter (p, 2, "p1");
2684 orc_program_add_temporary (p, 4, "t1");
2685 orc_program_add_temporary (p, 2, "t2");
2687 orc_program_append_2 (p, "xorw", 0, ORC_VAR_T2, ORC_VAR_S1, ORC_VAR_C1,
2689 orc_program_append_2 (p, "mulswl", 0, ORC_VAR_T1, ORC_VAR_T2, ORC_VAR_P1,
2691 orc_program_append_2 (p, "shrsl", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C2,
2693 orc_program_append_2 (p, "convssslw", 0, ORC_VAR_T2, ORC_VAR_T1,
2694 ORC_VAR_D1, ORC_VAR_D1);
2695 orc_program_append_2 (p, "xorw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_C1,
2697 orc_program_append_2 (p, "addusw", 0, ORC_VAR_D1, ORC_VAR_D1, ORC_VAR_T2,
2701 orc_program_compile (p);
2702 c = orc_program_take_code (p);
2703 orc_program_free (p);
2706 orc_once_mutex_unlock ();
2708 ex->arrays[ORC_VAR_A2] = c;
2712 ex->arrays[ORC_VAR_D1] = d1;
2713 ex->arrays[ORC_VAR_S1] = (void *) s1;
2714 ex->params[ORC_VAR_P1] = p1;
2722 /* adder_orc_add_volume_s16 */
2725 adder_orc_add_volume_s16 (gint16 * ORC_RESTRICT d1,
2726 const gint16 * ORC_RESTRICT s1, int p1, int n)
2729 orc_union16 *ORC_RESTRICT ptr0;
2730 const orc_union16 *ORC_RESTRICT ptr4;
2739 ptr0 = (orc_union16 *) d1;
2740 ptr4 = (orc_union16 *) s1;
2745 for (i = 0; i < n; i++) {
2749 var38.i = var34.i * var35.i;
2751 var39.i = var38.i >> 11;
2753 var40.i = ORC_CLAMP_SW (var39.i);
2757 var37.i = ORC_CLAMP_SW (var36.i + var40.i);
2766 _backup_adder_orc_add_volume_s16 (OrcExecutor * ORC_RESTRICT ex)
2770 orc_union16 *ORC_RESTRICT ptr0;
2771 const orc_union16 *ORC_RESTRICT ptr4;
2780 ptr0 = (orc_union16 *) ex->arrays[0];
2781 ptr4 = (orc_union16 *) ex->arrays[4];
2784 var35.i = ex->params[24];
2786 for (i = 0; i < n; i++) {
2790 var38.i = var34.i * var35.i;
2792 var39.i = var38.i >> 11;
2794 var40.i = ORC_CLAMP_SW (var39.i);
2798 var37.i = ORC_CLAMP_SW (var36.i + var40.i);
2806 adder_orc_add_volume_s16 (gint16 * ORC_RESTRICT d1,
2807 const gint16 * ORC_RESTRICT s1, int p1, int n)
2809 OrcExecutor _ex, *ex = &_ex;
2810 static volatile int p_inited = 0;
2811 static OrcCode *c = 0;
2812 void (*func) (OrcExecutor *);
2815 orc_once_mutex_lock ();
2820 static const orc_uint8 bc[] = {
2821 1, 9, 24, 97, 100, 100, 101, 114, 95, 111, 114, 99, 95, 97, 100, 100,
2822 95, 118, 111, 108, 117, 109, 101, 95, 115, 49, 54, 11, 2, 2, 12, 2,
2823 2, 14, 4, 11, 0, 0, 0, 16, 2, 20, 4, 20, 2, 176, 32, 4,
2824 24, 125, 32, 32, 16, 165, 33, 32, 71, 0, 0, 33, 2, 0,
2826 p = orc_program_new_from_static_bytecode (bc);
2827 orc_program_set_backup_function (p, _backup_adder_orc_add_volume_s16);
2829 p = orc_program_new ();
2830 orc_program_set_name (p, "adder_orc_add_volume_s16");
2831 orc_program_set_backup_function (p, _backup_adder_orc_add_volume_s16);
2832 orc_program_add_destination (p, 2, "d1");
2833 orc_program_add_source (p, 2, "s1");
2834 orc_program_add_constant (p, 4, 0x0000000b, "c1");
2835 orc_program_add_parameter (p, 2, "p1");
2836 orc_program_add_temporary (p, 4, "t1");
2837 orc_program_add_temporary (p, 2, "t2");
2839 orc_program_append_2 (p, "mulswl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_P1,
2841 orc_program_append_2 (p, "shrsl", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
2843 orc_program_append_2 (p, "convssslw", 0, ORC_VAR_T2, ORC_VAR_T1,
2844 ORC_VAR_D1, ORC_VAR_D1);
2845 orc_program_append_2 (p, "addssw", 0, ORC_VAR_D1, ORC_VAR_D1, ORC_VAR_T2,
2849 orc_program_compile (p);
2850 c = orc_program_take_code (p);
2851 orc_program_free (p);
2854 orc_once_mutex_unlock ();
2856 ex->arrays[ORC_VAR_A2] = c;
2860 ex->arrays[ORC_VAR_D1] = d1;
2861 ex->arrays[ORC_VAR_S1] = (void *) s1;
2862 ex->params[ORC_VAR_P1] = p1;
2870 /* adder_orc_add_volume_u32 */
2873 adder_orc_add_volume_u32 (guint32 * ORC_RESTRICT d1,
2874 const guint32 * ORC_RESTRICT s1, int p1, int n)
2877 orc_union32 *ORC_RESTRICT ptr0;
2878 const orc_union32 *ORC_RESTRICT ptr4;
2880 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
2881 volatile orc_union32 var35;
2894 ptr0 = (orc_union32 *) d1;
2895 ptr4 = (orc_union32 *) s1;
2898 var35.i = (int) 0x80000000; /* -2147483648 or 1.061e-314f */
2902 for (i = 0; i < n; i++) {
2906 var39.i = var34.i ^ var35.i;
2908 var40.i = ((orc_int64) var39.i) * ((orc_int64) var36.i);
2910 var41.i = var40.i >> 27;
2912 var42.i = ORC_CLAMP_SL (var41.i);
2914 var43.i = var42.i ^ var35.i;
2919 ORC_CLAMP_UL ((orc_int64) (orc_uint32) var37.i +
2920 (orc_int64) (orc_uint32) var43.i);
2929 _backup_adder_orc_add_volume_u32 (OrcExecutor * ORC_RESTRICT ex)
2933 orc_union32 *ORC_RESTRICT ptr0;
2934 const orc_union32 *ORC_RESTRICT ptr4;
2936 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
2937 volatile orc_union32 var35;
2950 ptr0 = (orc_union32 *) ex->arrays[0];
2951 ptr4 = (orc_union32 *) ex->arrays[4];
2954 var35.i = (int) 0x80000000; /* -2147483648 or 1.061e-314f */
2956 var36.i = ex->params[24];
2958 for (i = 0; i < n; i++) {
2962 var39.i = var34.i ^ var35.i;
2964 var40.i = ((orc_int64) var39.i) * ((orc_int64) var36.i);
2966 var41.i = var40.i >> 27;
2968 var42.i = ORC_CLAMP_SL (var41.i);
2970 var43.i = var42.i ^ var35.i;
2975 ORC_CLAMP_UL ((orc_int64) (orc_uint32) var37.i +
2976 (orc_int64) (orc_uint32) var43.i);
2984 adder_orc_add_volume_u32 (guint32 * ORC_RESTRICT d1,
2985 const guint32 * ORC_RESTRICT s1, int p1, int n)
2987 OrcExecutor _ex, *ex = &_ex;
2988 static volatile int p_inited = 0;
2989 static OrcCode *c = 0;
2990 void (*func) (OrcExecutor *);
2993 orc_once_mutex_lock ();
2998 static const orc_uint8 bc[] = {
2999 1, 9, 24, 97, 100, 100, 101, 114, 95, 111, 114, 99, 95, 97, 100, 100,
3000 95, 118, 111, 108, 117, 109, 101, 95, 117, 51, 50, 11, 4, 4, 12, 4,
3001 4, 14, 4, 0, 0, 0, 128, 15, 8, 27, 0, 0, 0, 0, 0, 0,
3002 0, 16, 4, 20, 8, 20, 4, 132, 33, 4, 16, 178, 32, 33, 24, 147,
3003 32, 32, 17, 170, 33, 32, 132, 33, 33, 16, 105, 0, 0, 33, 2, 0,
3006 p = orc_program_new_from_static_bytecode (bc);
3007 orc_program_set_backup_function (p, _backup_adder_orc_add_volume_u32);
3009 p = orc_program_new ();
3010 orc_program_set_name (p, "adder_orc_add_volume_u32");
3011 orc_program_set_backup_function (p, _backup_adder_orc_add_volume_u32);
3012 orc_program_add_destination (p, 4, "d1");
3013 orc_program_add_source (p, 4, "s1");
3014 orc_program_add_constant (p, 4, 0x80000000, "c1");
3015 orc_program_add_constant_int64 (p, 8, 0x000000000000001bULL, "c2");
3016 orc_program_add_parameter (p, 4, "p1");
3017 orc_program_add_temporary (p, 8, "t1");
3018 orc_program_add_temporary (p, 4, "t2");
3020 orc_program_append_2 (p, "xorl", 0, ORC_VAR_T2, ORC_VAR_S1, ORC_VAR_C1,
3022 orc_program_append_2 (p, "mulslq", 0, ORC_VAR_T1, ORC_VAR_T2, ORC_VAR_P1,
3024 orc_program_append_2 (p, "shrsq", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C2,
3026 orc_program_append_2 (p, "convsssql", 0, ORC_VAR_T2, ORC_VAR_T1,
3027 ORC_VAR_D1, ORC_VAR_D1);
3028 orc_program_append_2 (p, "xorl", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_C1,
3030 orc_program_append_2 (p, "addusl", 0, ORC_VAR_D1, ORC_VAR_D1, ORC_VAR_T2,
3034 orc_program_compile (p);
3035 c = orc_program_take_code (p);
3036 orc_program_free (p);
3039 orc_once_mutex_unlock ();
3041 ex->arrays[ORC_VAR_A2] = c;
3045 ex->arrays[ORC_VAR_D1] = d1;
3046 ex->arrays[ORC_VAR_S1] = (void *) s1;
3047 ex->params[ORC_VAR_P1] = p1;
3055 /* adder_orc_add_volume_s32 */
3058 adder_orc_add_volume_s32 (gint32 * ORC_RESTRICT d1,
3059 const gint32 * ORC_RESTRICT s1, int p1, int n)
3062 orc_union32 *ORC_RESTRICT ptr0;
3063 const orc_union32 *ORC_RESTRICT ptr4;
3072 ptr0 = (orc_union32 *) d1;
3073 ptr4 = (orc_union32 *) s1;
3078 for (i = 0; i < n; i++) {
3082 var38.i = ((orc_int64) var34.i) * ((orc_int64) var35.i);
3084 var39.i = var38.i >> 27;
3086 var40.i = ORC_CLAMP_SL (var39.i);
3090 var37.i = ORC_CLAMP_SL ((orc_int64) var36.i + (orc_int64) var40.i);
3099 _backup_adder_orc_add_volume_s32 (OrcExecutor * ORC_RESTRICT ex)
3103 orc_union32 *ORC_RESTRICT ptr0;
3104 const orc_union32 *ORC_RESTRICT ptr4;
3113 ptr0 = (orc_union32 *) ex->arrays[0];
3114 ptr4 = (orc_union32 *) ex->arrays[4];
3117 var35.i = ex->params[24];
3119 for (i = 0; i < n; i++) {
3123 var38.i = ((orc_int64) var34.i) * ((orc_int64) var35.i);
3125 var39.i = var38.i >> 27;
3127 var40.i = ORC_CLAMP_SL (var39.i);
3131 var37.i = ORC_CLAMP_SL ((orc_int64) var36.i + (orc_int64) var40.i);
3139 adder_orc_add_volume_s32 (gint32 * ORC_RESTRICT d1,
3140 const gint32 * ORC_RESTRICT s1, int p1, int n)
3142 OrcExecutor _ex, *ex = &_ex;
3143 static volatile int p_inited = 0;
3144 static OrcCode *c = 0;
3145 void (*func) (OrcExecutor *);
3148 orc_once_mutex_lock ();
3153 static const orc_uint8 bc[] = {
3154 1, 9, 24, 97, 100, 100, 101, 114, 95, 111, 114, 99, 95, 97, 100, 100,
3155 95, 118, 111, 108, 117, 109, 101, 95, 115, 51, 50, 11, 4, 4, 12, 4,
3156 4, 15, 8, 27, 0, 0, 0, 0, 0, 0, 0, 16, 4, 20, 8, 20,
3157 4, 178, 32, 4, 24, 147, 32, 32, 16, 170, 33, 32, 104, 0, 0, 33,
3160 p = orc_program_new_from_static_bytecode (bc);
3161 orc_program_set_backup_function (p, _backup_adder_orc_add_volume_s32);
3163 p = orc_program_new ();
3164 orc_program_set_name (p, "adder_orc_add_volume_s32");
3165 orc_program_set_backup_function (p, _backup_adder_orc_add_volume_s32);
3166 orc_program_add_destination (p, 4, "d1");
3167 orc_program_add_source (p, 4, "s1");
3168 orc_program_add_constant_int64 (p, 8, 0x000000000000001bULL, "c1");
3169 orc_program_add_parameter (p, 4, "p1");
3170 orc_program_add_temporary (p, 8, "t1");
3171 orc_program_add_temporary (p, 4, "t2");
3173 orc_program_append_2 (p, "mulslq", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_P1,
3175 orc_program_append_2 (p, "shrsq", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
3177 orc_program_append_2 (p, "convsssql", 0, ORC_VAR_T2, ORC_VAR_T1,
3178 ORC_VAR_D1, ORC_VAR_D1);
3179 orc_program_append_2 (p, "addssl", 0, ORC_VAR_D1, ORC_VAR_D1, ORC_VAR_T2,
3183 orc_program_compile (p);
3184 c = orc_program_take_code (p);
3185 orc_program_free (p);
3188 orc_once_mutex_unlock ();
3190 ex->arrays[ORC_VAR_A2] = c;
3194 ex->arrays[ORC_VAR_D1] = d1;
3195 ex->arrays[ORC_VAR_S1] = (void *) s1;
3196 ex->params[ORC_VAR_P1] = p1;
3204 /* adder_orc_add_volume_f32 */
3207 adder_orc_add_volume_f32 (float *ORC_RESTRICT d1, const float *ORC_RESTRICT s1,
3211 orc_union32 *ORC_RESTRICT ptr0;
3212 const orc_union32 *ORC_RESTRICT ptr4;
3219 ptr0 = (orc_union32 *) d1;
3220 ptr4 = (orc_union32 *) s1;
3225 for (i = 0; i < n; i++) {
3233 _src1.i = ORC_DENORMAL (var33.i);
3234 _src2.i = ORC_DENORMAL (var34.i);
3235 _dest1.f = _src1.f * _src2.f;
3236 var37.i = ORC_DENORMAL (_dest1.i);
3245 _src1.i = ORC_DENORMAL (var35.i);
3246 _src2.i = ORC_DENORMAL (var37.i);
3247 _dest1.f = _src1.f + _src2.f;
3248 var36.i = ORC_DENORMAL (_dest1.i);
3258 _backup_adder_orc_add_volume_f32 (OrcExecutor * ORC_RESTRICT ex)
3262 orc_union32 *ORC_RESTRICT ptr0;
3263 const orc_union32 *ORC_RESTRICT ptr4;
3270 ptr0 = (orc_union32 *) ex->arrays[0];
3271 ptr4 = (orc_union32 *) ex->arrays[4];
3274 var34.i = ex->params[24];
3276 for (i = 0; i < n; i++) {
3284 _src1.i = ORC_DENORMAL (var33.i);
3285 _src2.i = ORC_DENORMAL (var34.i);
3286 _dest1.f = _src1.f * _src2.f;
3287 var37.i = ORC_DENORMAL (_dest1.i);
3296 _src1.i = ORC_DENORMAL (var35.i);
3297 _src2.i = ORC_DENORMAL (var37.i);
3298 _dest1.f = _src1.f + _src2.f;
3299 var36.i = ORC_DENORMAL (_dest1.i);
3308 adder_orc_add_volume_f32 (float *ORC_RESTRICT d1, const float *ORC_RESTRICT s1,
3311 OrcExecutor _ex, *ex = &_ex;
3312 static volatile int p_inited = 0;
3313 static OrcCode *c = 0;
3314 void (*func) (OrcExecutor *);
3317 orc_once_mutex_lock ();
3322 static const orc_uint8 bc[] = {
3323 1, 9, 24, 97, 100, 100, 101, 114, 95, 111, 114, 99, 95, 97, 100, 100,
3324 95, 118, 111, 108, 117, 109, 101, 95, 102, 51, 50, 11, 4, 4, 12, 4,
3325 4, 17, 4, 20, 4, 202, 32, 4, 24, 200, 0, 0, 32, 2, 0,
3327 p = orc_program_new_from_static_bytecode (bc);
3328 orc_program_set_backup_function (p, _backup_adder_orc_add_volume_f32);
3330 p = orc_program_new ();
3331 orc_program_set_name (p, "adder_orc_add_volume_f32");
3332 orc_program_set_backup_function (p, _backup_adder_orc_add_volume_f32);
3333 orc_program_add_destination (p, 4, "d1");
3334 orc_program_add_source (p, 4, "s1");
3335 orc_program_add_parameter_float (p, 4, "p1");
3336 orc_program_add_temporary (p, 4, "t1");
3338 orc_program_append_2 (p, "mulf", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_P1,
3340 orc_program_append_2 (p, "addf", 0, ORC_VAR_D1, ORC_VAR_D1, ORC_VAR_T1,
3344 orc_program_compile (p);
3345 c = orc_program_take_code (p);
3346 orc_program_free (p);
3349 orc_once_mutex_unlock ();
3351 ex->arrays[ORC_VAR_A2] = c;
3355 ex->arrays[ORC_VAR_D1] = d1;
3356 ex->arrays[ORC_VAR_S1] = (void *) s1;
3360 ex->params[ORC_VAR_P1] = tmp.i;
3369 /* adder_orc_add_volume_f64 */
3372 adder_orc_add_volume_f64 (double *ORC_RESTRICT d1,
3373 const double *ORC_RESTRICT s1, double p1, int n)
3376 orc_union64 *ORC_RESTRICT ptr0;
3377 const orc_union64 *ORC_RESTRICT ptr4;
3384 ptr0 = (orc_union64 *) d1;
3385 ptr4 = (orc_union64 *) s1;
3390 for (i = 0; i < n; i++) {
3398 _src1.i = ORC_DENORMAL_DOUBLE (var33.i);
3399 _src2.i = ORC_DENORMAL_DOUBLE (var34.i);
3400 _dest1.f = _src1.f * _src2.f;
3401 var37.i = ORC_DENORMAL_DOUBLE (_dest1.i);
3410 _src1.i = ORC_DENORMAL_DOUBLE (var35.i);
3411 _src2.i = ORC_DENORMAL_DOUBLE (var37.i);
3412 _dest1.f = _src1.f + _src2.f;
3413 var36.i = ORC_DENORMAL_DOUBLE (_dest1.i);
3423 _backup_adder_orc_add_volume_f64 (OrcExecutor * ORC_RESTRICT ex)
3427 orc_union64 *ORC_RESTRICT ptr0;
3428 const orc_union64 *ORC_RESTRICT ptr4;
3435 ptr0 = (orc_union64 *) ex->arrays[0];
3436 ptr4 = (orc_union64 *) ex->arrays[4];
3440 (ex->params[24] & 0xffffffff) | ((orc_uint64) (ex->params[24 +
3441 (ORC_VAR_T1 - ORC_VAR_P1)]) << 32);
3443 for (i = 0; i < n; i++) {
3451 _src1.i = ORC_DENORMAL_DOUBLE (var33.i);
3452 _src2.i = ORC_DENORMAL_DOUBLE (var34.i);
3453 _dest1.f = _src1.f * _src2.f;
3454 var37.i = ORC_DENORMAL_DOUBLE (_dest1.i);
3463 _src1.i = ORC_DENORMAL_DOUBLE (var35.i);
3464 _src2.i = ORC_DENORMAL_DOUBLE (var37.i);
3465 _dest1.f = _src1.f + _src2.f;
3466 var36.i = ORC_DENORMAL_DOUBLE (_dest1.i);
3475 adder_orc_add_volume_f64 (double *ORC_RESTRICT d1,
3476 const double *ORC_RESTRICT s1, double p1, int n)
3478 OrcExecutor _ex, *ex = &_ex;
3479 static volatile int p_inited = 0;
3480 static OrcCode *c = 0;
3481 void (*func) (OrcExecutor *);
3484 orc_once_mutex_lock ();
3489 static const orc_uint8 bc[] = {
3490 1, 9, 24, 97, 100, 100, 101, 114, 95, 111, 114, 99, 95, 97, 100, 100,
3491 95, 118, 111, 108, 117, 109, 101, 95, 102, 54, 52, 11, 8, 8, 12, 8,
3492 8, 18, 8, 20, 8, 214, 32, 4, 24, 212, 0, 0, 32, 2, 0,
3494 p = orc_program_new_from_static_bytecode (bc);
3495 orc_program_set_backup_function (p, _backup_adder_orc_add_volume_f64);
3497 p = orc_program_new ();
3498 orc_program_set_name (p, "adder_orc_add_volume_f64");
3499 orc_program_set_backup_function (p, _backup_adder_orc_add_volume_f64);
3500 orc_program_add_destination (p, 8, "d1");
3501 orc_program_add_source (p, 8, "s1");
3502 orc_program_add_parameter_double (p, 8, "p1");
3503 orc_program_add_temporary (p, 8, "t1");
3505 orc_program_append_2 (p, "muld", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_P1,
3507 orc_program_append_2 (p, "addd", 0, ORC_VAR_D1, ORC_VAR_D1, ORC_VAR_T1,
3511 orc_program_compile (p);
3512 c = orc_program_take_code (p);
3513 orc_program_free (p);
3516 orc_once_mutex_unlock ();
3518 ex->arrays[ORC_VAR_A2] = c;
3522 ex->arrays[ORC_VAR_D1] = d1;
3523 ex->arrays[ORC_VAR_S1] = (void *) s1;
3527 ex->params[ORC_VAR_P1] = ((orc_uint64) tmp.i) & 0xffffffff;
3528 ex->params[ORC_VAR_T1] = ((orc_uint64) tmp.i) >> 32;