1 2 typedef signed char *__restrict__ pRSINT8; 3 typedef signed short *__restrict__ pRSINT16; 4 typedef signed int *__restrict__ pRSINT32; 5 typedef signed long long *__restrict__ pRSINT64; 6 7 typedef unsigned char *__restrict__ pRUINT8; 8 typedef unsigned short *__restrict__ pRUINT16; 9 typedef unsigned int *__restrict__ pRUINT32; 10 typedef unsigned long long *__restrict__ pRUINT64; 11 12 #undef SH /* Including limits.h on vxworks defines this. */ 13 typedef signed short SH; 14 typedef unsigned short UH; 15 typedef signed int SS; 16 typedef unsigned int US; 17 typedef signed long long SLL; 18 typedef unsigned long long ULL; 19 20 #define DEF_MULLB(sign) \ 21 void widen_mult_##sign##b (pR##sign##INT##16 a, \ 22 pR##sign##INT##8 b, \ 23 pR##sign##INT##8 c) \ 24 { \ 25 int i; \ 26 for (i=0; i<N; i++) \ 27 a[i] = (sign##H)b[i] * c[i]; \ 28 } 29 30 #define DEF_MULLH(sign) \ 31 void widen_mult_##sign##h (pR##sign##INT##32 a, \ 32 pR##sign##INT##16 b, \ 33 pR##sign##INT##16 c) \ 34 { \ 35 int i; \ 36 for (i=0; i<N; i++) \ 37 a[i] = (sign##S)b[i] * c[i]; \ 38 } 39 #define DEF_MULLS(sign) \ 40 void widen_mult_##sign##s (pR##sign##INT##64 a, \ 41 pR##sign##INT##32 b, \ 42 pR##sign##INT##32 c) \ 43 { \ 44 int i; \ 45 for (i=0; i<N; i++) \ 46 a[i] = (sign##LL)b[i] * c[i]; \ 47 } 48 49 #define DEF_MULL2(x) x (S) \ 50 x (U) 51