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, b, c, t;
10   fract16 t1, t2;
11 
12   a = __builtin_bfin_compose_2x16 (0x2000, 0x1000);
13   b = __builtin_bfin_compose_2x16 (0xb000, 0xe000);
14   c = __builtin_bfin_compose_2x16 (0xa000, 0x8000);
15 
16   t = __builtin_bfin_cmplx_msu (a, b, c);
17   t1 = __builtin_bfin_extract_hi (t);
18   t2 = __builtin_bfin_extract_lo (t);
19   if (t1 != 0xffffb800 || t2 != 0x2c00)
20     abort ();
21   return 0;
22 }
23 
24