1  /* { dg-do run { target lp64 } } */
       2  /* { dg-options "-O3" } */
       3  
       4  int main()
       5  {
       6    long double x;
       7    unsigned long u[2] = {0xEEEEEEEEEEEEEEEEUL, 0xEEEEEEEEEEEEEEEEUL};
       8    __builtin_memcpy(&x, &u, sizeof x);
       9    __builtin_memcpy(&u, &x, sizeof u);
      10    ++*(unsigned char *)&x;
      11    (void)-x;
      12    __builtin_memcpy(&u, &x, sizeof u);
      13    if (u[1] != 0xEEEEEEEEEEEEEEEEUL
      14        || u[0] != 0xEEEEEEEEEEEEEEEFUL)
      15      __builtin_abort ();
      16    return 0;
      17  }