https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118955
--- Comment #2 from Wilco <wilco at gcc dot gnu.org> --- (In reply to Thomas Koenig from comment #1) > > Since vector > > functions can have much larger ULP errors, using them by default with -O2 > > seems excessive. > > "can have"? Is this indeed the case? I would consider this to be > a bug in the implementation of the vector functions, then. Yes vector math functions generally have a larger ULP error than the scalar versions (2-4 ULP rather than 0.5-1 ULP). So they will return different results as well as not dealing with infinities, NaNs and signed zeroes. It's hard to avoid, if say you wanted identical results then the vector version would lose most of its performance advantage. Hence for C/C++ they are only used with fast-math.