https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116787
--- Comment #6 from Uroš Bizjak <ubizjak at gmail dot com> --- (In reply to Richard Biener from comment #0) > typedef float v4sf __attribute__((vector_size (sizeof (4 * sizeof > (float))))); > > v4sf > foo (v4sf x, v4sf y) > { > return x < y ? y : x; > } > > is no longer generating > > _Z3fooDv2_fS_: > .LFB0: > .cfi_startproc > maxps %xmm0, %xmm1 > movaps %xmm1, %xmm0 > ret > > with -O2, neither with -O2 -msse4.2 It does with -ffast-math.