; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 5
; RUN: llc < %s -mtriple=nvptx64 | FileCheck %s
; RUN: %if ptxas %{ llc < %s -mtriple=nvptx64 | %ptxas-verify %}

define float @div_full(float %a, float %b) {
; CHECK-LABEL: div_full(
; CHECK:       {
; CHECK-NEXT:    .reg .b32 %r<9>;
; CHECK-EMPTY:
; CHECK-NEXT:  // %bb.0:
; CHECK-NEXT:    ld.param.b32 %r1, [div_full_param_0];
; CHECK-NEXT:    ld.param.b32 %r2, [div_full_param_1];
; CHECK-NEXT:    div.full.f32 %r3, %r1, %r2;
; CHECK-NEXT:    mov.b32 %r4, 0f40400000;
; CHECK-NEXT:    div.full.f32 %r5, %r3, %r4;
; CHECK-NEXT:    div.full.ftz.f32 %r6, %r5, %r2;
; CHECK-NEXT:    mov.b32 %r7, 0f40800000;
; CHECK-NEXT:    div.full.ftz.f32 %r8, %r6, %r7;
; CHECK-NEXT:    st.param.b32 [func_retval0], %r8;
; CHECK-NEXT:    ret;
  %1 = call float @llvm.nvvm.div.full(float %a, float %b)
  %2 = call float @llvm.nvvm.div.full(float %1, float 3.0)
  %3 = call float @llvm.nvvm.div.full.ftz(float %2, float %b)
  %4 = call float @llvm.nvvm.div.full.ftz(float %3, float 4.0)
  ret float %4
}

define float @div_fast_rr(float %a, float %b) {
; CHECK-LABEL: div_fast_rr(
; CHECK:       {
; CHECK-NEXT:    .reg .b32 %r<4>;
; CHECK-EMPTY:
; CHECK-NEXT:  // %bb.0:
; CHECK-NEXT:    ld.param.b32 %r1, [div_fast_rr_param_0];
; CHECK-NEXT:    ld.param.b32 %r2, [div_fast_rr_param_1];
; CHECK-NEXT:    div.approx.f32 %r3, %r1, %r2;
; CHECK-NEXT:    st.param.b32 [func_retval0], %r3;
; CHECK-NEXT:    ret;
  %t1 = fdiv afn float %a, %b
  ret float %t1
}

define float @div_fast_rr_ftz(float %a, float %b) #0 {
; CHECK-LABEL: div_fast_rr_ftz(
; CHECK:       {
; CHECK-NEXT:    .reg .b32 %r<4>;
; CHECK-EMPTY:
; CHECK-NEXT:  // %bb.0:
; CHECK-NEXT:    ld.param.b32 %r1, [div_fast_rr_ftz_param_0];
; CHECK-NEXT:    ld.param.b32 %r2, [div_fast_rr_ftz_param_1];
; CHECK-NEXT:    div.approx.ftz.f32 %r3, %r1, %r2;
; CHECK-NEXT:    st.param.b32 [func_retval0], %r3;
; CHECK-NEXT:    ret;
  %t1 = fdiv afn float %a, %b
  ret float %t1
}

define float @div_fast_ri(float %a, float %b) {
; CHECK-LABEL: div_fast_ri(
; CHECK:       {
; CHECK-NEXT:    .reg .b32 %r<3>;
; CHECK-EMPTY:
; CHECK-NEXT:  // %bb.0:
; CHECK-NEXT:    ld.param.b32 %r1, [div_fast_ri_param_0];
; CHECK-NEXT:    mul.rn.f32 %r2, %r1, 0f3F000000;
; CHECK-NEXT:    st.param.b32 [func_retval0], %r2;
; CHECK-NEXT:    ret;
  %t1 = fdiv afn float %a, 2.0
  ret float %t1
}

define float @div_fast_ri_ftz(float %a, float %b) #0 {
; CHECK-LABEL: div_fast_ri_ftz(
; CHECK:       {
; CHECK-NEXT:    .reg .b32 %r<3>;
; CHECK-EMPTY:
; CHECK-NEXT:  // %bb.0:
; CHECK-NEXT:    ld.param.b32 %r1, [div_fast_ri_ftz_param_0];
; CHECK-NEXT:    mul.rn.ftz.f32 %r2, %r1, 0f3F000000;
; CHECK-NEXT:    st.param.b32 [func_retval0], %r2;
; CHECK-NEXT:    ret;
  %t1 = fdiv afn float %a, 2.0
  ret float %t1
}

define float @rcp_fast(float %a) {
; CHECK-LABEL: rcp_fast(
; CHECK:       {
; CHECK-NEXT:    .reg .b32 %r<3>;
; CHECK-EMPTY:
; CHECK-NEXT:  // %bb.0:
; CHECK-NEXT:    ld.param.b32 %r1, [rcp_fast_param_0];
; CHECK-NEXT:    rcp.approx.f32 %r2, %r1;
; CHECK-NEXT:    st.param.b32 [func_retval0], %r2;
; CHECK-NEXT:    ret;
  %t1 = fdiv afn float 1.0, %a
  ret float %t1
}

define float @rcp_fast_ftz(float %a) #0 {
; CHECK-LABEL: rcp_fast_ftz(
; CHECK:       {
; CHECK-NEXT:    .reg .b32 %r<3>;
; CHECK-EMPTY:
; CHECK-NEXT:  // %bb.0:
; CHECK-NEXT:    ld.param.b32 %r1, [rcp_fast_ftz_param_0];
; CHECK-NEXT:    rcp.approx.ftz.f32 %r2, %r1;
; CHECK-NEXT:    st.param.b32 [func_retval0], %r2;
; CHECK-NEXT:    ret;
  %t1 = fdiv afn float 1.0, %a
  ret float %t1
}

define float @div_fast_vec(float %a, float %b, float %c, float %d) {
; CHECK-LABEL: div_fast_vec(
; CHECK:       {
; CHECK-NEXT:    .reg .b32 %r<8>;
; CHECK-EMPTY:
; CHECK-NEXT:  // %bb.0:
; CHECK-NEXT:    ld.param.b32 %r1, [div_fast_vec_param_0];
; CHECK-NEXT:    ld.param.b32 %r2, [div_fast_vec_param_1];
; CHECK-NEXT:    ld.param.b32 %r3, [div_fast_vec_param_2];
; CHECK-NEXT:    ld.param.b32 %r4, [div_fast_vec_param_3];
; CHECK-NEXT:    div.approx.f32 %r5, %r2, %r4;
; CHECK-NEXT:    div.approx.f32 %r6, %r1, %r3;
; CHECK-NEXT:    add.rn.f32 %r7, %r6, %r5;
; CHECK-NEXT:    st.param.b32 [func_retval0], %r7;
; CHECK-NEXT:    ret;
  %ins_a0 = insertelement <2 x float> poison, float %a, i32 0
  %ins_a1 = insertelement <2 x float> %ins_a0, float %b, i32 1
  %ins_b0 = insertelement <2 x float> poison, float %c, i32 0
  %ins_b1 = insertelement <2 x float> %ins_b0, float %d, i32 1
  %fdiv = fdiv fast <2 x float> %ins_a1, %ins_b1
  %ext0 = extractelement <2 x float> %fdiv, i32 0
  %ext1 = extractelement <2 x float> %fdiv, i32 1
  %fadd = fadd float %ext0, %ext1
  ret float %fadd
}

define float @div_fast_vec_ftz(float %a, float %b, float %c, float %d) #0 {
; CHECK-LABEL: div_fast_vec_ftz(
; CHECK:       {
; CHECK-NEXT:    .reg .b32 %r<8>;
; CHECK-EMPTY:
; CHECK-NEXT:  // %bb.0:
; CHECK-NEXT:    ld.param.b32 %r1, [div_fast_vec_ftz_param_0];
; CHECK-NEXT:    ld.param.b32 %r2, [div_fast_vec_ftz_param_1];
; CHECK-NEXT:    ld.param.b32 %r3, [div_fast_vec_ftz_param_2];
; CHECK-NEXT:    ld.param.b32 %r4, [div_fast_vec_ftz_param_3];
; CHECK-NEXT:    div.approx.ftz.f32 %r5, %r2, %r4;
; CHECK-NEXT:    div.approx.ftz.f32 %r6, %r1, %r3;
; CHECK-NEXT:    add.rn.ftz.f32 %r7, %r6, %r5;
; CHECK-NEXT:    st.param.b32 [func_retval0], %r7;
; CHECK-NEXT:    ret;
  %ins_a0 = insertelement <2 x float> poison, float %a, i32 0
  %ins_a1 = insertelement <2 x float> %ins_a0, float %b, i32 1
  %ins_b0 = insertelement <2 x float> poison, float %c, i32 0
  %ins_b1 = insertelement <2 x float> %ins_b0, float %d, i32 1
  %fdiv = fdiv fast <2 x float> %ins_a1, %ins_b1
  %ext0 = extractelement <2 x float> %fdiv, i32 0
  %ext1 = extractelement <2 x float> %fdiv, i32 1
  %fadd = fadd float %ext0, %ext1
  ret float %fadd
}

attributes #0 = { denormal_fpenv(float: preservesign) }
