1 extern void abort (void);
2 
3 typedef short  __v2hi __attribute ((vector_size(4)));
4 typedef __v2hi fract2x16;
5 typedef short fract16;
6 
foo(fract2x16 f,short n)7 fract2x16 foo (fract2x16 f, short n)
8 {
9   return __builtin_bfin_shl_fr2x16 (f, n);
10 }
11 
main()12 int main ()
13 {
14   fract2x16 a, t;
15   fract16 t1, t2;
16 
17   a = __builtin_bfin_compose_2x16 (0x1001, 0x0001);
18 
19   t = foo (a, 4);
20   t1 = __builtin_bfin_extract_hi (t);
21   t2 = __builtin_bfin_extract_lo (t);
22   if (t1 != 0x7fff || t2 != 0x10)
23     abort ();
24 
25   return 0;
26 }
27 
28