| /* { dg-do compile } */ |
| /* { dg-options "-ffast-math -mips64 -mhard-float -mgp32" } */ |
| /* { dg-skip-if "code quality test" { *-*-* } { "-O0" } { "" } } */ |
| /* { dg-final { scan-assembler-not "\trsqrt.d\t" } } */ |
| /* { dg-final { scan-assembler-times "\trsqrt.s\t" 2 } } */ |
| |
| extern double sqrt(double); |
| extern float sqrtf(float); |
| |
| NOMIPS16 double f1 (double x) |
| { |
| return 1.0 / sqrt (x); |
| } |
| |
| NOMIPS16 double f2 (double x) |
| { |
| return sqrt (1.0 / x); |
| } |
| |
| NOMIPS16 float f3 (float x) |
| { |
| return 1.0f / sqrtf (x); |
| } |
| |
| NOMIPS16 float f4 (float x) |
| { |
| return sqrtf (1.0f / x); |
| } |