https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88152 --- Comment #2 from Matthias Kretz <kretz at kde dot org> --- I just realized, the movmsk(x<0) => movmsk(x) transformation also applies to float and double if -ffinite-math-only (i.e. no NaN, it's alright for inf) and -fno-signed-zeros are active.