1*f3aa4416Schenli; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py 2*f3aa4416Schenli; RUN: llc --mtriple=loongarch64 --mattr=+lsx < %s | FileCheck %s 3*f3aa4416Schenli 4*f3aa4416Schenlideclare <16 x i8> @llvm.loongarch.lsx.vclz.b(<16 x i8>) 5*f3aa4416Schenli 6*f3aa4416Schenlidefine <16 x i8> @lsx_vclz_b(<16 x i8> %va) nounwind { 7*f3aa4416Schenli; CHECK-LABEL: lsx_vclz_b: 8*f3aa4416Schenli; CHECK: # %bb.0: # %entry 9*f3aa4416Schenli; CHECK-NEXT: vclz.b $vr0, $vr0 10*f3aa4416Schenli; CHECK-NEXT: ret 11*f3aa4416Schenlientry: 12*f3aa4416Schenli %res = call <16 x i8> @llvm.loongarch.lsx.vclz.b(<16 x i8> %va) 13*f3aa4416Schenli ret <16 x i8> %res 14*f3aa4416Schenli} 15*f3aa4416Schenli 16*f3aa4416Schenlideclare <8 x i16> @llvm.loongarch.lsx.vclz.h(<8 x i16>) 17*f3aa4416Schenli 18*f3aa4416Schenlidefine <8 x i16> @lsx_vclz_h(<8 x i16> %va) nounwind { 19*f3aa4416Schenli; CHECK-LABEL: lsx_vclz_h: 20*f3aa4416Schenli; CHECK: # %bb.0: # %entry 21*f3aa4416Schenli; CHECK-NEXT: vclz.h $vr0, $vr0 22*f3aa4416Schenli; CHECK-NEXT: ret 23*f3aa4416Schenlientry: 24*f3aa4416Schenli %res = call <8 x i16> @llvm.loongarch.lsx.vclz.h(<8 x i16> %va) 25*f3aa4416Schenli ret <8 x i16> %res 26*f3aa4416Schenli} 27*f3aa4416Schenli 28*f3aa4416Schenlideclare <4 x i32> @llvm.loongarch.lsx.vclz.w(<4 x i32>) 29*f3aa4416Schenli 30*f3aa4416Schenlidefine <4 x i32> @lsx_vclz_w(<4 x i32> %va) nounwind { 31*f3aa4416Schenli; CHECK-LABEL: lsx_vclz_w: 32*f3aa4416Schenli; CHECK: # %bb.0: # %entry 33*f3aa4416Schenli; CHECK-NEXT: vclz.w $vr0, $vr0 34*f3aa4416Schenli; CHECK-NEXT: ret 35*f3aa4416Schenlientry: 36*f3aa4416Schenli %res = call <4 x i32> @llvm.loongarch.lsx.vclz.w(<4 x i32> %va) 37*f3aa4416Schenli ret <4 x i32> %res 38*f3aa4416Schenli} 39*f3aa4416Schenli 40*f3aa4416Schenlideclare <2 x i64> @llvm.loongarch.lsx.vclz.d(<2 x i64>) 41*f3aa4416Schenli 42*f3aa4416Schenlidefine <2 x i64> @lsx_vclz_d(<2 x i64> %va) nounwind { 43*f3aa4416Schenli; CHECK-LABEL: lsx_vclz_d: 44*f3aa4416Schenli; CHECK: # %bb.0: # %entry 45*f3aa4416Schenli; CHECK-NEXT: vclz.d $vr0, $vr0 46*f3aa4416Schenli; CHECK-NEXT: ret 47*f3aa4416Schenlientry: 48*f3aa4416Schenli %res = call <2 x i64> @llvm.loongarch.lsx.vclz.d(<2 x i64> %va) 49*f3aa4416Schenli ret <2 x i64> %res 50*f3aa4416Schenli} 51