forked from OSchip/llvm-project
[NFC] Show instcombine powi simplifications drop FMF
Differential Revision: https://reviews.llvm.org/D95454
This commit is contained in:
parent
74784a5aa4
commit
c8df2d1bde
|
@ -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) {
|
||||
|
|
Loading…
Reference in New Issue