http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54408

--- Comment #2 from joseph at codesourcery dot com <joseph at codesourcery dot 
com> 2012-09-03 15:47:38 UTC ---
Built-in mathematical functions are generally type-generic where they 
correspond to type-generic math.h macros (e.g. isgreater, isnan), not 
otherwise.  (__builtin_signbit should be changed to type-generic: bug 
36757.)

I think __builtin_sqrt should be expected to correspond directly to the 
sqrt (double) library function rather than being type-generic - thus, I 
think vector versions of library functions (where those functions are not 
type-generic) should be separate from the normal built-in versions of 
those functions (e.g. define __builtin_vec_sqrt - which could itself be 
type-generic over different vector types).

Remember to define, both at the language level and at the ABI level, 
things such as how such a built-in function handles errors / exceptional 
values (and whether or not this depends at the language level on the 
various -f options that affect this for ordinary C language arithmetic and 
library calls).

Reply via email to