; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
; RUN: llc --mtriple=loongarch64 --mattr=+lsx < %s | FileCheck %s

declare <4 x float> @llvm.loongarch.lsx.vfrintrne.s(<4 x float>)

define <4 x float> @lsx_vfrintrne_s(<4 x float> %va) nounwind {
; CHECK-LABEL: lsx_vfrintrne_s:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    vfrintrne.s $vr0, $vr0
; CHECK-NEXT:    ret
entry:
  %res = call <4 x float> @llvm.loongarch.lsx.vfrintrne.s(<4 x float> %va)
  ret <4 x float> %res
}

declare <2 x double> @llvm.loongarch.lsx.vfrintrne.d(<2 x double>)

define <2 x double> @lsx_vfrintrne_d(<2 x double> %va) nounwind {
; CHECK-LABEL: lsx_vfrintrne_d:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    vfrintrne.d $vr0, $vr0
; CHECK-NEXT:    ret
entry:
  %res = call <2 x double> @llvm.loongarch.lsx.vfrintrne.d(<2 x double> %va)
  ret <2 x double> %res
}

declare <4 x float> @llvm.loongarch.lsx.vfrintrz.s(<4 x float>)

define <4 x float> @lsx_vfrintrz_s(<4 x float> %va) nounwind {
; CHECK-LABEL: lsx_vfrintrz_s:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    vfrintrz.s $vr0, $vr0
; CHECK-NEXT:    ret
entry:
  %res = call <4 x float> @llvm.loongarch.lsx.vfrintrz.s(<4 x float> %va)
  ret <4 x float> %res
}

declare <2 x double> @llvm.loongarch.lsx.vfrintrz.d(<2 x double>)

define <2 x double> @lsx_vfrintrz_d(<2 x double> %va) nounwind {
; CHECK-LABEL: lsx_vfrintrz_d:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    vfrintrz.d $vr0, $vr0
; CHECK-NEXT:    ret
entry:
  %res = call <2 x double> @llvm.loongarch.lsx.vfrintrz.d(<2 x double> %va)
  ret <2 x double> %res
}

declare <4 x float> @llvm.loongarch.lsx.vfrintrp.s(<4 x float>)

define <4 x float> @lsx_vfrintrp_s(<4 x float> %va) nounwind {
; CHECK-LABEL: lsx_vfrintrp_s:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    vfrintrp.s $vr0, $vr0
; CHECK-NEXT:    ret
entry:
  %res = call <4 x float> @llvm.loongarch.lsx.vfrintrp.s(<4 x float> %va)
  ret <4 x float> %res
}

declare <2 x double> @llvm.loongarch.lsx.vfrintrp.d(<2 x double>)

define <2 x double> @lsx_vfrintrp_d(<2 x double> %va) nounwind {
; CHECK-LABEL: lsx_vfrintrp_d:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    vfrintrp.d $vr0, $vr0
; CHECK-NEXT:    ret
entry:
  %res = call <2 x double> @llvm.loongarch.lsx.vfrintrp.d(<2 x double> %va)
  ret <2 x double> %res
}

declare <4 x float> @llvm.loongarch.lsx.vfrintrm.s(<4 x float>)

define <4 x float> @lsx_vfrintrm_s(<4 x float> %va) nounwind {
; CHECK-LABEL: lsx_vfrintrm_s:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    vfrintrm.s $vr0, $vr0
; CHECK-NEXT:    ret
entry:
  %res = call <4 x float> @llvm.loongarch.lsx.vfrintrm.s(<4 x float> %va)
  ret <4 x float> %res
}

declare <2 x double> @llvm.loongarch.lsx.vfrintrm.d(<2 x double>)

define <2 x double> @lsx_vfrintrm_d(<2 x double> %va) nounwind {
; CHECK-LABEL: lsx_vfrintrm_d:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    vfrintrm.d $vr0, $vr0
; CHECK-NEXT:    ret
entry:
  %res = call <2 x double> @llvm.loongarch.lsx.vfrintrm.d(<2 x double> %va)
  ret <2 x double> %res
}

declare <4 x float> @llvm.loongarch.lsx.vfrint.s(<4 x float>)

define <4 x float> @lsx_vfrint_s(<4 x float> %va) nounwind {
; CHECK-LABEL: lsx_vfrint_s:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    vfrint.s $vr0, $vr0
; CHECK-NEXT:    ret
entry:
  %res = call <4 x float> @llvm.loongarch.lsx.vfrint.s(<4 x float> %va)
  ret <4 x float> %res
}

declare <2 x double> @llvm.loongarch.lsx.vfrint.d(<2 x double>)

define <2 x double> @lsx_vfrint_d(<2 x double> %va) nounwind {
; CHECK-LABEL: lsx_vfrint_d:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    vfrint.d $vr0, $vr0
; CHECK-NEXT:    ret
entry:
  %res = call <2 x double> @llvm.loongarch.lsx.vfrint.d(<2 x double> %va)
  ret <2 x double> %res
}
