]> git.wh0rd.org - ICEs.git/blame - bfin-2599/test.i
add bfin ice
[ICEs.git] / bfin-2599 / test.i
CommitLineData
45516216 1# 1 "test.c"
2# 1 "<built-in>"
3# 1 "<command line>"
4# 1 "test.c"
5# 1 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/float16.h" 1
6
7
8#pragma system_header
9# 38 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/float16.h"
10typedef union {
11 long l;
12 unsigned long u;
13 struct {
14 short e;
15 short m;
16 } s;
17 float f;
18} float16;
19
20
21
22# 1 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fract.h" 1
23
24
25
26# 4 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fract.h" 3
27# 25 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fract.h" 3
28# 1 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fract_typedef.h" 1 3
29
30
31
32# 4 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fract_typedef.h" 3
33# 25 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fract_typedef.h" 3
34typedef short fract16;
35typedef long fract32;
36# 26 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fract.h" 2 3
37# 1 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fract_math.h" 1 3
38
39
40
41# 4 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fract_math.h" 3
42# 26 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fract_math.h" 3
43# 1 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/ccblkfn.h" 1 3
44
45
46
47# 4 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/ccblkfn.h" 3
48# 25 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/ccblkfn.h" 3
49# 1 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/stdlib.h" 1 3 4
50# 25 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/stdlib.h" 3 4
51# 1 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/features.h" 1 3 4
52# 267 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/features.h" 3 4
53# 1 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/bits/uClibc_config.h" 1 3 4
54# 268 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/features.h" 2 3 4
55# 303 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/features.h" 3 4
56# 1 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/sys/cdefs.h" 1 3 4
57# 304 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/features.h" 2 3 4
58# 26 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/stdlib.h" 2 3 4
59# 35 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/stdlib.h" 3 4
60# 1 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/lib/gcc/bfin-uclinux/4.1.1/include/stddef.h" 1 3 4
61# 214 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/lib/gcc/bfin-uclinux/4.1.1/include/stddef.h" 3 4
62typedef long unsigned int size_t;
63# 36 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/stdlib.h" 2 3 4
64
65
66# 95 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/stdlib.h" 3 4
67
68
69typedef struct
70 {
71 int quot;
72 int rem;
73 } div_t;
74
75
76
77typedef struct
78 {
79 long int quot;
80 long int rem;
81 } ldiv_t;
82
83
84
85# 147 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/stdlib.h" 3 4
86
87
88
89extern double atof (__const char *__nptr) __attribute__ ((__pure__));
90
91
92extern int atoi (__const char *__nptr) __attribute__ ((__pure__));
93
94extern long int atol (__const char *__nptr) __attribute__ ((__pure__));
95
96
97
98
99
100__extension__ extern long long int atoll (__const char *__nptr)
101 __attribute__ ((__pure__));
102
103
104
105
106
107
108extern double strtod (__const char *__restrict __nptr,
109 char **__restrict __endptr) ;
110
111# 185 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/stdlib.h" 3 4
112
113
114extern long int strtol (__const char *__restrict __nptr,
115 char **__restrict __endptr, int __base) ;
116
117extern unsigned long int strtoul (__const char *__restrict __nptr,
118 char **__restrict __endptr, int __base)
119 ;
120
121
122
123
124__extension__
125extern long long int strtoq (__const char *__restrict __nptr,
126 char **__restrict __endptr, int __base) ;
127
128__extension__
129extern unsigned long long int strtouq (__const char *__restrict __nptr,
130 char **__restrict __endptr, int __base)
131 ;
132
133
134
135
136
137__extension__
138extern long long int strtoll (__const char *__restrict __nptr,
139 char **__restrict __endptr, int __base) ;
140
141__extension__
142extern unsigned long long int strtoull (__const char *__restrict __nptr,
143 char **__restrict __endptr, int __base)
144 ;
145
146# 309 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/stdlib.h" 3 4
147extern char *l64a (long int __n) ;
148
149
150extern long int a64l (__const char *__s) __attribute__ ((__pure__));
151
152
153
154
155# 1 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/sys/types.h" 1 3 4
156# 28 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/sys/types.h" 3 4
157
158
159# 1 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/bits/types.h" 1 3 4
160# 29 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/bits/types.h" 3 4
161# 1 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/lib/gcc/bfin-uclinux/4.1.1/include/stddef.h" 1 3 4
162# 30 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/bits/types.h" 2 3 4
163# 1 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/bits/kernel_types.h" 1 3 4
164# 10 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/bits/kernel_types.h" 3 4
165typedef unsigned short __kernel_dev_t;
166typedef unsigned long __kernel_ino_t;
167typedef unsigned short __kernel_mode_t;
168typedef unsigned short __kernel_nlink_t;
169typedef long __kernel_off_t;
170typedef int __kernel_pid_t;
171typedef unsigned short __kernel_ipc_pid_t;
172typedef unsigned short __kernel_uid_t;
173typedef unsigned short __kernel_gid_t;
174typedef unsigned int __kernel_size_t;
175typedef int __kernel_ssize_t;
176typedef int __kernel_ptrdiff_t;
177typedef long __kernel_time_t;
178typedef long __kernel_suseconds_t;
179typedef long __kernel_clock_t;
180typedef int __kernel_daddr_t;
181typedef char * __kernel_caddr_t;
182typedef unsigned short __kernel_uid16_t;
183typedef unsigned short __kernel_gid16_t;
184typedef unsigned int __kernel_uid32_t;
185typedef unsigned int __kernel_gid32_t;
186typedef unsigned short __kernel_old_uid_t;
187typedef unsigned short __kernel_old_gid_t;
188typedef long long __kernel_loff_t;
189typedef __kernel_dev_t __kernel_old_dev_t;
190
191typedef struct {
192
193
194
195 int __val[2];
196
197} __kernel_fsid_t;
198# 31 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/bits/types.h" 2 3 4
199
200
201typedef unsigned char __u_char;
202typedef unsigned short __u_short;
203typedef unsigned int __u_int;
204typedef unsigned long __u_long;
205
206__extension__ typedef unsigned long long int __u_quad_t;
207__extension__ typedef long long int __quad_t;
208# 50 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/bits/types.h" 3 4
209typedef signed char __int8_t;
210typedef unsigned char __uint8_t;
211typedef signed short int __int16_t;
212typedef unsigned short int __uint16_t;
213typedef signed int __int32_t;
214typedef unsigned int __uint32_t;
215
216__extension__ typedef signed long long int __int64_t;
217__extension__ typedef unsigned long long int __uint64_t;
218
219typedef __quad_t *__qaddr_t;
220
221typedef __u_quad_t __dev_t;
222typedef __u_int __uid_t;
223typedef __u_int __gid_t;
224typedef __u_long __ino_t;
225typedef __u_int __mode_t;
226typedef __u_int __nlink_t;
227typedef long int __off_t;
228typedef __quad_t __loff_t;
229typedef int __pid_t;
230typedef long int __ssize_t;
231typedef __u_long __rlim_t;
232typedef __u_quad_t __rlim64_t;
233typedef __u_int __id_t;
234
235typedef struct
236 {
237 int __val[2];
238 } __fsid_t;
239
240
241typedef int __daddr_t;
242typedef char *__caddr_t;
243typedef long int __time_t;
244typedef unsigned int __useconds_t;
245typedef long int __suseconds_t;
246typedef long int __swblk_t;
247
248typedef long int __clock_t;
249
250
251typedef int __clockid_t;
252
253
254typedef int __timer_t;
255
256
257
258
259
260
261typedef int __key_t;
262
263
264typedef __kernel_ipc_pid_t __ipc_pid_t;
265
266
267
268typedef long int __blksize_t;
269
270
271
272
273typedef __quad_t __blkcnt64_t;
274
275
276typedef __u_long __fsblkcnt_t;
277typedef __u_quad_t __fsblkcnt64_t;
278
279
280typedef __u_long __fsfilcnt_t;
281typedef __u_quad_t __fsfilcnt64_t;
282
283
284typedef __u_quad_t __ino64_t;
285
286
287typedef __loff_t __off64_t;
288
289
290typedef long int __t_scalar_t;
291typedef unsigned long int __t_uscalar_t;
292
293
294typedef int __intptr_t;
295
296
297typedef unsigned int __socklen_t;
298
299
300
301
302# 1 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/bits/pthreadtypes.h" 1 3 4
303# 23 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/bits/pthreadtypes.h" 3 4
304# 1 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/bits/sched.h" 1 3 4
305# 68 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/bits/sched.h" 3 4
306struct __sched_param
307 {
308 int __sched_priority;
309 };
310# 24 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/bits/pthreadtypes.h" 2 3 4
311
312
313struct _pthread_fastlock
314{
315 long int __status;
316 int __spinlock;
317
318};
319
320
321
322typedef struct _pthread_descr_struct *_pthread_descr;
323
324
325
326
327
328typedef struct __pthread_attr_s
329{
330 int __detachstate;
331 int __schedpolicy;
332 struct __sched_param __schedparam;
333 int __inheritsched;
334 int __scope;
335 size_t __guardsize;
336 int __stackaddr_set;
337 void *__stackaddr;
338 size_t __stacksize;
339} pthread_attr_t;
340
341
342
343typedef struct
344{
345 struct _pthread_fastlock __c_lock;
346 _pthread_descr __c_waiting;
347} pthread_cond_t;
348
349
350
351typedef struct
352{
353 int __dummy;
354} pthread_condattr_t;
355
356
357typedef unsigned int pthread_key_t;
358
359
360
361
362
363typedef struct
364{
365 int __m_reserved;
366 int __m_count;
367 _pthread_descr __m_owner;
368 int __m_kind;
369 struct _pthread_fastlock __m_lock;
370} pthread_mutex_t;
371
372
373
374typedef struct
375{
376 int __mutexkind;
377} pthread_mutexattr_t;
378
379
380
381typedef int pthread_once_t;
382# 140 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/bits/pthreadtypes.h" 3 4
383typedef unsigned long int pthread_t;
384# 145 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/bits/types.h" 2 3 4
385# 31 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/sys/types.h" 2 3 4
386
387
388
389typedef __u_char u_char;
390typedef __u_short u_short;
391typedef __u_int u_int;
392typedef __u_long u_long;
393typedef __quad_t quad_t;
394typedef __u_quad_t u_quad_t;
395typedef __fsid_t fsid_t;
396
397
398
399
400typedef __loff_t loff_t;
401
402
403
404typedef __ino_t ino_t;
405# 61 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/sys/types.h" 3 4
406typedef __dev_t dev_t;
407
408
409
410
411typedef __gid_t gid_t;
412
413
414
415
416typedef __mode_t mode_t;
417
418
419
420
421typedef __nlink_t nlink_t;
422
423
424
425
426typedef __uid_t uid_t;
427
428
429
430
431
432typedef __off_t off_t;
433# 99 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/sys/types.h" 3 4
434typedef __pid_t pid_t;
435
436
437
438
439typedef __id_t id_t;
440
441
442
443
444typedef __ssize_t ssize_t;
445
446
447
448
449
450typedef __daddr_t daddr_t;
451typedef __caddr_t caddr_t;
452
453
454
455
456
457typedef __key_t key_t;
458# 132 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/sys/types.h" 3 4
459# 1 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/time.h" 1 3 4
460# 74 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/time.h" 3 4
461
462
463typedef __time_t time_t;
464
465
466
467# 92 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/time.h" 3 4
468typedef __clockid_t clockid_t;
469# 104 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/time.h" 3 4
470typedef __timer_t timer_t;
471# 133 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/sys/types.h" 2 3 4
472# 146 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/sys/types.h" 3 4
473# 1 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/lib/gcc/bfin-uclinux/4.1.1/include/stddef.h" 1 3 4
474# 147 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/sys/types.h" 2 3 4
475
476
477
478typedef unsigned long int ulong;
479typedef unsigned short int ushort;
480typedef unsigned int uint;
481# 190 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/sys/types.h" 3 4
482typedef int int8_t __attribute__ ((__mode__ (__QI__)));
483typedef int int16_t __attribute__ ((__mode__ (__HI__)));
484typedef int int32_t __attribute__ ((__mode__ (__SI__)));
485typedef int int64_t __attribute__ ((__mode__ (__DI__)));
486
487
488typedef unsigned int u_int8_t __attribute__ ((__mode__ (__QI__)));
489typedef unsigned int u_int16_t __attribute__ ((__mode__ (__HI__)));
490typedef unsigned int u_int32_t __attribute__ ((__mode__ (__SI__)));
491typedef unsigned int u_int64_t __attribute__ ((__mode__ (__DI__)));
492
493typedef int register_t __attribute__ ((__mode__ (__word__)));
494# 212 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/sys/types.h" 3 4
495# 1 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/endian.h" 1 3 4
496# 37 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/endian.h" 3 4
497# 1 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/bits/endian.h" 1 3 4
498# 38 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/endian.h" 2 3 4
499# 213 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/sys/types.h" 2 3 4
500
501
502# 1 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/sys/select.h" 1 3 4
503# 31 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/sys/select.h" 3 4
504# 1 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/bits/select.h" 1 3 4
505# 32 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/sys/select.h" 2 3 4
506
507
508# 1 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/bits/sigset.h" 1 3 4
509# 23 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/bits/sigset.h" 3 4
510typedef int __sig_atomic_t;
511
512
513
514
515typedef struct
516 {
517 unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))];
518 } __sigset_t;
519# 35 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/sys/select.h" 2 3 4
520
521
522
523typedef __sigset_t sigset_t;
524
525
526
527
528# 1 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/time.h" 1 3 4
529# 118 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/time.h" 3 4
530struct timespec
531 {
532 __time_t tv_sec;
533 long int tv_nsec;
534 };
535# 44 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/sys/select.h" 2 3 4
536
537# 1 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/bits/time.h" 1 3 4
538# 71 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/bits/time.h" 3 4
539struct timeval
540 {
541 __time_t tv_sec;
542 __suseconds_t tv_usec;
543 };
544# 46 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/sys/select.h" 2 3 4
545
546
547
548typedef long int __fd_mask;
549
550
551
552
553
554
555
556typedef struct
557 {
558
559
560
561
562
563
564 __fd_mask __fds_bits[1024 / (8 * sizeof (__fd_mask))];
565
566
567 } fd_set;
568
569
570
571
572
573
574typedef __fd_mask fd_mask;
575# 89 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/sys/select.h" 3 4
576
577
578
579
580
581
582
583extern int select (int __nfds, fd_set *__restrict __readfds,
584 fd_set *__restrict __writefds,
585 fd_set *__restrict __exceptfds,
586 struct timeval *__restrict __timeout) ;
587# 112 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/sys/select.h" 3 4
588
589# 216 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/sys/types.h" 2 3 4
590
591
592# 1 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/sys/sysmacros.h" 1 3 4
593# 28 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/sys/sysmacros.h" 3 4
594__extension__
595static __inline unsigned int gnu_dev_major (unsigned long long int __dev)
596 ;
597__extension__
598static __inline unsigned int gnu_dev_minor (unsigned long long int __dev)
599 ;
600__extension__
601static __inline unsigned long long int gnu_dev_makedev (unsigned int __major,
602 unsigned int __minor)
603 ;
604
605
606__extension__ static __inline unsigned int
607gnu_dev_major (unsigned long long int __dev)
608{
609 return ((__dev >> 8) & 0xfff) | ((unsigned int) (__dev >> 32) & ~0xfff);
610}
611
612__extension__ static __inline unsigned int
613gnu_dev_minor (unsigned long long int __dev)
614{
615 return (__dev & 0xff) | ((unsigned int) (__dev >> 12) & ~0xff);
616}
617
618__extension__ static __inline unsigned long long int
619gnu_dev_makedev (unsigned int __major, unsigned int __minor)
620{
621 return ((__minor & 0xff) | ((__major & 0xfff) << 8)
622 | (((unsigned long long int) (__minor & ~0xff)) << 12)
623 | (((unsigned long long int) (__major & ~0xfff)) << 32));
624}
625# 219 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/sys/types.h" 2 3 4
626# 230 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/sys/types.h" 3 4
627
628
629
630typedef __fsblkcnt_t fsblkcnt_t;
631
632
633
634typedef __fsfilcnt_t fsfilcnt_t;
635# 262 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/sys/types.h" 3 4
636
637# 318 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/stdlib.h" 2 3 4
638
639
640
641
642
643
644extern long int random (void) ;
645
646
647extern void srandom (unsigned int __seed) ;
648
649
650
651
652
653extern char *initstate (unsigned int __seed, char *__statebuf,
654 size_t __statelen) ;
655
656
657
658extern char *setstate (char *__statebuf) ;
659
660
661
662
663
664
665
666struct random_data
667 {
668 int32_t *fptr;
669 int32_t *rptr;
670 int32_t *state;
671 int rand_type;
672 int rand_deg;
673 int rand_sep;
674 int32_t *end_ptr;
675 };
676
677extern int random_r (struct random_data *__restrict __buf,
678 int32_t *__restrict __result) ;
679
680extern int srandom_r (unsigned int __seed, struct random_data *__buf) ;
681
682extern int initstate_r (unsigned int __seed, char *__restrict __statebuf,
683 size_t __statelen,
684 struct random_data *__restrict __buf) ;
685
686extern int setstate_r (char *__restrict __statebuf,
687 struct random_data *__restrict __buf) ;
688
689
690
691
692
693
694extern int rand (void) ;
695
696extern void srand (unsigned int __seed) ;
697
698
699
700
701extern int rand_r (unsigned int *__seed) ;
702# 390 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/stdlib.h" 3 4
703extern double drand48 (void) ;
704extern double erand48 (unsigned short int __xsubi[3]) ;
705
706
707
708extern long int lrand48 (void) ;
709extern long int nrand48 (unsigned short int __xsubi[3]) ;
710
711
712extern long int mrand48 (void) ;
713extern long int jrand48 (unsigned short int __xsubi[3]) ;
714
715
716extern void srand48 (long int __seedval) ;
717extern unsigned short int *seed48 (unsigned short int __seed16v[3]) ;
718extern void lcong48 (unsigned short int __param[7]) ;
719
720
721
722
723
724struct drand48_data
725 {
726 unsigned short int __x[3];
727 unsigned short int __old_x[3];
728 unsigned short int __c;
729 unsigned short int __init;
730 unsigned long long int __a;
731 };
732
733
734
735extern int drand48_r (struct drand48_data *__restrict __buffer,
736 double *__restrict __result) ;
737extern int erand48_r (unsigned short int __xsubi[3],
738 struct drand48_data *__restrict __buffer,
739 double *__restrict __result) ;
740
741
742
743extern int lrand48_r (struct drand48_data *__restrict __buffer,
744 long int *__restrict __result) ;
745extern int nrand48_r (unsigned short int __xsubi[3],
746 struct drand48_data *__restrict __buffer,
747 long int *__restrict __result) ;
748
749
750extern int mrand48_r (struct drand48_data *__restrict __buffer,
751 long int *__restrict __result) ;
752extern int jrand48_r (unsigned short int __xsubi[3],
753 struct drand48_data *__restrict __buffer,
754 long int *__restrict __result) ;
755
756
757extern int srand48_r (long int __seedval, struct drand48_data *__buffer)
758 ;
759
760extern int seed48_r (unsigned short int __seed16v[3],
761 struct drand48_data *__buffer) ;
762
763extern int lcong48_r (unsigned short int __param[7],
764 struct drand48_data *__buffer) ;
765
766
767
768
769
770
771
772
773
774extern void *malloc (size_t __size) __attribute__ ((__malloc__));
775
776extern void *calloc (size_t __nmemb, size_t __size)
777 __attribute__ ((__malloc__));
778
779
780
781
782
783
784
785extern void *realloc (void *__ptr, size_t __size) __attribute__ ((__malloc__));
786
787extern void free (void *__ptr) ;
788
789
790
791
792extern void cfree (void *__ptr) ;
793
794
795
796# 1 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/alloca.h" 1 3 4
797# 25 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/alloca.h" 3 4
798# 1 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/lib/gcc/bfin-uclinux/4.1.1/include/stddef.h" 1 3 4
799# 26 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/alloca.h" 2 3 4
800
801
802
803
804
805
806
807extern void *alloca (size_t __size) ;
808
809
810
811
812
813
814# 484 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/stdlib.h" 2 3 4
815
816
817
818
819extern void *valloc (size_t __size) __attribute__ ((__malloc__));
820# 497 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/stdlib.h" 3 4
821
822
823extern void abort (void) __attribute__ ((__noreturn__));
824
825
826
827extern int atexit (void (*__func) (void)) ;
828
829
830
831
832
833extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg)
834 ;
835
836
837
838
839
840
841extern void exit (int __status) __attribute__ ((__noreturn__));
842
843# 529 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/stdlib.h" 3 4
844
845
846extern char *getenv (__const char *__name) ;
847
848
849
850
851extern char *__secure_getenv (__const char *__name) ;
852
853
854
855
856
857extern int putenv (char *__string) ;
858
859
860
861
862
863extern int setenv (__const char *__name, __const char *__value, int __replace)
864 ;
865
866
867extern int unsetenv (__const char *__name) ;
868# 568 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/stdlib.h" 3 4
869extern int clearenv (void) ;
870# 577 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/stdlib.h" 3 4
871extern char *mktemp (char *__template) ;
872# 588 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/stdlib.h" 3 4
873extern int mkstemp (char *__template);
874# 607 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/stdlib.h" 3 4
875extern char *mkdtemp (char *__template) ;
876
877
878
879
880
881
882
883
884extern int system (__const char *__command);
885
886# 627 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/stdlib.h" 3 4
887extern char *realpath (__const char *__restrict __name,
888 char *__restrict __resolved) ;
889
890
891
892
893
894
895typedef int (*__compar_fn_t) (__const void *, __const void *);
896
897
898
899
900
901
902
903
904
905extern void *bsearch (__const void *__key, __const void *__base,
906 size_t __nmemb, size_t __size, __compar_fn_t __compar);
907
908
909
910extern void qsort (void *__base, size_t __nmemb, size_t __size,
911 __compar_fn_t __compar);
912
913
914
915extern int abs (int __x) __attribute__ ((__const__));
916extern long int labs (long int __x) __attribute__ ((__const__));
917
918
919
920
921
922
923
924
925
926
927
928
929extern div_t div (int __numer, int __denom)
930 __attribute__ ((__const__));
931extern ldiv_t ldiv (long int __numer, long int __denom)
932 __attribute__ ((__const__));
933
934# 714 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/stdlib.h" 3 4
935extern int rpmatch (__const char *__response) ;
936# 775 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/stdlib.h" 3 4
937extern int getloadavg (double __loadavg[], int __nelem) ;
938
939
940
941
942
943
944# 26 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/ccblkfn.h" 2 3
945# 133 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/ccblkfn.h" 3
946void *_l1_memcpy(void *datap, const void *instrp, size_t n);
947
948void *_memcpy_l1(void *instrp, const void *datap, size_t n);
949# 156 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/ccblkfn.h" 3
950extern int __builtin_bfin_testset(char *);
951extern void __builtin_bfin_untestset(char *);
952
953static __inline void adi_acquire_lock(volatile unsigned short *t)
954{
955 int tVal;
956
957 __builtin_bfin_csync();
958 tVal = __builtin_bfin_testset((char *)t);
959 while ( tVal == 0 )
960 {
961 __builtin_bfin_csync();
962 tVal = __builtin_bfin_testset((char *)t);
963 }
964}
965
966static __inline int adi_try_lock(volatile unsigned short *t)
967{
968 __builtin_bfin_csync();
969 return __builtin_bfin_testset((char *)t);
970}
971
972static __inline void adi_release_lock(volatile unsigned short *t)
973{
974 __builtin_bfin_untestset((char *)t);
975 __builtin_bfin_ssync();
976}
977
978
979static __inline void claim_atomic_access(volatile unsigned short *t)
980{
981 adi_acquire_lock(t);
982}
983
984static __inline void release_atomic_access(volatile unsigned short *t)
985{
986 adi_release_lock(t);
987}
988# 27 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fract_math.h" 2 3
989# 1 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fr2x16_math.h" 1 3
990
991
992#pragma system_header
993# 26 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fr2x16_math.h" 3
994# 1 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fr2x16_base.h" 1 3
995
996
997
998# 4 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fr2x16_base.h" 3
999# 26 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fr2x16_base.h" 3
1000# 1 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fr2x16_typedef.h" 1 3
1001
1002
1003
1004# 4 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fr2x16_typedef.h" 3
1005# 27 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fr2x16_typedef.h" 3
1006# 1 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/r2x16_typedef.h" 1 3
1007
1008
1009
1010# 4 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/r2x16_typedef.h" 3
1011# 27 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/r2x16_typedef.h" 3
1012# 1 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/raw_typedef.h" 1 3
1013
1014
1015
1016# 4 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/raw_typedef.h" 3
1017# 25 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/raw_typedef.h" 3
1018typedef char _raw8;
1019typedef short _raw16;
1020typedef int _raw32;
1021typedef int __v2hi __attribute__ ((__mode__ (__V2HI__)));
1022# 28 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/r2x16_typedef.h" 2 3
1023
1024typedef __v2hi raw2x16;
1025# 28 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fr2x16_typedef.h" 2 3
1026
1027
1028
1029
1030
1031typedef raw2x16 fract2x16;
1032typedef fract2x16 fr2x16;
1033# 27 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fr2x16_base.h" 2 3
1034
1035# 1 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/r2x16_base.h" 1 3
1036
1037
1038
1039# 4 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/r2x16_base.h" 3
1040# 35 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/r2x16_base.h" 3
1041static __inline raw2x16 compose_2x16(_raw16 _x, _raw16 _y) {
1042 return __builtin_bfin_compose_2x16(_x, _y);
1043}
1044static __inline _raw16 high_of_2x16(raw2x16 _x) {
1045 return __builtin_bfin_extract_hi(_x);
1046}
1047static __inline _raw16 low_of_2x16(raw2x16 _x) {
1048 return __builtin_bfin_extract_lo(_x);
1049}
1050# 29 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fr2x16_base.h" 2 3
1051# 67 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fr2x16_base.h" 3
1052static __inline fract16 sum_fr2x16(fract2x16 _x){
1053 return __builtin_bfin_sum_fr2x16(_x);
1054}
1055# 80 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fr2x16_base.h" 3
1056static __inline fract2x16 compose_fr2x16(fract16 _x, fract16 _y) {
1057 return compose_2x16(_x,_y);
1058}
1059
1060
1061
1062
1063static __inline fract16 high_of_fr2x16(fract2x16 _x) {
1064 return high_of_2x16(_x);
1065}
1066
1067
1068
1069
1070static __inline fract16 low_of_fr2x16(fract2x16 _x) {
1071 return low_of_2x16(_x);
1072}
1073# 27 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fr2x16_math.h" 2 3
1074# 41 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fr2x16_math.h" 3
1075static __inline fract2x16 abs_fr2x16(fract2x16 _x) {
1076 return __builtin_bfin_abs_fr2x16(_x);
1077}
1078static __inline fract2x16 min_fr2x16(fract2x16 _x, fract2x16 _y) {
1079 return __builtin_bfin_min_fr2x16(_x, _y);
1080}
1081static __inline fract2x16 max_fr2x16(fract2x16 _x, fract2x16 _y) {
1082 return __builtin_bfin_max_fr2x16(_x, _y);
1083}
1084# 65 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fr2x16_math.h" 3
1085static __inline fract2x16 add_as_fr2x16(fract2x16 x,fract2x16 y) {
1086 return __builtin_bfin_dspaddsubsat(x,y);
1087 }
1088
1089static __inline fract2x16 add_sa_fr2x16(fract2x16 x,fract2x16 y) {
1090 return __builtin_bfin_dspsubaddsat(x,y);
1091 }
1092
1093static __inline fract16 diff_hl_fr2x16(fr2x16 x) {
1094 return __builtin_bfin_diff_hl_fr2x16(x);
1095 }
1096
1097static __inline fract16 diff_lh_fr2x16(fr2x16 x) {
1098 return __builtin_bfin_diff_lh_fr2x16(x);
1099 }
1100
1101
1102
1103static __inline fract32 mult_ll_fr2x16(fract2x16 _x, fract2x16 _y) {
1104 return low_of_fr2x16(_x)*low_of_fr2x16(_y);
1105}
1106static __inline fract32 mult_hl_fr2x16(fract2x16 _x, fract2x16 _y) {
1107 return high_of_fr2x16(_x)*low_of_fr2x16(_y);
1108}
1109static __inline fract32 mult_lh_fr2x16(fract2x16 _x, fract2x16 _y) {
1110 return low_of_fr2x16(_x)*high_of_fr2x16(_y);
1111}
1112static __inline fract32 mult_hh_fr2x16(fract2x16 _x, fract2x16 _y) {
1113 return high_of_fr2x16(_x)*high_of_fr2x16(_y);
1114}
1115# 28 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fract_math.h" 2 3
1116# 48 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fract_math.h" 3
1117static __inline fract2x16 add_fr2x16(fract2x16 _x, fract2x16 _y)
1118 { return __builtin_bfin_add_fr2x16(_x,_y); }
1119
1120
1121static __inline fract16 add_fr1x16(fract16 _x, fract16 _y)
1122 { return __builtin_bfin_add_fr1x16(_x,_y); }
1123
1124
1125
1126
1127static __inline fract2x16 sub_fr2x16(fract2x16 _x, fract2x16 _y)
1128 { return __builtin_bfin_sub_fr2x16(_x,_y); }
1129
1130
1131static __inline fract16 sub_fr1x16(fract16 _x, fract16 _y)
1132 { return __builtin_bfin_sub_fr1x16(_x,_y); }
1133
1134
1135
1136
1137static __inline fract2x16 mult_fr2x16(fract2x16 _x, fract2x16 _y)
1138 { return __builtin_bfin_mult_fr2x16(_x,_y); }
1139
1140
1141
1142static __inline fract16 mult_fr1x16(fract16 _x, fract16 _y)
1143 { return __builtin_bfin_mult_fr1x16(_x,_y); }
1144
1145
1146
1147
1148
1149
1150static __inline fract2x16 multr_fr2x16(fract2x16 _x, fract2x16 _y)
1151 { return __builtin_bfin_multr_fr2x16(_x,_y); }
1152
1153
1154
1155
1156static __inline fract16 multr_fr1x16(fract16 _x, fract16 _y)
1157 { return __builtin_bfin_multr_fr1x16(_x,_y); }
1158
1159
1160
1161
1162
1163static __inline fract2x16 negate_fr2x16(fract2x16 _x)
1164 { return __builtin_bfin_negate_fr2x16(_x); }
1165
1166
1167
1168static __inline fract16 negate_fr1x16(fract16 _x)
1169 { return __builtin_bfin_negate_fr1x16(_x); }
1170# 112 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fract_math.h" 3
1171static __inline fract2x16 shl_fr2x16(fract2x16 _x, short _y)
1172 { return __builtin_bfin_shl_fr2x16(_x,_y); }
1173# 125 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fract_math.h" 3
1174static __inline fract2x16 shl_fr2x16_clip(fract2x16 _x, short _y)
1175{
1176 _y = _y > 15 ? 15 : _y;
1177 _y = _y < -16 ? -16 : _y;
1178 return __builtin_bfin_shl_fr2x16(_x,_y);
1179}
1180# 140 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fract_math.h" 3
1181static __inline fract16 shl_fr1x16(fract16 _x, short _y)
1182 { return __builtin_bfin_shl_fr1x16(_x,_y); }
1183# 150 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fract_math.h" 3
1184static __inline fract16 shl_fr1x16_clip(fract16 _x, short _y)
1185{
1186 _y = _y > 15 ? 15 : _y;
1187 _y = _y < -16 ? -16 : _y;
1188 return __builtin_bfin_shl_fr1x16(_x,_y);
1189}
1190# 169 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fract_math.h" 3
1191static __inline fract2x16 shr_fr2x16(fract2x16 _x, short _y)
1192 { return __builtin_bfin_shl_fr2x16(_x,-_y); }
1193# 180 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fract_math.h" 3
1194static __inline fract2x16 shr_fr2x16_clip(fract2x16 _x, short _y)
1195{
1196 _y = _y > 16 ? 16 : _y;
1197 _y = _y < -15 ? -15 : _y;
1198 return __builtin_bfin_shl_fr2x16 (_x,-_y);
1199}
1200# 195 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fract_math.h" 3
1201static __inline fract16 shr_fr1x16(fract16 _x, short _y)
1202 { return __builtin_bfin_shl_fr1x16(_x,-_y); }
1203# 205 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fract_math.h" 3
1204static __inline fract16 shr_fr1x16_clip(fract16 _x, short _y)
1205{
1206 _y = _y > 16 ? 16 : _y;
1207 _y = _y < -15 ? -15 : _y;
1208 return __builtin_bfin_shl_fr1x16(_x,-_y);
1209}
1210# 219 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fract_math.h" 3
1211static __inline fract2x16 shrl_fr2x16(fract2x16 _x, short _y)
1212 { return __builtin_bfin_lshl_fr2x16(_x,-_y); }
1213
1214
1215
1216
1217
1218
1219
1220static __inline fract2x16 shrl_fr2x16_clip(fract2x16 _x, short _y)
1221{
1222 _y = _y > 16 ? 16 : _y;
1223 _y = _y < -15 ? -15 : _y;
1224 return __builtin_bfin_lshl_fr2x16 (_x,-_y);
1225}
1226# 242 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fract_math.h" 3
1227static __inline fract16 shrl_fr1x16(fract16 _x, short _y)
1228 { return __builtin_bfin_lshl_fr1x16(_x,-_y); }
1229
1230
1231
1232
1233
1234
1235
1236static __inline fract16 shrl_fr1x16_clip(fract16 _x, short _y)
1237{
1238 _y = _y > 16 ? 16 : _y;
1239 _y = _y < -15 ? -15 : _y;
1240 return __builtin_bfin_lshl_fr1x16 (_x,-_y);
1241}
1242# 267 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fract_math.h" 3
1243static __inline fract32 add_fr1x32(fract32 _x, fract32 _y)
1244 { return __builtin_bfin_add_fr1x32(_x,_y); }
1245
1246
1247static __inline fract32 sub_fr1x32(fract32 _x, fract32 _y)
1248 { return __builtin_bfin_sub_fr1x32(_x,_y); }
1249
1250
1251
1252
1253static __inline fract32 mult_fr1x32x32(fract32 _x, fract32 _y)
1254 { return __builtin_bfin_mult_fr1x32x32(_x,_y); }
1255
1256
1257
1258
1259
1260static __inline fract32 mult_fr1x32x32NS(fract32 _x, fract32 _y)
1261 { return __builtin_bfin_mult_fr1x32x32NS(_x,_y); }
1262
1263
1264
1265
1266static __inline fract32 abs_fr1x32(fract32 _x)
1267 { return __builtin_bfin_abs_fr1x32(_x); }
1268
1269
1270static __inline fract32 __builtin_bfin_negate_fr1x32(fract32 _x) {
1271 return __builtin_bfin_sub_fr1x32(0, _x);
1272}
1273
1274
1275static __inline fract32 negate_fr1x32(fract32 _x) {
1276 return __builtin_bfin_sub_fr1x32(0, _x);
1277}
1278
1279
1280static __inline fract32 min_fr1x32(fract32 _x, fract32 _y)
1281 { return __builtin_bfin_min_fr1x32(_x,_y); }
1282
1283
1284static __inline fract32 max_fr1x32(fract32 _x, fract32 _y)
1285 { return __builtin_bfin_max_fr1x32(_x,_y); }
1286# 319 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fract_math.h" 3
1287static __inline fract32 shl_fr1x32(fract32 _x, short _y)
1288 { return __builtin_bfin_shl_fr1x32(_x,_y); }
1289# 329 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fract_math.h" 3
1290static __inline fract32 shl_fr1x32_clip(fract32 _x, short _y)
1291 { return __builtin_bfin_shl_fr1x32_clip(_x,_y); }
1292# 340 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fract_math.h" 3
1293static __inline fract32 shr_fr1x32(fract32 _x, short _y)
1294 { return __builtin_bfin_shr_fr1x32(_x,_y); }
1295# 350 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fract_math.h" 3
1296static __inline fract32 shr_fr1x32_clip(fract32 _x, short _y)
1297 { return __builtin_bfin_shr_fr1x32_clip(_x,_y); }
1298
1299
1300
1301static __inline fract32 mult_fr1x32(fract16 _x, fract16 _y)
1302 { return __builtin_bfin_mult_fr1x32(_x,_y); }
1303# 365 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fract_math.h" 3
1304static __inline fract16 __builtin_bfin_sat_fr1x32(fract32 _x)
1305 { return shl_fr1x32(_x,16)>>16;}
1306
1307
1308
1309static __inline fract16 sat_fr1x32(fract32 _x)
1310 { return shl_fr1x32(_x,16)>>16;}
1311
1312
1313
1314static __inline fract16 round_fr1x32(fract32 _x)
1315 { return __builtin_bfin_round_fr1x32(_x); }
1316# 388 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fract_math.h" 3
1317static __inline int norm_fr1x32(fract32 _x)
1318 { return __builtin_bfin_norm_fr1x32(_x); }
1319# 401 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fract_math.h" 3
1320static __inline int norm_fr1x16(fract16 _x)
1321 { return __builtin_bfin_norm_fr1x16(_x); }
1322
1323
1324
1325static __inline fract16 trunc_fr1x32(fract32 _x)
1326 { return _x>>16; }
1327
1328
1329
1330static __inline fract16 abs_fr16 (fract16 _x)
1331 { return __builtin_bfin_abs_fr1x16 (_x); }
1332
1333
1334
1335static __inline fract16 abs_fr1x16 (fract16 _x)
1336 { return __builtin_bfin_abs_fr1x16(_x); }
1337
1338
1339static __inline fract16 max_fr16 (fract16 _x, fract16 _y)
1340 { return __builtin_bfin_max_fr1x16 (_x, _y); }
1341
1342
1343static __inline fract16 min_fr16 (fract16 _x, fract16 _y)
1344 { return __builtin_bfin_min_fr1x16 (_x, _y); }
1345# 27 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fract.h" 2 3
1346# 1 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fract2float_conv.h" 1 3
1347
1348
1349
1350# 4 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fract2float_conv.h" 3
1351# 31 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fract2float_conv.h" 3
1352 static __inline fract32 fr16_to_fr32(fract16 _x) {
1353
1354 return ((fract32)(_x)) << 16;
1355 }
1356
1357 static __inline fract16 fr32_to_fr16(fract32 _x) {
1358
1359 return (fract16)(_x >> 16);
1360 }
1361
1362 float fr32_to_float (fract32);
1363 fract32 float_to_fr32 (float);
1364
1365 static __inline float fr16_to_float(fract16 _x) {
1366 return fr32_to_float(fr16_to_fr32(_x));
1367 }
1368
1369 static __inline fract16 float_to_fr16(float _x) {
1370 return fr32_to_fr16(float_to_fr32(_x));
1371 }
1372# 28 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fract.h" 2 3
1373# 51 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/float16.h" 2
1374# 82 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/float16.h"
1375__inline float16
1376fr16_to_fl16(fract16 fr)
1377{
1378 float16 fl = { 0 };
1379 if (fr) {
1380 short exp = norm_fr1x16(fr);
1381 fl.s.e = -exp;
1382 fl.s.m = fr << exp;
1383 }
1384 return fl;
1385}
1386
1387__inline fract16
1388fl16_to_fr16(float16 fl)
1389{
1390 fract16 fr = fl.s.m;
1391 short exp = fl.s.e;
1392
1393 return shl_fr1x16(fr, exp);
1394}
1395
1396static __inline float16
1397norm_fl16(float16 fl)
1398{
1399 if (fl.s.m) {
1400 short exp = norm_fr1x16(fl.s.m);
1401 fl.s.m <<= exp;
1402 fl.s.e -= exp;
1403 } else {
1404 fl.s.e = 0;
1405 }
1406 return fl;
1407}
1408
1409__inline float16
1410add_fl16(float16 x, float16 y)
1411{
1412 int d = x.s.e - y.s.e;
1413 float16 fl = x, a = y;
1414 int xneg = x.l < 0;
1415 int yneg = y.l < 0;
1416 if (d < 0) {
1417 fl = y;
1418 a = x;
1419 }
1420 d = abs_fr1x32(d);
1421 fl.s.m += a.s.m >> d;
1422
1423 if (xneg == yneg && xneg != (fl.l < 0)) {
1424 fl.s.m >>= 1;
1425 fl.s.m &= 0x7fff;
1426 fl.s.m |= xneg << 15;
1427 fl.s.e++;
1428 } else if (fl.s.m) {
1429 short exp = norm_fr1x16(fl.s.m);
1430 fl.s.m <<= exp;
1431 fl.s.e -= exp;
1432 } else {
1433 fl.s.e = 0;
1434 }
1435 return fl;
1436}
1437
1438__inline float16
1439sub_fl16(float16 x, float16 y)
1440{
1441 int d = x.s.e - y.s.e;
1442 float16 fl = x, a = y;
1443 int xneg = x.l < 0;
1444 int yneg = y.l < 0;
1445 if (d < 0) {
1446 d = -d;
1447 fl.s.m >>= d;
1448 fl.s.e += d;
1449 } else {
1450 a.s.m >>= d;
1451 }
1452 fl.s.m -= a.s.m;
1453
1454 if (xneg != yneg && yneg == (fl.l < 0)) {
1455 fl.s.m >>= 1;
1456 fl.s.m &= 0x7fff;
1457 fl.s.m |= xneg << 15;
1458 fl.s.e++;
1459 } else if (fl.s.m) {
1460 short exp = norm_fr1x16(fl.s.m);
1461 fl.s.m <<= exp;
1462 fl.s.e -= exp;
1463 } else {
1464 fl.s.e = 0;
1465 }
1466 return fl;
1467}
1468
1469__inline float16
1470mul_fl16(float16 x, float16 y)
1471{
1472 float16 fl;
1473
1474 fl.s.e = x.s.e + y.s.e;
1475 fl.s.m = mult_fr1x16(x.s.m, y.s.m);
1476 if (fl.s.m) {
1477 short exp = norm_fr1x16(fl.s.m);
1478 fl.s.m <<= exp;
1479 fl.s.e -= exp;
1480 } else {
1481 fl.s.e = 0;
1482 }
1483 return fl;
1484}
1485
1486__inline float16
1487div_fl16(float16 x, float16 y)
1488{
1489 int i;
1490 int niters = 15;
1491 const long one = 0x40000001;
1492 float16 fl;
1493 int xneg = x.l < 0;
1494 int yneg = y.l < 0;
1495 unsigned short r = 0;
1496 unsigned short d = x.s.m;
1497 unsigned short q = y.s.m;
1498 if (y.l == 0) {
1499 fl.l=0x00008000;
1500 return fl;
1501 }
1502 if (y.l == one)
1503 return x;
1504 if (x.l == y.l) {
1505 fl.l = one;
1506 return fl;
1507 }
1508 fl.s.e = x.s.e - y.s.e;
1509 if (xneg)
1510 d = -d;
1511 if (yneg)
1512 q = -q;
1513 for (i = 0; i < niters; i++) {
1514 if (q <= d) {
1515 d -= q;
1516 r |= 1;
1517 }
1518 d <<= 1;
1519 r <<= 1;
1520 }
1521 d = r;
1522 if (d & 0x8000) {
1523
1524 d >>= 1;
1525 d &= 0x7fff;
1526 fl.s.e++;
1527 }
1528 if (xneg != yneg)
1529 d = -d;
1530 fl.s.m = d;
1531 if (fl.s.m) {
1532 short exp = norm_fr1x16(fl.s.m);
1533 fl.s.m <<= exp;
1534 fl.s.e -= exp;
1535 } else {
1536 fl.s.e = 0;
1537 }
1538 return fl;
1539}
1540
1541__inline float16
1542negate_fl16(float16 fl)
1543{
1544# 262 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/float16.h"
1545 fl.s.m = -fl.s.m;
1546
1547 return fl;
1548}
1549
1550__inline float16
1551abs_fl16(float16 fl)
1552{
1553 fl.s.m = abs_fr1x16(fl.s.m);
1554 return fl;
1555}
1556
1557__inline int
1558cmp_fl16(float16 x, float16 y)
1559{
1560
1561
1562
1563
1564 int neg = 0;
1565 int res;
1566 short resl, resh;
1567 int xneg = x.l < 0;
1568 int yneg = y.l < 0;
1569
1570
1571
1572
1573
1574
1575 if (xneg == yneg)
1576 neg = xneg;
1577 else
1578 return (xneg << 31) | 1;
1579
1580 resh = sub_fr1x16(x.s.m, y.s.m);
1581 resl = sub_fr1x16(x.s.e, y.s.e);
1582 if (resl == 0)
1583 resl = resh;
1584 res = resl;
1585 if (neg)
1586 res = -res;
1587 return res;
1588}
1589
1590__inline float16
1591fl_to_fl16(float f)
1592{
1593 float16 fl;
1594 unsigned long sign, uexp;
1595 long exp;
1596 fl.f = f;
1597 if ((fl.u << 1) == 0) {
1598
1599 fl.u = 0;
1600 return fl;
1601 }
1602 sign = (fl.u >> 31) << 31;
1603 uexp = (fl.u << 1) >> 24;
1604 exp = uexp - 127;
1605 exp += 1;
1606 fl. u |= (1<<23);
1607 fl.u <<= 8;
1608 fl.u >>= 1;
1609
1610
1611
1612
1613 fl.s.e = exp;
1614 if (sign)
1615 fl.s.m = -fl.s.m;
1616 return fl;
1617}
1618
1619__inline int
1620fits_in_fl16(float f)
1621{
1622 float16 fl;
1623 fl.f = f;
1624 return (fl.u & 0xff) == 0;
1625}
1626
1627__inline float
1628fl16_to_fl(float16 fl)
1629{
1630 unsigned long exp, sign;
1631 if (fl.u == 0)
1632 return fl.f;
1633 sign = (fl.u >> 31) << 31;
1634 exp = (fl.s.e + 127 - 1);
1635 if ((fl.s.m & 0xffff) == 0x8000) {
1636 fl.s.m = 0x4000;
1637 exp++;
1638 } else if (sign) {
1639 fl.s.m = -fl.s.m;
1640 }
1641 fl.s.e = 0;
1642 fl.u <<= 2;
1643 fl.u >>= 9;
1644 exp <<= 23;
1645 fl.u = sign | exp | fl.u;
1646 return fl.f;
1647}
1648# 1 "test.c" 2