| /* { dg-do compile } */ |
| /* { dg-options "-Ofast" } */ |
| |
| #include <math.h> |
| |
| float test1 (float x, float y) |
| { |
| return fmodf (x, y); |
| } |
| |
| double test2 (double x, double y) |
| { |
| return fmod (x, y); |
| } |
| |
| float test3 (float x, float y) |
| { |
| return remainderf (x, y); |
| } |
| |
| double test4 (double x, double y) |
| { |
| return remainder (x, y); |
| } |
| |
| /* { dg-final { scan-assembler-not {(?n)\mb.*fmod} } } */ |
| /* { dg-final { scan-assembler-not {(?n)\mb.*fmodf} } } */ |
| /* { dg-final { scan-assembler-not {(?n)\mb.*remainder} } } */ |
| /* { dg-final { scan-assembler-not {(?n)\mb.*remainderf} } } */ |
| /* { dg-final { scan-assembler-times {\mfdiv\M} 2 } } */ |
| /* { dg-final { scan-assembler-times {\mfdivs\M} 2 } } */ |
| /* { dg-final { scan-assembler-times {\mfnmsub\M} 2 } } */ |
| /* { dg-final { scan-assembler-times {\mfnmsubs\M} 2 } } */ |
| /* { dg-final { scan-assembler-times {\mfriz\M} 2 } } */ |
| /* { dg-final { scan-assembler-times {\mfrin\M} 2 } } */ |