1  /* { dg-do compile } */
       2  /* { dg-options "-O2 -msse4.1 -mfpmath=sse" } */
       3  
       4  double floor (double);
       5  double ceil (double);
       6  
       7  int ifloor (double x) { return floor (x); }
       8  int iceil (double x) { return ceil (x); }
       9  
      10  #ifdef __x86_64__
      11  long long llfloor (double x) { return floor (x); }
      12  long long llceil (double x) { return ceil (x); }
      13  #endif
      14    
      15  /* { dg-final { scan-assembler-times "roundsd" 2 { target ia32 } } } */
      16  /* { dg-final { scan-assembler-times "roundsd" 4 { target { ! ia32 } } } } */