GDC's std.math does not take advantage of GCC intrinsics

downs default_357-line at yahoo.de
Tue Nov 13 15:57:11 PST 2007


I'm seeing huge speed-ups in a benchmark between std.math's sqrt and

>
> import gcc.builtins;
> real sqrt(real r) { return __builtin_sqrtl(r); }.
>

I presume this is because GDC's std.math uses library functions, which become function
calls; whereas __builtin_sqrtl is compiled as a single assembler instruction.

Is there any specific reason why GDC's current std.math does not take advantage of GCC's
built-in functions?

If there isn't, I'd suggest std.math be changed to call these functions instead,
which could lead to significant speed gains in math-heavy programs.

See also: http://gcc.gnu.org/onlinedocs/gcc-4.1.2/gcc/Other-Builtins.html#Other-Builtins

Looking forward to opinions/explanations,
 --downs


More information about the D.gnu mailing list