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