Page MenuHomeFreeBSD

param: Refactor rounddown
AbandonedPublic

Authored by aokblast on Feb 27 2026, 7:17 AM.
Tags
None
Referenced Files
Unknown Object (File)
Wed, Mar 18, 6:36 AM
Unknown Object (File)
Tue, Mar 17, 8:47 PM
Unknown Object (File)
Tue, Mar 17, 7:23 AM
Unknown Object (File)
Sun, Mar 15, 6:12 AM
Unknown Object (File)
Fri, Mar 13, 7:50 AM
Unknown Object (File)
Mon, Mar 2, 10:38 AM
Unknown Object (File)
Sun, Mar 1, 11:53 AM
Unknown Object (File)
Sun, Mar 1, 11:50 AM
Subscribers

Details

Reviewers
imp
markj
jhb
Summary

Obviously, a minus + reminder is faster than divide and multiply in most of the platform.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 71063
Build 67946: arc lint + arc unit

Event Timeline

aokblast added reviewers: imp, markj, jhb.

Does it actually make a difference in generated code? I would expect a compiler to be able to do this transformation.

I did some experiment and you are right, the compiler optimize it above O1.
Also, my assumption is wrong since reminder in aarch64 actually convert into udiv + msub, which is not faster than what we previous have.
Thanks!