https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103008
--- Comment #7 from Uroš Bizjak <ubizjak at gmail dot com> --- IMO, inlined fmod (and drem) should eventually be expanded in a generic way in the middle-end as: fmod (a, p) = a - trunc (a/p) * p drem (a, p) = a - roundeven (a/p) * p so division can be later simplified to multiplication with reciprocal, either constant or implemented with rcp instruction.