/* { dg-do compile } */ /* { dg-options "-O2 -msse4.1 -mfpmath=sse" } */ double floor (double); double ceil (double); int ifloor (double x) { return floor (x); } int iceil (double x) { return ceil (x); } #ifdef __x86_64__ long long llfloor (double x) { return floor (x); } long long llceil (double x) { return ceil (x); } #endif /* { dg-final { scan-assembler-times "roundsd" 2 { target ia32 } } } */ /* { dg-final { scan-assembler-times "roundsd" 4 { target { ! ia32 } } } } */