1  /* PR target/63618 */
       2  /* { dg-do run } */
       3  /* { dg-options "-O2 -mtune=corei7 -fno-inline" } */
       4  /* { dg-additional-options "-msse4.2" { target sse4 } } */
       5  /* { dg-additional-options "-fpic" { target fpic } } */
       6  
       7  static const __float128 cf = 0.1E+10Q;
       8  
       9  __float128
      10  f128_square(__float128 x)
      11  {
      12    return x * x;
      13  }
      14  
      15  __float128
      16  f128_p3(__float128 x)
      17  {
      18    return x * x * x;
      19  }
      20  
      21  __float128
      22  cond_f128_square (__float128 x, int p)
      23  {
      24    x = f128_p3 (x);
      25    if (p)
      26      x = f128_square(cf);
      27    return x;
      28  }
      29  
      30  int main()
      31  {
      32    __float128 x = cond_f128_square (cf, 1);
      33    return (int)(x < cf);
      34  }