3 ms·
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?
by phoe-krk 4y 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?
- colatkinson 4y agoI 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 https://godbolt.org/z/onMannzM5