[llvm] [InstCombine] optimize powi(X,Y)/X with Ofast (PR #67236)
via llvm-commits
llvm-commits at lists.llvm.org
Sat Sep 23 06:02:52 PDT 2023
================
@@ -258,3 +258,13 @@ define double @different_types_powi(double %x, i32 %y, i64 %z) {
%mul = fmul reassoc double %p2, %p1
ret double %mul
}
+
+define nofpclass(nan inf) double @fdiv_powi(double %x) {
+; CHECK-LABEL: @fdiv_powi(
+; CHECK-NEXT: [[DIV:%.*]] = fmul fast double [[X:%.*]], [[X]]
+; CHECK-NEXT: ret double [[DIV]]
+;
+ %p1 = call fast double @llvm.powi.f64.i32(double %x, i32 3)
+ %div = fdiv fast double %p1, %x
+ ret double %div
+}
----------------
goldsteinn wrote:
Please pre commit tests.
https://github.com/llvm/llvm-project/pull/67236
More information about the llvm-commits
mailing list