https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103008
Uroš Bizjak <ubizjak at gmail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2021-10-31 Ever confirmed|0 |1 --- Comment #6 from Uroš Bizjak <ubizjak at gmail dot com> --- Please see PR29852. The only way to avoid the libcall in 2006 was to inline the x87 version also for SSE math. Nowadays a (generic) arithmetic sequence can be provided and x87 fmod builtins can be enabled for x87 math only with: diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md index e733a40fc90..ed818232ae7 100644 --- a/gcc/config/i386/i386.md +++ b/gcc/config/i386/i386.md @@ -17378,6 +17378,8 @@ (use (match_operand:MODEF 1 "general_operand")) (use (match_operand:MODEF 2 "general_operand"))] "TARGET_USE_FANCY_MATH_387 + && (!(SSE_FLOAT_MODE_P (<MODE>mode) && TARGET_SSE_MATH) + || TARGET_MIX_SSE_I387) && flag_finite_math_only" { rtx (*gen_truncxf) (rtx, rtx);