1 /* { dg-do compile { target bfin-*-* } } */
4 typedef short __v2hi
__attribute__ ((vector_size (4)));
5 typedef __v2hi raw2x16
;
6 typedef raw2x16 fract2x16
;
7 typedef struct complex_fract16
{
10 } __attribute__((aligned(4))) complex_fract16
;
14 __attribute__ ((always_inline
))
15 static complex_fract16
cmlt_fr16 (complex_fract16 _a
,
21 i
= __builtin_bfin_cmplx_mul(__builtin_bfin_compose_2x16((_a
).im
, (_a
).re
),
22 __builtin_bfin_compose_2x16((_b
).im
, (_b
).re
));
23 (r
).re
= __builtin_bfin_extract_lo(i
);
24 (r
).im
= __builtin_bfin_extract_hi(i
);
29 complex_fract16
f(complex_fract16 a
, complex_fract16 b
) {
30 return cmlt_fr16(a
, b
);