https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113578
--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> --- and since __builtin_printf is variadic function, floats are promoted to double causing the removal of the payload of NaN on RISCV at runtime ...