powi_f32

I'm trying to get clang/llvm soft float to generate a call to __powisf2 and __powidf2.

How would you do this in C?

these are mappings from RTLIB::POWI_F32, RTLIB::POWI_F64

I'm trying to get clang/llvm soft float to generate a call to __powisf2 and
__powidf2.

How would you do this in C?

How attached are you to the standard? Calling __builtin_powi seems to
do the trick regardless of circumstances in clang; but other than
that, from what I can tell, not even POSIX gives a good route.

C++ seems to define an "double pow(double, int)" overload in cmath,
but think the semantics are explicitly different (it converts to
double first so pow(x, 1 << 62) has to be dodgy).

Tim