[InstCombine] pow(C,x) -> exp2(log2(C)*x)
Summary:
Transform
pow(C,x)
To
exp2(log2(C)*x)
if C > 0, C != inf, C != NaN (and C is not power of 2, since we have some fold for such case already).
log(C) is folded by the compiler and exp2 is much faster to compute than pow.
Reviewers: spatel, efriedma, evandro
Reviewed By: evandro
Subscribers: lebedev.ri, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D64099
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@365637
91177308-0d34-0410-b5e6-
96231b3b80d8