[llvm] [InstCombine] Add log-pow simplification for FP exponent edge case. (PR #76641)

Yingwei Zheng via llvm-commits llvm-commits at lists.llvm.org
Sat Dec 30 15:55:26 PST 2023


================
@@ -12,6 +12,17 @@ define double @log_pow(double %x, double %y) {
   ret double %log
 }
 
+define double @log_pow_const(double %x) {
+; CHECK-LABEL: @log_pow_const(
+; CHECK-NEXT:    [[LOG1:%.*]] = call fast double @llvm.log.f64(double [[X:%.*]])
+; CHECK-NEXT:    [[MUL:%.*]] = fmul fast double [[LOG1]], -3.000000e+00
+; CHECK-NEXT:    ret double [[MUL]]
+;
+  %pow = call fast double @pow(double %x, double -3.000000e+00)
----------------
dtcxzyw wrote:

```suggestion
  %pow = call fast double @llvm.powi.f64.i32(double %x, i32 -3)
```


https://github.com/llvm/llvm-project/pull/76641


More information about the llvm-commits mailing list