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)8f16c_test (void) 9 { 10 union128 val; 11 union128i_w res; 12 short exp[8]; 13 14 val.a[0] = 1; 15 val.a[1] = -2; 16 val.a[2] = -1; 17 val.a[3] = 2; 18 19 exp[0] = 0x3c00; 20 exp[1] = 0xc000; 21 exp[2] = 0xbc00; 22 exp[3] = 0x4000; 23 exp[4] = 0; 24 exp[5] = 0; 25 exp[6] = 0; 26 exp[7] = 0; 27 28 res.x = _mm_cvtps_ph (val.x, 0); 29 30 if (check_union128i_w (res, exp)) 31 abort (); 32 } 33