28 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc --mtriple=loongarch32 --mattr=+32s,+lasx < %s | FileCheck %s3; RUN: llc --mtriple=loongarch64 --mattr=+lasx < %s | FileCheck %s4 5declare <8 x float> @llvm.loongarch.lasx.xvfnmsub.s(<8 x float>, <8 x float>, <8 x float>)6 7define <8 x float> @lasx_xvfnmsub_s(<8 x float> %va, <8 x float> %vb, <8 x float> %vc) nounwind {8; CHECK-LABEL: lasx_xvfnmsub_s:9; CHECK: # %bb.0: # %entry10; CHECK-NEXT: xvfnmsub.s $xr0, $xr0, $xr1, $xr211; CHECK-NEXT: ret12entry:13 %res = call <8 x float> @llvm.loongarch.lasx.xvfnmsub.s(<8 x float> %va, <8 x float> %vb, <8 x float> %vc)14 ret <8 x float> %res15}16 17declare <4 x double> @llvm.loongarch.lasx.xvfnmsub.d(<4 x double>, <4 x double>, <4 x double>)18 19define <4 x double> @lasx_xvfnmsub_d(<4 x double> %va, <4 x double> %vb, <4 x double> %vc) nounwind {20; CHECK-LABEL: lasx_xvfnmsub_d:21; CHECK: # %bb.0: # %entry22; CHECK-NEXT: xvfnmsub.d $xr0, $xr0, $xr1, $xr223; CHECK-NEXT: ret24entry:25 %res = call <4 x double> @llvm.loongarch.lasx.xvfnmsub.d(<4 x double> %va, <4 x double> %vb, <4 x double> %vc)26 ret <4 x double> %res27}28