1 /* { dg-do run } */
2 /* { dg-require-effective-target f16c } */
3 /* { dg-options "-O2 -mf16c" } */
4 
5 #include "f16c-check.h"
6 
7 static void
f16c_test(void)8 f16c_test (void)
9 {
10   union128i_w val;
11   union128 res;
12   float exp[4];
13 
14   exp[0] = 1;
15   exp[1] = -2;
16   exp[2] = -1;
17   exp[3] = 2;
18 
19   val.a[0] = 0x3c00;
20   val.a[1] = 0xc000;
21   val.a[2] = 0xbc00;
22   val.a[3] = 0x4000;
23 
24   res.x = _mm_cvtph_ps (val.x);
25 
26   if (check_union128 (res, exp))
27     abort ();
28 }
29