1 /* { dg-do compile } */
2 /* { dg-options "-O2 -msse4.1 -mfpmath=sse" } */
3 
4 double floor (double);
5 double ceil (double);
6 
ifloor(double x)7 int ifloor (double x) { return floor (x); }
iceil(double x)8 int iceil (double x) { return ceil (x); }
9 
10 #ifdef __x86_64__
llfloor(double x)11 long long llfloor (double x) { return floor (x); }
llceil(double 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 } } } } */
17