https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116229
--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> --- /* For Advanced SIMD we can create an integer with only the top bit set using fneg (0.0f). */ is wrong in aarch64_maybe_generate_simd_constant. it should use either an unspec here or an XOR instead of fneg here I think especially for -ffast-math reasons.