1  /* PR target/104674 */
       2  /* { dg-do run { target sse2_runtime } } */
       3  /* { dg-options "-O2 -msse2 -mfpmath=sse" } */
       4  
       5  __attribute__((noipa)) double
       6  bar (double x, double y)
       7  {
       8    return x + y;
       9  }
      10  
      11  __attribute__((noipa)) double
      12  foo (long long x)
      13  {
      14    long long a = x / 10000000;
      15    int b = x % 10000000;
      16    double s = (double) a;
      17    double n = (double) b / 1e7;
      18    double t = s + n;
      19    if (t == s + 1.0)
      20      t = bar (t, s);
      21    return t;
      22  }
      23  
      24  int
      25  main ()
      26  {
      27    long long n = 888888;
      28    n = n * 10000000;
      29    if (foo (n) != 888888.0)
      30      __builtin_abort ();
      31  }