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