Loading llvm/test/Transforms/InstCombine/intrinsics.ll +10 −8 Original line number Diff line number Diff line ; 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 Loading @@ -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) { Loading Loading
llvm/test/Transforms/InstCombine/intrinsics.ll +10 −8 Original line number Diff line number Diff line ; 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 Loading @@ -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) { Loading