125 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 52; RUN: opt -S < %s -passes=dce | FileCheck %s3 4declare <16 x i8> @llvm.loongarch.lsx.vld(ptr, i32)5declare <16 x i8> @llvm.loongarch.lsx.vldx(ptr, i64)6declare <16 x i8> @llvm.loongarch.lsx.vldrepl.b(ptr, i32)7declare <8 x i16> @llvm.loongarch.lsx.vldrepl.h(ptr, i32)8declare <4 x i32> @llvm.loongarch.lsx.vldrepl.w(ptr, i32)9declare <2 x i64> @llvm.loongarch.lsx.vldrepl.d(ptr, i32)10 11declare <32 x i8> @llvm.loongarch.lasx.xvld(ptr, i32)12declare <32 x i8> @llvm.loongarch.lasx.xvldx(ptr, i64)13declare <32 x i8> @llvm.loongarch.lasx.xvldrepl.b(ptr, i32)14declare <16 x i16> @llvm.loongarch.lasx.xvldrepl.h(ptr, i32)15declare <8 x i32> @llvm.loongarch.lasx.xvldrepl.w(ptr, i32)16declare <4 x i64> @llvm.loongarch.lasx.xvldrepl.d(ptr, i32)17 18define void @test_loongarch_lsx_vld(ptr %a) {19; CHECK-LABEL: define void @test_loongarch_lsx_vld(20; CHECK-SAME: ptr [[A:%.*]]) {21; CHECK-NEXT: ret void22;23 %v = call <16 x i8> @llvm.loongarch.lsx.vld(ptr %a, i32 8)24 ret void25}26 27define void @test_loongarch_lsx_vldx(ptr %a, i64 %b) {28; CHECK-LABEL: define void @test_loongarch_lsx_vldx(29; CHECK-SAME: ptr [[A:%.*]], i64 [[B:%.*]]) {30; CHECK-NEXT: ret void31;32 %v = call <16 x i8> @llvm.loongarch.lsx.vldx(ptr %a, i64 %b)33 ret void34}35 36define void @test_loongarch_lsx_vldrepl_b(ptr %a) {37; CHECK-LABEL: define void @test_loongarch_lsx_vldrepl_b(38; CHECK-SAME: ptr [[A:%.*]]) {39; CHECK-NEXT: ret void40;41 %v = call <16 x i8> @llvm.loongarch.lsx.vldrepl.b(ptr %a, i32 12)42 ret void43}44 45define void @test_loongarch_lsx_vldrepl_h(ptr %a) {46; CHECK-LABEL: define void @test_loongarch_lsx_vldrepl_h(47; CHECK-SAME: ptr [[A:%.*]]) {48; CHECK-NEXT: ret void49;50 %v = call <8 x i16> @llvm.loongarch.lsx.vldrepl.h(ptr %a, i32 12)51 ret void52}53 54define void @test_loongarch_lsx_vldrepl_w(ptr %a) {55; CHECK-LABEL: define void @test_loongarch_lsx_vldrepl_w(56; CHECK-SAME: ptr [[A:%.*]]) {57; CHECK-NEXT: ret void58;59 %v = call <4 x i32> @llvm.loongarch.lsx.vldrepl.w(ptr %a, i32 4)60 ret void61}62 63define void @test_loongarch_lsx_vldrepl_d(ptr %a) {64; CHECK-LABEL: define void @test_loongarch_lsx_vldrepl_d(65; CHECK-SAME: ptr [[A:%.*]]) {66; CHECK-NEXT: ret void67;68 %v = call <2 x i64> @llvm.loongarch.lsx.vldrepl.d(ptr %a, i32 4)69 ret void70}71 72define void @test_loongarch_lasx_xvld(ptr %a) {73; CHECK-LABEL: define void @test_loongarch_lasx_xvld(74; CHECK-SAME: ptr [[A:%.*]]) {75; CHECK-NEXT: ret void76;77 %v = call <32 x i8> @llvm.loongarch.lasx.xvld(ptr %a, i32 4)78 ret void79}80 81define void @test_loongarch_lasx_xvldx(ptr %a, i64 %b) {82; CHECK-LABEL: define void @test_loongarch_lasx_xvldx(83; CHECK-SAME: ptr [[A:%.*]], i64 [[B:%.*]]) {84; CHECK-NEXT: ret void85;86 %v = call <32 x i8> @llvm.loongarch.lasx.xvldx(ptr %a, i64 %b)87 ret void88}89 90define void @test_loongarch_lasx_xvldrepl_b(ptr %a) {91; CHECK-LABEL: define void @test_loongarch_lasx_xvldrepl_b(92; CHECK-SAME: ptr [[A:%.*]]) {93; CHECK-NEXT: ret void94;95 %v = call <32 x i8> @llvm.loongarch.lasx.xvldrepl.b(ptr %a, i32 4)96 ret void97}98 99define void @test_loongarch_lasx_xvldrepl_h(ptr %a) {100; CHECK-LABEL: define void @test_loongarch_lasx_xvldrepl_h(101; CHECK-SAME: ptr [[A:%.*]]) {102; CHECK-NEXT: ret void103;104 %v = call <16 x i16> @llvm.loongarch.lasx.xvldrepl.h(ptr %a, i32 4)105 ret void106}107 108define void @test_loongarch_lasx_xvldrepl_w(ptr %a) {109; CHECK-LABEL: define void @test_loongarch_lasx_xvldrepl_w(110; CHECK-SAME: ptr [[A:%.*]]) {111; CHECK-NEXT: ret void112;113 %v = call <8 x i32> @llvm.loongarch.lasx.xvldrepl.w(ptr %a, i32 4)114 ret void115}116 117define void @test_loongarch_lasx_xvldrepl_d(ptr %a) {118; CHECK-LABEL: define void @test_loongarch_lasx_xvldrepl_d(119; CHECK-SAME: ptr [[A:%.*]]) {120; CHECK-NEXT: ret void121;122 %v = call <4 x i64> @llvm.loongarch.lasx.xvldrepl.d(ptr %a, i32 4)123 ret void124}125