1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
extern void abort (void); typedef short fract16; fract16 foo (fract16 f, short n) { return __builtin_bfin_shrl_fr1x16 (f, n); } int main () { fract16 t1; t1 = foo (0x4004, -4); if (t1 != 0x0040) abort (); return 0; }