https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87105
Alexander Monakov <amonakov at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |amonakov at gcc dot gnu.org --- Comment #5 from Alexander Monakov <amonakov at gcc dot gnu.org> --- We don't manage to use MIN_EXPR and get branchy code that gets optimized for boundary cases (when min/max pick 0.0/1.0). For the minimal input double f(double x, double y) { return y < x ? y : x; } we get MIN_EXPR in .gimple dump with C frontend and -ffinite-math-only -fno-signed-zeros, but not with C++ frontend. (and even then, hacking the source to use __builtin_fmin to get straight-line code, SLP does not manage to vectorize that)