Exponentiation with literals in both base and exponent not removed by compiler in 1.8

This comes from the @noinline annotation in the definition of pow_body: replace it with @inline and it works as you would expect.
The decision to mark this as @noinline seems motivated by a reduction in latency when compiling code with ^: see PR #42966 which is relevant I think and PR #43920 which introduced this annotation here. If you notice a significant reduction in performance in your code because of this you should probably open an issue to discuss this decision further.

3 Likes