; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
; RUN: llc --mtriple=loongarch32 --mattr=+32s,+lsx < %s | FileCheck %s
; 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
}
