https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90106
--- Comment #3 from Marc Glisse <glisse at gcc dot gnu.org> --- (In reply to Frederico Lamberti Pissarra from comment #2) > (In reply to Andrew Pinski from comment #1) > > It is <0 when sqrt is called and it is due setting errno. Not a bug. > > Hummmm... interesting. But why the inefficient code? What do you mean by inefficient? What would you suggest instead? We generate a fast sqrtss and only in the rare case where there is an error we call the libc sqrt function to let it report errors the way it wants. -fno-math-errno is the way to say we don't care about this kind of error reporting.