[NFC] Show instcombine powi simplifications drop FMF
authorValery N Dmitriev <valery.n.dmitriev@intel.com>
Tue, 26 Jan 2021 18:59:27 +0000 (10:59 -0800)
committerValery N Dmitriev <valery.n.dmitriev@intel.com>
Tue, 26 Jan 2021 21:26:06 +0000 (13:26 -0800)
Differential Revision: https://reviews.llvm.org/D95454

llvm/test/Transforms/InstCombine/intrinsics.ll

index 157c14b..102aa54 100644 (file)
@@ -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.rint.f64(double %Val) nounwind readonly
 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) {