; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
; RUN: llc < %s -mtriple=aarch64-unknown-linux-gnu -mattr=+neon,-use-reciprocal-square-root | FileCheck %s --check-prefix=FAULT
; RUN: llc < %s -mtriple=aarch64-unknown-linux-gnu -mattr=+neon,+use-reciprocal-square-root | FileCheck %s

declare float @llvm.sqrt.f32(float) #0
declare <2 x float> @llvm.sqrt.v2f32(<2 x float>) #0
declare <4 x float> @llvm.sqrt.v4f32(<4 x float>) #0
declare <8 x float> @llvm.sqrt.v8f32(<8 x float>) #0
declare double @llvm.sqrt.f64(double) #0
declare <2 x double> @llvm.sqrt.v2f64(<2 x double>) #0
declare <4 x double> @llvm.sqrt.v4f64(<4 x double>) #0

define float @fsqrt(float %a) #0 {
; FAULT-LABEL: fsqrt:
; FAULT:       // %bb.0:
; FAULT-NEXT:    fsqrt s0, s0
; FAULT-NEXT:    ret
;
; CHECK-LABEL: fsqrt:
; CHECK:       // %bb.0:
; CHECK-NEXT:    frsqrte s1, s0
; CHECK-NEXT:    fcmp s0, #0.0
; CHECK-NEXT:    fmul s2, s1, s1
; CHECK-NEXT:    frsqrts s2, s0, s2
; CHECK-NEXT:    fmul s1, s1, s2
; CHECK-NEXT:    fmul s2, s1, s1
; CHECK-NEXT:    fmul s1, s1, s0
; CHECK-NEXT:    frsqrts s2, s0, s2
; CHECK-NEXT:    fmul s1, s2, s1
; CHECK-NEXT:    fcsel s0, s0, s1, eq
; CHECK-NEXT:    ret
  %1 = tail call fast float @llvm.sqrt.f32(float %a)
  ret float %1
}

define float @fsqrt_ieee_denorms(float %a) #1 {
; FAULT-LABEL: fsqrt_ieee_denorms:
; FAULT:       // %bb.0:
; FAULT-NEXT:    fsqrt s0, s0
; FAULT-NEXT:    ret
;
; CHECK-LABEL: fsqrt_ieee_denorms:
; CHECK:       // %bb.0:
; CHECK-NEXT:    frsqrte s1, s0
; CHECK-NEXT:    fcmp s0, #0.0
; CHECK-NEXT:    fmul s2, s1, s1
; CHECK-NEXT:    frsqrts s2, s0, s2
; CHECK-NEXT:    fmul s1, s1, s2
; CHECK-NEXT:    fmul s2, s1, s1
; CHECK-NEXT:    fmul s1, s1, s0
; CHECK-NEXT:    frsqrts s2, s0, s2
; CHECK-NEXT:    fmul s1, s2, s1
; CHECK-NEXT:    fcsel s0, s0, s1, eq
; CHECK-NEXT:    ret
  %1 = tail call fast float @llvm.sqrt.f32(float %a)
  ret float %1
}

define <2 x float> @f2sqrt(<2 x float> %a) #0 {
; FAULT-LABEL: f2sqrt:
; FAULT:       // %bb.0:
; FAULT-NEXT:    fsqrt v0.2s, v0.2s
; FAULT-NEXT:    ret
;
; CHECK-LABEL: f2sqrt:
; CHECK:       // %bb.0:
; CHECK-NEXT:    frsqrte v1.2s, v0.2s
; CHECK-NEXT:    fmul v2.2s, v1.2s, v1.2s
; CHECK-NEXT:    frsqrts v2.2s, v0.2s, v2.2s
; CHECK-NEXT:    fmul v1.2s, v1.2s, v2.2s
; CHECK-NEXT:    fmul v2.2s, v1.2s, v1.2s
; CHECK-NEXT:    fmul v1.2s, v1.2s, v0.2s
; CHECK-NEXT:    frsqrts v2.2s, v0.2s, v2.2s
; CHECK-NEXT:    fmul v1.2s, v2.2s, v1.2s
; CHECK-NEXT:    fcmeq v2.2s, v0.2s, #0.0
; CHECK-NEXT:    bif v0.8b, v1.8b, v2.8b
; CHECK-NEXT:    ret
  %1 = tail call fast <2 x float> @llvm.sqrt.v2f32(<2 x float> %a)
  ret <2 x float> %1
}

define <4 x float> @f4sqrt(<4 x float> %a) #0 {
; FAULT-LABEL: f4sqrt:
; FAULT:       // %bb.0:
; FAULT-NEXT:    fsqrt v0.4s, v0.4s
; FAULT-NEXT:    ret
;
; CHECK-LABEL: f4sqrt:
; CHECK:       // %bb.0:
; CHECK-NEXT:    frsqrte v1.4s, v0.4s
; CHECK-NEXT:    fmul v2.4s, v1.4s, v1.4s
; CHECK-NEXT:    frsqrts v2.4s, v0.4s, v2.4s
; CHECK-NEXT:    fmul v1.4s, v1.4s, v2.4s
; CHECK-NEXT:    fmul v2.4s, v1.4s, v1.4s
; CHECK-NEXT:    fmul v1.4s, v1.4s, v0.4s
; CHECK-NEXT:    frsqrts v2.4s, v0.4s, v2.4s
; CHECK-NEXT:    fmul v1.4s, v2.4s, v1.4s
; CHECK-NEXT:    fcmeq v2.4s, v0.4s, #0.0
; CHECK-NEXT:    bif v0.16b, v1.16b, v2.16b
; CHECK-NEXT:    ret
  %1 = tail call fast <4 x float> @llvm.sqrt.v4f32(<4 x float> %a)
  ret <4 x float> %1
}

define <8 x float> @f8sqrt(<8 x float> %a) #0 {
; FAULT-LABEL: f8sqrt:
; FAULT:       // %bb.0:
; FAULT-NEXT:    fsqrt v0.4s, v0.4s
; FAULT-NEXT:    fsqrt v1.4s, v1.4s
; FAULT-NEXT:    ret
;
; CHECK-LABEL: f8sqrt:
; CHECK:       // %bb.0:
; CHECK-NEXT:    frsqrte v2.4s, v0.4s
; CHECK-NEXT:    frsqrte v3.4s, v1.4s
; CHECK-NEXT:    fmul v4.4s, v2.4s, v2.4s
; CHECK-NEXT:    frsqrts v4.4s, v0.4s, v4.4s
; CHECK-NEXT:    fmul v5.4s, v3.4s, v3.4s
; CHECK-NEXT:    frsqrts v5.4s, v1.4s, v5.4s
; CHECK-NEXT:    fmul v2.4s, v2.4s, v4.4s
; CHECK-NEXT:    fmul v4.4s, v2.4s, v2.4s
; CHECK-NEXT:    fmul v2.4s, v2.4s, v0.4s
; CHECK-NEXT:    frsqrts v4.4s, v0.4s, v4.4s
; CHECK-NEXT:    fmul v3.4s, v3.4s, v5.4s
; CHECK-NEXT:    fmul v5.4s, v3.4s, v3.4s
; CHECK-NEXT:    fmul v3.4s, v3.4s, v1.4s
; CHECK-NEXT:    frsqrts v5.4s, v1.4s, v5.4s
; CHECK-NEXT:    fmul v2.4s, v4.4s, v2.4s
; CHECK-NEXT:    fcmeq v4.4s, v0.4s, #0.0
; CHECK-NEXT:    bif v0.16b, v2.16b, v4.16b
; CHECK-NEXT:    fmul v3.4s, v5.4s, v3.4s
; CHECK-NEXT:    fcmeq v5.4s, v1.4s, #0.0
; CHECK-NEXT:    bif v1.16b, v3.16b, v5.16b
; CHECK-NEXT:    ret
  %1 = tail call fast <8 x float> @llvm.sqrt.v8f32(<8 x float> %a)
  ret <8 x float> %1
}

define double @dsqrt(double %a) #0 {
; FAULT-LABEL: dsqrt:
; FAULT:       // %bb.0:
; FAULT-NEXT:    fsqrt d0, d0
; FAULT-NEXT:    ret
;
; CHECK-LABEL: dsqrt:
; CHECK:       // %bb.0:
; CHECK-NEXT:    frsqrte d1, d0
; CHECK-NEXT:    fcmp d0, #0.0
; CHECK-NEXT:    fmul d2, d1, d1
; CHECK-NEXT:    frsqrts d2, d0, d2
; CHECK-NEXT:    fmul d1, d1, d2
; CHECK-NEXT:    fmul d2, d1, d1
; CHECK-NEXT:    frsqrts d2, d0, d2
; CHECK-NEXT:    fmul d1, d1, d2
; CHECK-NEXT:    fmul d2, d1, d1
; CHECK-NEXT:    fmul d1, d1, d0
; CHECK-NEXT:    frsqrts d2, d0, d2
; CHECK-NEXT:    fmul d1, d2, d1
; CHECK-NEXT:    fcsel d0, d0, d1, eq
; CHECK-NEXT:    ret
  %1 = tail call fast double @llvm.sqrt.f64(double %a)
  ret double %1
}

define double @dsqrt_ieee_denorms(double %a) #1 {
; FAULT-LABEL: dsqrt_ieee_denorms:
; FAULT:       // %bb.0:
; FAULT-NEXT:    fsqrt d0, d0
; FAULT-NEXT:    ret
;
; CHECK-LABEL: dsqrt_ieee_denorms:
; CHECK:       // %bb.0:
; CHECK-NEXT:    frsqrte d1, d0
; CHECK-NEXT:    fcmp d0, #0.0
; CHECK-NEXT:    fmul d2, d1, d1
; CHECK-NEXT:    frsqrts d2, d0, d2
; CHECK-NEXT:    fmul d1, d1, d2
; CHECK-NEXT:    fmul d2, d1, d1
; CHECK-NEXT:    frsqrts d2, d0, d2
; CHECK-NEXT:    fmul d1, d1, d2
; CHECK-NEXT:    fmul d2, d1, d1
; CHECK-NEXT:    fmul d1, d1, d0
; CHECK-NEXT:    frsqrts d2, d0, d2
; CHECK-NEXT:    fmul d1, d2, d1
; CHECK-NEXT:    fcsel d0, d0, d1, eq
; CHECK-NEXT:    ret
  %1 = tail call fast double @llvm.sqrt.f64(double %a)
  ret double %1
}

define <2 x double> @d2sqrt(<2 x double> %a) #0 {
; FAULT-LABEL: d2sqrt:
; FAULT:       // %bb.0:
; FAULT-NEXT:    fsqrt v0.2d, v0.2d
; FAULT-NEXT:    ret
;
; CHECK-LABEL: d2sqrt:
; CHECK:       // %bb.0:
; CHECK-NEXT:    frsqrte v1.2d, v0.2d
; CHECK-NEXT:    fmul v2.2d, v1.2d, v1.2d
; CHECK-NEXT:    frsqrts v2.2d, v0.2d, v2.2d
; CHECK-NEXT:    fmul v1.2d, v1.2d, v2.2d
; CHECK-NEXT:    fmul v2.2d, v1.2d, v1.2d
; CHECK-NEXT:    frsqrts v2.2d, v0.2d, v2.2d
; CHECK-NEXT:    fmul v1.2d, v1.2d, v2.2d
; CHECK-NEXT:    fmul v2.2d, v1.2d, v1.2d
; CHECK-NEXT:    fmul v1.2d, v1.2d, v0.2d
; CHECK-NEXT:    frsqrts v2.2d, v0.2d, v2.2d
; CHECK-NEXT:    fmul v1.2d, v2.2d, v1.2d
; CHECK-NEXT:    fcmeq v2.2d, v0.2d, #0.0
; CHECK-NEXT:    bif v0.16b, v1.16b, v2.16b
; CHECK-NEXT:    ret
  %1 = tail call fast <2 x double> @llvm.sqrt.v2f64(<2 x double> %a)
  ret <2 x double> %1
}

define <4 x double> @d4sqrt(<4 x double> %a) #0 {
; FAULT-LABEL: d4sqrt:
; FAULT:       // %bb.0:
; FAULT-NEXT:    fsqrt v0.2d, v0.2d
; FAULT-NEXT:    fsqrt v1.2d, v1.2d
; FAULT-NEXT:    ret
;
; CHECK-LABEL: d4sqrt:
; CHECK:       // %bb.0:
; CHECK-NEXT:    frsqrte v2.2d, v0.2d
; CHECK-NEXT:    frsqrte v3.2d, v1.2d
; CHECK-NEXT:    fmul v4.2d, v2.2d, v2.2d
; CHECK-NEXT:    frsqrts v4.2d, v0.2d, v4.2d
; CHECK-NEXT:    fmul v5.2d, v3.2d, v3.2d
; CHECK-NEXT:    frsqrts v5.2d, v1.2d, v5.2d
; CHECK-NEXT:    fmul v2.2d, v2.2d, v4.2d
; CHECK-NEXT:    fmul v4.2d, v2.2d, v2.2d
; CHECK-NEXT:    frsqrts v4.2d, v0.2d, v4.2d
; CHECK-NEXT:    fmul v3.2d, v3.2d, v5.2d
; CHECK-NEXT:    fmul v5.2d, v3.2d, v3.2d
; CHECK-NEXT:    frsqrts v5.2d, v1.2d, v5.2d
; CHECK-NEXT:    fmul v2.2d, v2.2d, v4.2d
; CHECK-NEXT:    fmul v4.2d, v2.2d, v2.2d
; CHECK-NEXT:    fmul v2.2d, v2.2d, v0.2d
; CHECK-NEXT:    frsqrts v4.2d, v0.2d, v4.2d
; CHECK-NEXT:    fmul v3.2d, v3.2d, v5.2d
; CHECK-NEXT:    fmul v5.2d, v3.2d, v3.2d
; CHECK-NEXT:    fmul v3.2d, v3.2d, v1.2d
; CHECK-NEXT:    frsqrts v5.2d, v1.2d, v5.2d
; CHECK-NEXT:    fmul v2.2d, v4.2d, v2.2d
; CHECK-NEXT:    fcmeq v4.2d, v0.2d, #0.0
; CHECK-NEXT:    bif v0.16b, v2.16b, v4.16b
; CHECK-NEXT:    fmul v3.2d, v5.2d, v3.2d
; CHECK-NEXT:    fcmeq v5.2d, v1.2d, #0.0
; CHECK-NEXT:    bif v1.16b, v3.16b, v5.16b
; CHECK-NEXT:    ret
  %1 = tail call fast <4 x double> @llvm.sqrt.v4f64(<4 x double> %a)
  ret <4 x double> %1
}

define float @frsqrt(float %a) #0 {
; FAULT-LABEL: frsqrt:
; FAULT:       // %bb.0:
; FAULT-NEXT:    fsqrt s0, s0
; FAULT-NEXT:    fmov s1, #1.00000000
; FAULT-NEXT:    fdiv s0, s1, s0
; FAULT-NEXT:    ret
;
; CHECK-LABEL: frsqrt:
; CHECK:       // %bb.0:
; CHECK-NEXT:    frsqrte s1, s0
; CHECK-NEXT:    fmul s2, s1, s1
; CHECK-NEXT:    frsqrts s2, s0, s2
; CHECK-NEXT:    fmul s1, s1, s2
; CHECK-NEXT:    fmul s2, s1, s1
; CHECK-NEXT:    frsqrts s0, s0, s2
; CHECK-NEXT:    fmul s0, s1, s0
; CHECK-NEXT:    ret
  %1 = tail call fast float @llvm.sqrt.f32(float %a)
  %2 = fdiv fast float 1.000000e+00, %1
  ret float %2
}

define <2 x float> @f2rsqrt(<2 x float> %a) #0 {
; FAULT-LABEL: f2rsqrt:
; FAULT:       // %bb.0:
; FAULT-NEXT:    fsqrt v0.2s, v0.2s
; FAULT-NEXT:    fmov v1.2s, #1.00000000
; FAULT-NEXT:    fdiv v0.2s, v1.2s, v0.2s
; FAULT-NEXT:    ret
;
; CHECK-LABEL: f2rsqrt:
; CHECK:       // %bb.0:
; CHECK-NEXT:    frsqrte v1.2s, v0.2s
; CHECK-NEXT:    fmul v2.2s, v1.2s, v1.2s
; CHECK-NEXT:    frsqrts v2.2s, v0.2s, v2.2s
; CHECK-NEXT:    fmul v1.2s, v1.2s, v2.2s
; CHECK-NEXT:    fmul v2.2s, v1.2s, v1.2s
; CHECK-NEXT:    frsqrts v0.2s, v0.2s, v2.2s
; CHECK-NEXT:    fmul v0.2s, v1.2s, v0.2s
; CHECK-NEXT:    ret
  %1 = tail call fast <2 x float> @llvm.sqrt.v2f32(<2 x float> %a)
  %2 = fdiv fast <2 x float> <float 1.000000e+00, float 1.000000e+00>, %1
  ret <2 x float> %2
}

define <4 x float> @f4rsqrt(<4 x float> %a) #0 {
; FAULT-LABEL: f4rsqrt:
; FAULT:       // %bb.0:
; FAULT-NEXT:    fsqrt v0.4s, v0.4s
; FAULT-NEXT:    fmov v1.4s, #1.00000000
; FAULT-NEXT:    fdiv v0.4s, v1.4s, v0.4s
; FAULT-NEXT:    ret
;
; CHECK-LABEL: f4rsqrt:
; CHECK:       // %bb.0:
; CHECK-NEXT:    frsqrte v1.4s, v0.4s
; CHECK-NEXT:    fmul v2.4s, v1.4s, v1.4s
; CHECK-NEXT:    frsqrts v2.4s, v0.4s, v2.4s
; CHECK-NEXT:    fmul v1.4s, v1.4s, v2.4s
; CHECK-NEXT:    fmul v2.4s, v1.4s, v1.4s
; CHECK-NEXT:    frsqrts v0.4s, v0.4s, v2.4s
; CHECK-NEXT:    fmul v0.4s, v1.4s, v0.4s
; CHECK-NEXT:    ret
  %1 = tail call fast <4 x float> @llvm.sqrt.v4f32(<4 x float> %a)
  %2 = fdiv fast <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, %1
  ret <4 x float> %2
}

define <8 x float> @f8rsqrt(<8 x float> %a) #0 {
; FAULT-LABEL: f8rsqrt:
; FAULT:       // %bb.0:
; FAULT-NEXT:    fsqrt v0.4s, v0.4s
; FAULT-NEXT:    fmov v2.4s, #1.00000000
; FAULT-NEXT:    fsqrt v1.4s, v1.4s
; FAULT-NEXT:    fdiv v0.4s, v2.4s, v0.4s
; FAULT-NEXT:    fdiv v1.4s, v2.4s, v1.4s
; FAULT-NEXT:    ret
;
; CHECK-LABEL: f8rsqrt:
; CHECK:       // %bb.0:
; CHECK-NEXT:    frsqrte v2.4s, v0.4s
; CHECK-NEXT:    frsqrte v3.4s, v1.4s
; CHECK-NEXT:    fmul v4.4s, v2.4s, v2.4s
; CHECK-NEXT:    frsqrts v4.4s, v0.4s, v4.4s
; CHECK-NEXT:    fmul v5.4s, v3.4s, v3.4s
; CHECK-NEXT:    frsqrts v5.4s, v1.4s, v5.4s
; CHECK-NEXT:    fmul v2.4s, v2.4s, v4.4s
; CHECK-NEXT:    fmul v4.4s, v2.4s, v2.4s
; CHECK-NEXT:    frsqrts v0.4s, v0.4s, v4.4s
; CHECK-NEXT:    fmul v3.4s, v3.4s, v5.4s
; CHECK-NEXT:    fmul v4.4s, v3.4s, v3.4s
; CHECK-NEXT:    frsqrts v1.4s, v1.4s, v4.4s
; CHECK-NEXT:    fmul v0.4s, v2.4s, v0.4s
; CHECK-NEXT:    fmul v1.4s, v3.4s, v1.4s
; CHECK-NEXT:    ret
  %1 = tail call fast <8 x float> @llvm.sqrt.v8f32(<8 x float> %a)
  %2 = fdiv fast <8 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, %1
  ret <8 x float> %2
}

define double @drsqrt(double %a) #0 {
; FAULT-LABEL: drsqrt:
; FAULT:       // %bb.0:
; FAULT-NEXT:    fsqrt d0, d0
; FAULT-NEXT:    fmov d1, #1.00000000
; FAULT-NEXT:    fdiv d0, d1, d0
; FAULT-NEXT:    ret
;
; CHECK-LABEL: drsqrt:
; CHECK:       // %bb.0:
; CHECK-NEXT:    frsqrte d1, d0
; CHECK-NEXT:    fmul d2, d1, d1
; CHECK-NEXT:    frsqrts d2, d0, d2
; CHECK-NEXT:    fmul d1, d1, d2
; CHECK-NEXT:    fmul d2, d1, d1
; CHECK-NEXT:    frsqrts d2, d0, d2
; CHECK-NEXT:    fmul d1, d1, d2
; CHECK-NEXT:    fmul d2, d1, d1
; CHECK-NEXT:    frsqrts d0, d0, d2
; CHECK-NEXT:    fmul d0, d1, d0
; CHECK-NEXT:    ret
  %1 = tail call fast double @llvm.sqrt.f64(double %a)
  %2 = fdiv fast double 1.000000e+00, %1
  ret double %2
}

define <2 x double> @d2rsqrt(<2 x double> %a) #0 {
; FAULT-LABEL: d2rsqrt:
; FAULT:       // %bb.0:
; FAULT-NEXT:    fsqrt v0.2d, v0.2d
; FAULT-NEXT:    fmov v1.2d, #1.00000000
; FAULT-NEXT:    fdiv v0.2d, v1.2d, v0.2d
; FAULT-NEXT:    ret
;
; CHECK-LABEL: d2rsqrt:
; CHECK:       // %bb.0:
; CHECK-NEXT:    frsqrte v1.2d, v0.2d
; CHECK-NEXT:    fmul v2.2d, v1.2d, v1.2d
; CHECK-NEXT:    frsqrts v2.2d, v0.2d, v2.2d
; CHECK-NEXT:    fmul v1.2d, v1.2d, v2.2d
; CHECK-NEXT:    fmul v2.2d, v1.2d, v1.2d
; CHECK-NEXT:    frsqrts v2.2d, v0.2d, v2.2d
; CHECK-NEXT:    fmul v1.2d, v1.2d, v2.2d
; CHECK-NEXT:    fmul v2.2d, v1.2d, v1.2d
; CHECK-NEXT:    frsqrts v0.2d, v0.2d, v2.2d
; CHECK-NEXT:    fmul v0.2d, v1.2d, v0.2d
; CHECK-NEXT:    ret
  %1 = tail call fast <2 x double> @llvm.sqrt.v2f64(<2 x double> %a)
  %2 = fdiv fast <2 x double> <double 1.000000e+00, double 1.000000e+00>, %1
  ret <2 x double> %2
}

define <4 x double> @d4rsqrt(<4 x double> %a) #0 {
; FAULT-LABEL: d4rsqrt:
; FAULT:       // %bb.0:
; FAULT-NEXT:    fsqrt v0.2d, v0.2d
; FAULT-NEXT:    fmov v2.2d, #1.00000000
; FAULT-NEXT:    fsqrt v1.2d, v1.2d
; FAULT-NEXT:    fdiv v0.2d, v2.2d, v0.2d
; FAULT-NEXT:    fdiv v1.2d, v2.2d, v1.2d
; FAULT-NEXT:    ret
;
; CHECK-LABEL: d4rsqrt:
; CHECK:       // %bb.0:
; CHECK-NEXT:    frsqrte v2.2d, v0.2d
; CHECK-NEXT:    frsqrte v3.2d, v1.2d
; CHECK-NEXT:    fmul v4.2d, v2.2d, v2.2d
; CHECK-NEXT:    frsqrts v4.2d, v0.2d, v4.2d
; CHECK-NEXT:    fmul v5.2d, v3.2d, v3.2d
; CHECK-NEXT:    frsqrts v5.2d, v1.2d, v5.2d
; CHECK-NEXT:    fmul v2.2d, v2.2d, v4.2d
; CHECK-NEXT:    fmul v4.2d, v2.2d, v2.2d
; CHECK-NEXT:    frsqrts v4.2d, v0.2d, v4.2d
; CHECK-NEXT:    fmul v3.2d, v3.2d, v5.2d
; CHECK-NEXT:    fmul v5.2d, v3.2d, v3.2d
; CHECK-NEXT:    frsqrts v5.2d, v1.2d, v5.2d
; CHECK-NEXT:    fmul v2.2d, v2.2d, v4.2d
; CHECK-NEXT:    fmul v4.2d, v2.2d, v2.2d
; CHECK-NEXT:    frsqrts v0.2d, v0.2d, v4.2d
; CHECK-NEXT:    fmul v3.2d, v3.2d, v5.2d
; CHECK-NEXT:    fmul v4.2d, v3.2d, v3.2d
; CHECK-NEXT:    frsqrts v1.2d, v1.2d, v4.2d
; CHECK-NEXT:    fmul v0.2d, v2.2d, v0.2d
; CHECK-NEXT:    fmul v1.2d, v3.2d, v1.2d
; CHECK-NEXT:    ret
  %1 = tail call fast <4 x double> @llvm.sqrt.v4f64(<4 x double> %a)
  %2 = fdiv fast <4 x double> <double 1.000000e+00, double 1.000000e+00, double 1.000000e+00, double 1.000000e+00>, %1
  ret <4 x double> %2
}

define double @sqrt_fdiv_common_operand(double %x) nounwind {
; FAULT-LABEL: sqrt_fdiv_common_operand:
; FAULT:       // %bb.0:
; FAULT-NEXT:    fsqrt d0, d0
; FAULT-NEXT:    ret
;
; CHECK-LABEL: sqrt_fdiv_common_operand:
; CHECK:       // %bb.0:
; CHECK-NEXT:    frsqrte d1, d0
; CHECK-NEXT:    fmul d2, d1, d1
; CHECK-NEXT:    frsqrts d2, d0, d2
; CHECK-NEXT:    fmul d1, d1, d2
; CHECK-NEXT:    fmul d2, d1, d1
; CHECK-NEXT:    frsqrts d2, d0, d2
; CHECK-NEXT:    fmul d1, d1, d2
; CHECK-NEXT:    fmul d2, d1, d1
; CHECK-NEXT:    frsqrts d2, d0, d2
; CHECK-NEXT:    fmul d1, d1, d2
; CHECK-NEXT:    fmul d0, d0, d1
; CHECK-NEXT:    ret
  %sqrt = call fast double @llvm.sqrt.f64(double %x)
  %r = fdiv fast double %x, %sqrt
  ret double %r
}

define <2 x double> @sqrt_fdiv_common_operand_vec(<2 x double> %x) nounwind {
; FAULT-LABEL: sqrt_fdiv_common_operand_vec:
; FAULT:       // %bb.0:
; FAULT-NEXT:    fsqrt v0.2d, v0.2d
; FAULT-NEXT:    ret
;
; CHECK-LABEL: sqrt_fdiv_common_operand_vec:
; CHECK:       // %bb.0:
; CHECK-NEXT:    frsqrte v1.2d, v0.2d
; CHECK-NEXT:    fmul v2.2d, v1.2d, v1.2d
; CHECK-NEXT:    frsqrts v2.2d, v0.2d, v2.2d
; CHECK-NEXT:    fmul v1.2d, v1.2d, v2.2d
; CHECK-NEXT:    fmul v2.2d, v1.2d, v1.2d
; CHECK-NEXT:    frsqrts v2.2d, v0.2d, v2.2d
; CHECK-NEXT:    fmul v1.2d, v1.2d, v2.2d
; CHECK-NEXT:    fmul v2.2d, v1.2d, v1.2d
; CHECK-NEXT:    frsqrts v2.2d, v0.2d, v2.2d
; CHECK-NEXT:    fmul v1.2d, v1.2d, v2.2d
; CHECK-NEXT:    fmul v0.2d, v0.2d, v1.2d
; CHECK-NEXT:    ret
  %sqrt = call <2 x double> @llvm.sqrt.v2f64(<2 x double> %x)
  %r = fdiv arcp nsz reassoc <2 x double> %x, %sqrt
  ret <2 x double> %r
}

define double @sqrt_fdiv_common_operand_extra_use(double %x, double* %p) nounwind {
; FAULT-LABEL: sqrt_fdiv_common_operand_extra_use:
; FAULT:       // %bb.0:
; FAULT-NEXT:    fsqrt d0, d0
; FAULT-NEXT:    str d0, [x0]
; FAULT-NEXT:    ret
;
; CHECK-LABEL: sqrt_fdiv_common_operand_extra_use:
; CHECK:       // %bb.0:
; CHECK-NEXT:    frsqrte d1, d0
; CHECK-NEXT:    fcmp d0, #0.0
; CHECK-NEXT:    fmul d2, d1, d1
; CHECK-NEXT:    frsqrts d2, d0, d2
; CHECK-NEXT:    fmul d1, d1, d2
; CHECK-NEXT:    fmul d2, d1, d1
; CHECK-NEXT:    frsqrts d2, d0, d2
; CHECK-NEXT:    fmul d1, d1, d2
; CHECK-NEXT:    fmul d2, d1, d1
; CHECK-NEXT:    frsqrts d2, d0, d2
; CHECK-NEXT:    fmul d1, d1, d2
; CHECK-NEXT:    fmul d1, d0, d1
; CHECK-NEXT:    fcsel d2, d0, d1, eq
; CHECK-NEXT:    fmov d0, d1
; CHECK-NEXT:    str d2, [x0]
; CHECK-NEXT:    ret
  %sqrt = call fast double @llvm.sqrt.f64(double %x)
  store double %sqrt, double* %p
  %r = fdiv fast double %x, %sqrt
  ret double %r
}

define double @sqrt_simplify_before_recip_3_uses(double %x, double* %p1, double* %p2) nounwind {
; FAULT-LABEL: sqrt_simplify_before_recip_3_uses:
; FAULT:       // %bb.0:
; FAULT-NEXT:    fsqrt d0, d0
; FAULT-NEXT:    mov x8, #4631107791820423168
; FAULT-NEXT:    fmov d1, #1.00000000
; FAULT-NEXT:    fmov d2, x8
; FAULT-NEXT:    fdiv d1, d1, d0
; FAULT-NEXT:    fdiv d2, d2, d0
; FAULT-NEXT:    str d1, [x0]
; FAULT-NEXT:    str d2, [x1]
; FAULT-NEXT:    ret
;
; CHECK-LABEL: sqrt_simplify_before_recip_3_uses:
; CHECK:       // %bb.0:
; CHECK-NEXT:    frsqrte d1, d0
; CHECK-NEXT:    mov x8, #4631107791820423168
; CHECK-NEXT:    fmov d2, x8
; CHECK-NEXT:    fmul d3, d1, d1
; CHECK-NEXT:    frsqrts d3, d0, d3
; CHECK-NEXT:    fmul d1, d1, d3
; CHECK-NEXT:    fmul d3, d1, d1
; CHECK-NEXT:    frsqrts d3, d0, d3
; CHECK-NEXT:    fmul d1, d1, d3
; CHECK-NEXT:    fmul d3, d1, d1
; CHECK-NEXT:    frsqrts d3, d0, d3
; CHECK-NEXT:    fmul d1, d1, d3
; CHECK-NEXT:    fmul d0, d0, d1
; CHECK-NEXT:    fmul d2, d1, d2
; CHECK-NEXT:    str d1, [x0]
; CHECK-NEXT:    str d2, [x1]
; CHECK-NEXT:    ret
  %sqrt = tail call fast double @llvm.sqrt.f64(double %x)
  %rsqrt = fdiv fast double 1.0, %sqrt
  %r = fdiv fast double 42.0, %sqrt
  %sqrt_fast = fdiv fast double %x, %sqrt
  store double %rsqrt, double* %p1, align 8
  store double %r, double* %p2, align 8
  ret double %sqrt_fast
}

define double @sqrt_simplify_before_recip_3_uses_order(double %x, double* %p1, double* %p2) nounwind {
; FAULT-LABEL: sqrt_simplify_before_recip_3_uses_order:
; FAULT:       // %bb.0:
; FAULT-NEXT:    fsqrt d0, d0
; FAULT-NEXT:    mov x8, #4631107791820423168
; FAULT-NEXT:    fmov d1, x8
; FAULT-NEXT:    mov x8, #140737488355328
; FAULT-NEXT:    movk x8, #16453, lsl #48
; FAULT-NEXT:    fmov d2, x8
; FAULT-NEXT:    fdiv d1, d1, d0
; FAULT-NEXT:    fdiv d2, d2, d0
; FAULT-NEXT:    str d1, [x0]
; FAULT-NEXT:    str d2, [x1]
; FAULT-NEXT:    ret
;
; CHECK-LABEL: sqrt_simplify_before_recip_3_uses_order:
; CHECK:       // %bb.0:
; CHECK-NEXT:    frsqrte d1, d0
; CHECK-NEXT:    mov x9, #140737488355328
; CHECK-NEXT:    mov x8, #4631107791820423168
; CHECK-NEXT:    movk x9, #16453, lsl #48
; CHECK-NEXT:    fmov d3, x9
; CHECK-NEXT:    fmul d2, d1, d1
; CHECK-NEXT:    frsqrts d2, d0, d2
; CHECK-NEXT:    fmul d1, d1, d2
; CHECK-NEXT:    fmul d2, d1, d1
; CHECK-NEXT:    frsqrts d2, d0, d2
; CHECK-NEXT:    fmul d1, d1, d2
; CHECK-NEXT:    fmul d2, d1, d1
; CHECK-NEXT:    frsqrts d2, d0, d2
; CHECK-NEXT:    fmul d1, d1, d2
; CHECK-NEXT:    fmov d2, x8
; CHECK-NEXT:    fmul d0, d0, d1
; CHECK-NEXT:    fmul d2, d1, d2
; CHECK-NEXT:    fmul d1, d1, d3
; CHECK-NEXT:    str d2, [x0]
; CHECK-NEXT:    str d1, [x1]
; CHECK-NEXT:    ret
  %sqrt = tail call fast double @llvm.sqrt.f64(double %x)
  %sqrt_fast = fdiv fast double %x, %sqrt
  %r1 = fdiv fast double 42.0, %sqrt
  %r2 = fdiv fast double 43.0, %sqrt
  store double %r1, double* %p1, align 8
  store double %r2, double* %p2, align 8
  ret double %sqrt_fast
}


define double @sqrt_simplify_before_recip_4_uses(double %x, double* %p1, double* %p2, double* %p3) nounwind {
; FAULT-LABEL: sqrt_simplify_before_recip_4_uses:
; FAULT:       // %bb.0:
; FAULT-NEXT:    fsqrt d0, d0
; FAULT-NEXT:    fmov d1, #1.00000000
; FAULT-NEXT:    mov x9, #140737488355328
; FAULT-NEXT:    mov x8, #4631107791820423168
; FAULT-NEXT:    movk x9, #16453, lsl #48
; FAULT-NEXT:    fmov d2, x8
; FAULT-NEXT:    fmov d3, x9
; FAULT-NEXT:    fdiv d1, d1, d0
; FAULT-NEXT:    fmul d2, d1, d2
; FAULT-NEXT:    fmul d3, d1, d3
; FAULT-NEXT:    str d1, [x0]
; FAULT-NEXT:    str d2, [x1]
; FAULT-NEXT:    str d3, [x2]
; FAULT-NEXT:    ret
;
; CHECK-LABEL: sqrt_simplify_before_recip_4_uses:
; CHECK:       // %bb.0:
; CHECK-NEXT:    frsqrte d1, d0
; CHECK-NEXT:    fcmp d0, #0.0
; CHECK-NEXT:    mov x9, #140737488355328
; CHECK-NEXT:    mov x8, #4631107791820423168
; CHECK-NEXT:    movk x9, #16453, lsl #48
; CHECK-NEXT:    fmov d3, x9
; CHECK-NEXT:    fmul d2, d1, d1
; CHECK-NEXT:    frsqrts d2, d0, d2
; CHECK-NEXT:    fmul d1, d1, d2
; CHECK-NEXT:    fmul d2, d1, d1
; CHECK-NEXT:    frsqrts d2, d0, d2
; CHECK-NEXT:    fmul d1, d1, d2
; CHECK-NEXT:    fmul d2, d1, d1
; CHECK-NEXT:    frsqrts d2, d0, d2
; CHECK-NEXT:    fmul d1, d1, d2
; CHECK-NEXT:    fmul d2, d0, d1
; CHECK-NEXT:    fmul d3, d1, d3
; CHECK-NEXT:    str d1, [x0]
; CHECK-NEXT:    fcsel d2, d0, d2, eq
; CHECK-NEXT:    fdiv d0, d0, d2
; CHECK-NEXT:    fmov d2, x8
; CHECK-NEXT:    fmul d2, d1, d2
; CHECK-NEXT:    str d2, [x1]
; CHECK-NEXT:    str d3, [x2]
; CHECK-NEXT:    ret
  %sqrt = tail call fast double @llvm.sqrt.f64(double %x)
  %rsqrt = fdiv fast double 1.0, %sqrt
  %r1 = fdiv fast double 42.0, %sqrt
  %r2 = fdiv fast double 43.0, %sqrt
  %sqrt_fast = fdiv fast double %x, %sqrt
  store double %rsqrt, double* %p1, align 8
  store double %r1, double* %p2, align 8
  store double %r2, double* %p3, align 8
  ret double %sqrt_fast
}

attributes #0 = { "unsafe-fp-math"="true" }
attributes #1 = { "unsafe-fp-math"="true" "denormal-fp-math"="ieee" }
