modernc.org/ccgo/v3@v3.16.14/lib/testdata/gcc-9.1.0/gcc/testsuite/gcc.c-torture/compile/pr35595.c (about)

     1  /* { dg-require-effective-target int32plus } */
     2  typedef signed int __int32_t;
     3  typedef unsigned int __uint32_t;
     4  typedef union
     5  {
     6    float value;
     7    __uint32_t word;
     8  }
     9  ieee_float_shape_type;
    10  static const float two23 = 8.3886080000e+06;
    11  static const float pi = 3.1415927410e+00;
    12  static const float zero = 0.0000000000e+00;
    13  static float
    14  sin_pif (float x)
    15  {
    16    float y = 0;
    17    float z = 0;
    18    __int32_t n = 0;
    19    __int32_t ix = 0;
    20    do
    21      {
    22        ieee_float_shape_type gf_u = { 0 };
    23        (ix) = gf_u.word;
    24      }
    25    while (0);
    26    if (z == y)
    27      {
    28        if (ix < 0x4b800000)
    29  	{
    30  	  if (ix < 0x4b000000)
    31  	    z = y + two23;
    32  	  do
    33  	    {
    34  	      ieee_float_shape_type gf_u;
    35  	      gf_u.value = (z);
    36  	      (n) = gf_u.word;
    37  	    }
    38  	  while (0);
    39  	}
    40      }
    41    if (n == 0)
    42      y = __kernel_sinf (pi * y, zero, 0);
    43  }
    44  
    45  float
    46  __ieee754_lgammaf_r (float x, int *signgamp)
    47  {
    48    float t = 0;
    49    __int32_t hx = 0;
    50    do
    51      {
    52        ieee_float_shape_type gf_u = { 0 };
    53        (hx) = gf_u.word;
    54      }
    55    while (0);
    56    if (hx < 0)
    57      t = sin_pif (x);
    58    return 0;
    59  }