; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
; RUN: llc -mtriple powerpc64le < %s | FileCheck %s

; Check constrained ops converted to call
define void @test(double* %cast) {
; CHECK-LABEL: test:
; CHECK:       # %bb.0: # %root
; CHECK-NEXT:    mflr 0
; CHECK-NEXT:    .cfi_def_cfa_offset 64
; CHECK-NEXT:    .cfi_offset lr, 16
; CHECK-NEXT:    .cfi_offset r29, -24
; CHECK-NEXT:    .cfi_offset r30, -16
; CHECK-NEXT:    std 29, -24(1) # 8-byte Folded Spill
; CHECK-NEXT:    std 30, -16(1) # 8-byte Folded Spill
; CHECK-NEXT:    std 0, 16(1)
; CHECK-NEXT:    stdu 1, -64(1)
; CHECK-NEXT:    li 30, 0
; CHECK-NEXT:    addi 29, 3, -8
; CHECK-NEXT:    .p2align 5
; CHECK-NEXT:  .LBB0_1: # %for.body
; CHECK-NEXT:    #
; CHECK-NEXT:    lfdu 1, 8(29)
; CHECK-NEXT:    bl cos
; CHECK-NEXT:    nop
; CHECK-NEXT:    addi 30, 30, 8
; CHECK-NEXT:    stfd 1, 0(29)
; CHECK-NEXT:    cmpldi 30, 2040
; CHECK-NEXT:    bne 0, .LBB0_1
; CHECK-NEXT:  # %bb.2: # %exit
; CHECK-NEXT:    addi 1, 1, 64
; CHECK-NEXT:    ld 0, 16(1)
; CHECK-NEXT:    ld 30, -16(1) # 8-byte Folded Reload
; CHECK-NEXT:    ld 29, -24(1) # 8-byte Folded Reload
; CHECK-NEXT:    mtlr 0
; CHECK-NEXT:    blr
root:
  br label %for.body

exit:
  ret void

for.body:
  %i = phi i64 [ 0, %root ], [ %next, %for.body ]
  %idx = getelementptr inbounds double, double* %cast, i64 %i
  %val = load double, double* %idx
  %cos = tail call nnan ninf nsz arcp double @llvm.experimental.constrained.cos.f64(double %val, metadata !"round.dynamic", metadata !"fpexcept.strict")
  store double %cos, double* %idx, align 8
  %next = add nuw nsw i64 %i, 1
  %cond = icmp eq i64 %next, 255
  br i1 %cond, label %exit, label %for.body
}

; Check constrained ops converted to native instruction
define void @test2(double* %cast) {
; CHECK-LABEL: test2:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    li 4, 255
; CHECK-NEXT:    addi 3, 3, -8
; CHECK-NEXT:    mtctr 4
; CHECK-NEXT:    .p2align 4
; CHECK-NEXT:  .LBB1_1: # %for.body
; CHECK-NEXT:    #
; CHECK-NEXT:    lfdu 0, 8(3)
; CHECK-NEXT:    xssqrtdp 0, 0
; CHECK-NEXT:    stfd 0, 0(3)
; CHECK-NEXT:    bdnz .LBB1_1
; CHECK-NEXT:  # %bb.2: # %exit
; CHECK-NEXT:    blr
entry:
  br label %for.body

for.body:
  %i = phi i64 [ 0, %entry ], [ %next, %for.body ]
  %idx = getelementptr inbounds double, double* %cast, i64 %i
  %val = load double, double* %idx
  %cos = tail call nnan ninf nsz arcp double @llvm.experimental.constrained.sqrt.f64(double %val, metadata !"round.dynamic", metadata !"fpexcept.strict")
  store double %cos, double* %idx, align 8
  %next = add nuw nsw i64 %i, 1
  %cond = icmp eq i64 %next, 255
  br i1 %cond, label %exit, label %for.body

exit:
  ret void
}

declare double @llvm.experimental.constrained.cos.f64(double, metadata, metadata)
declare double @llvm.experimental.constrained.sqrt.f64(double, metadata, metadata)
