[PATCH] D95454: [NFC] Show instcombine powi simplifications drop FMF.

Valeriy Dmitriev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jan 26 11:08:35 PST 2021


vdmitrie updated this revision to Diff 319357.

Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D95454/new/

https://reviews.llvm.org/D95454

Files:
  llvm/test/Transforms/InstCombine/intrinsics.ll


Index: llvm/test/Transforms/InstCombine/intrinsics.ll
===================================================================
--- llvm/test/Transforms/InstCombine/intrinsics.ll
+++ llvm/test/Transforms/InstCombine/intrinsics.ll
@@ -1,4 +1,4 @@
-; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
+; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --function powi
 ; RUN: opt -instcombine -S < %s | FileCheck %s
 
 declare double @llvm.powi.f64(double, i32) nounwind readonly
@@ -21,17 +21,19 @@
 declare double @llvm.nearbyint.f64(double %Val) nounwind readonly
 
 define void @powi(double %V, double *%P) {
-  %A = tail call double @llvm.powi.f64(double %V, i32 -1) nounwind
+; CHECK-LABEL: @powi(
+; CHECK-NEXT:    [[A:%.*]] = fdiv double 1.000000e+00, [[V:%.*]]
+; CHECK-NEXT:    store volatile double [[A]], double* [[P:%.*]], align 8
+; CHECK-NEXT:    [[D:%.*]] = fmul double [[V]], [[V]]
+; CHECK-NEXT:    store volatile double [[D]], double* [[P]], align 8
+; CHECK-NEXT:    ret void
+;
+  %A = tail call fast double @llvm.powi.f64(double %V, i32 -1) nounwind
   store volatile double %A, double* %P
 
-  %D = tail call double @llvm.powi.f64(double %V, i32 2) nounwind
+  %D = tail call nnan double @llvm.powi.f64(double %V, i32 2) nounwind
   store volatile double %D, double* %P
   ret void
-; CHECK-LABEL: @powi(
-; CHECK: %A = fdiv double 1.0{{.*}}, %V
-; CHECK: store volatile double %A,
-; CHECK: %D = fmul double %V, %V
-; CHECK: store volatile double %D
 }
 
 define i32 @cttz(i32 %a) {


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D95454.319357.patch
Type: text/x-patch
Size: 1555 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210126/558536e5/attachment.bin>


More information about the llvm-commits mailing list