No recent compiler don't optimize pow(x, k), not so sure about pow(x, 3) for example - I wouldn't be surprised if it depends on flags such as -ffast-math.
I have some benchmarks indicating roughly a 5 fold increase in performance (intel core i7 3770K) using:
https://github.com/bjodah/cinterpol/blob/master/cInterpol/power.c
instead of pow for power(x, k) 0 <= k <= 10
for both gcc and icc