this post was submitted on 22 Feb 2024
696 points (96.4% liked)
Programmer Humor
32472 readers
660 users here now
Post funny things about programming here! (Or just rant about your favourite programming language.)
Rules:
- Posts must be relevant to programming, programmers, or computer science.
- No NSFW content.
- Jokes must be in good taste. No hate speech, bigotry, etc.
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Godbolt to the rescue! So gcc 13.2 certainly does produce the same code, though a lot of other versions and compilers do it slightly differently. Surprisingly, clang doesn't optimise this and uses
idiv
for the modulo version.Awesome, thank you for that link. I should have guessed this was a thing but it hadn't even occurred to me.
And yeah, it is surprising that clang doesn't treat mod power of 2 as a special case. It looks like I can't type in code on mobile, does clang handle divide by power of 2 as a idiv or shift?