| /* { dg-do run } */ |
| /* { dg-options "-fno-inline -Os" } */ |
| |
| void abort(void); |
| |
| |
| float powif(float x, int n) |
| { |
| return __builtin_powif(x, n); |
| } |
| |
| double powi(double x, int n) |
| { |
| return __builtin_powi(x, n); |
| } |
| |
| long double powil(long double x, int n) |
| { |
| return __builtin_powil(x, n); |
| } |
| |
| |
| float powcif(float x) |
| { |
| return __builtin_powif(x, 5); |
| } |
| |
| double powci(double x) |
| { |
| return __builtin_powi(x, 5); |
| } |
| |
| long double powcil(long double x) |
| { |
| return __builtin_powil(x, 5); |
| } |
| |
| |
| float powicf(int n) |
| { |
| return __builtin_powif(2.0, n); |
| } |
| |
| double powic(int n) |
| { |
| return __builtin_powi(2.0, n); |
| } |
| |
| long double powicl(int n) |
| { |
| return __builtin_powil(2.0, n); |
| } |
| |
| |
| int main() |
| { |
| if (__builtin_powi(1.0, 5) != 1.0) |
| abort(); |
| if (__builtin_powif(1.0, 5) != 1.0) |
| abort(); |
| if (__builtin_powil(1.0, 5) != 1.0) |
| abort(); |
| if (powci(1.0) != 1.0) |
| abort(); |
| if (powcif(1.0) != 1.0) |
| abort(); |
| if (powcil(1.0) != 1.0) |
| abort(); |
| if (powi(1.0, -5) != 1.0) |
| abort(); |
| if (powif(1.0, -5) != 1.0) |
| abort(); |
| if (powil(1.0, -5) != 1.0) |
| abort(); |
| if (powic(1) != 2.0) |
| abort(); |
| if (powicf(1) != 2.0) |
| abort(); |
| if (powicl(1) != 2.0) |
| abort(); |
| return 0; |
| } |