https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96793
--- Comment #16 from Paweł Bylica <chfast at gmail dot com> --- I have checked the glibc implementation of floorf(). Source here: https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/ieee754/flt-32/s_floorf.c;h=da6c6dfa8ae86129e74dffff2e4391fac3a3c2ec;hb=HEAD - It has variant for SSE 4.1 using ROUNDSS 9 - all good here. - Otherwise it either uses __builtin_floorf() (so bug here), - or generic implementation based on bit manipulations (so should be rounding direction independent).