https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121652
--- Comment #13 from Aurelien Jarno <aurelien at aurel32 dot net> --- I am starting to wonder if it is really worth inlining so much code compared to a call to round(), and if it is not better to not try to handle NaN and fflags, requiring both !flag_trapping_math and flag_trapping_math. I even wonder if that wasn't the intent in the original code, just the condition was wrong and should have been: - && (TARGET_ZFA || flag_fp_int_builtin_inexact || !flag_trapping_math) + && (TARGET_ZFA || (flag_fp_int_builtin_inexact && !flag_trapping_math))