Hacker News new | ask | show | jobs
by phoe-krk 1403 days ago
Strangely, clang 13+ seems to have regressed - it emits runtime code as well, whereas clang 12 has just "mov eax, 24".

Should this be reported anywhere?

1 comments

I wonder if it hit some max execution time heuristic or something like that.

As a quick test, I added a static_assert() that depends on the returned value, which seems to force complete evaluation to happen at compile time. With that, all 3 compilers generate the expected single-instruction implementation: https://godbolt.org/z/onMannzM5