| ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 5 |
| ; RUN: opt -S < %s -passes=dce | FileCheck %s |
| |
| declare i32 @llvm.mips.rddsp(i32) |
| declare <4 x i8> @llvm.mips.pick.qb(<4 x i8>, <4 x i8>) |
| declare <2 x i16> @llvm.mips.pick.ph(<2 x i16>, <2 x i16>) |
| declare i32 @llvm.mips.bposge32() |
| declare i32 @llvm.mips.lbux(ptr, i32) |
| declare i32 @llvm.mips.lhx(ptr, i32) |
| declare i32 @llvm.mips.lwx(ptr, i32) |
| declare <16 x i8> @llvm.mips.ld.b(ptr, i32) |
| declare <8 x i16> @llvm.mips.ld.h(ptr, i32) |
| declare <4 x i32> @llvm.mips.ld.w(ptr, i32) |
| declare <2 x i64> @llvm.mips.ld.d(ptr, i32) |
| declare <2 x i64> @llvm.mips.ldr.d(ptr, i32) |
| declare <4 x i32> @llvm.mips.ldr.w(ptr, i32) |
| |
| define void @test_mips_rddsp() { |
| ; CHECK-LABEL: define void @test_mips_rddsp() { |
| ; CHECK-NEXT: ret void |
| ; |
| %v = call i32 @llvm.mips.rddsp(i32 4) |
| ret void |
| } |
| |
| define void @test_llvm_mips_pick_qb(<4 x i8> %a, <4 x i8> %b) { |
| ; CHECK-LABEL: define void @test_llvm_mips_pick_qb( |
| ; CHECK-SAME: <4 x i8> [[A:%.*]], <4 x i8> [[B:%.*]]) { |
| ; CHECK-NEXT: ret void |
| ; |
| %v = call <4 x i8> @llvm.mips.pick.qb(<4 x i8> %a, <4 x i8> %b) |
| ret void |
| } |
| |
| define void @test_llvm_mips_pick_ph(<2 x i16> %a, <2 x i16> %b) { |
| ; CHECK-LABEL: define void @test_llvm_mips_pick_ph( |
| ; CHECK-SAME: <2 x i16> [[A:%.*]], <2 x i16> [[B:%.*]]) { |
| ; CHECK-NEXT: ret void |
| ; |
| %v = call <2 x i16> @llvm.mips.pick.ph(<2 x i16> %a, <2 x i16> %b) |
| ret void |
| } |
| |
| define void @test_llvm_mips_bposge32() { |
| ; CHECK-LABEL: define void @test_llvm_mips_bposge32() { |
| ; CHECK-NEXT: ret void |
| ; |
| %v = call i32 @llvm.mips.bposge32() |
| ret void |
| } |
| |
| define void @test_llvm_mips_lbux(ptr %a, i32 %b) { |
| ; CHECK-LABEL: define void @test_llvm_mips_lbux( |
| ; CHECK-SAME: ptr [[A:%.*]], i32 [[B:%.*]]) { |
| ; CHECK-NEXT: ret void |
| ; |
| %v = call i32 @llvm.mips.lbux(ptr %a, i32 %b) |
| ret void |
| } |
| |
| define void @test_llvm_mips_lhx(ptr %a, i32 %b) { |
| ; CHECK-LABEL: define void @test_llvm_mips_lhx( |
| ; CHECK-SAME: ptr [[A:%.*]], i32 [[B:%.*]]) { |
| ; CHECK-NEXT: ret void |
| ; |
| %v = call i32 @llvm.mips.lhx(ptr %a, i32 %b) |
| ret void |
| } |
| |
| define void @test_llvm_mips_lwx(ptr %a, i32 %b) { |
| ; CHECK-LABEL: define void @test_llvm_mips_lwx( |
| ; CHECK-SAME: ptr [[A:%.*]], i32 [[B:%.*]]) { |
| ; CHECK-NEXT: ret void |
| ; |
| %v = call i32 @llvm.mips.lwx(ptr %a, i32 %b) |
| ret void |
| } |
| |
| define void @test_llvm_mips_ld_b(ptr %a, i32 %b) { |
| ; CHECK-LABEL: define void @test_llvm_mips_ld_b( |
| ; CHECK-SAME: ptr [[A:%.*]], i32 [[B:%.*]]) { |
| ; CHECK-NEXT: ret void |
| ; |
| %v = call <16 x i8> @llvm.mips.ld.b(ptr %a, i32 %b) |
| ret void |
| } |
| |
| define void @test_llvm_mips_ld_h(ptr %a, i32 %b) { |
| ; CHECK-LABEL: define void @test_llvm_mips_ld_h( |
| ; CHECK-SAME: ptr [[A:%.*]], i32 [[B:%.*]]) { |
| ; CHECK-NEXT: ret void |
| ; |
| %v = call <8 x i16> @llvm.mips.ld.h(ptr %a, i32 %b) |
| ret void |
| } |
| |
| define void @test_llvm_mips_ld_w(ptr %a, i32 %b) { |
| ; CHECK-LABEL: define void @test_llvm_mips_ld_w( |
| ; CHECK-SAME: ptr [[A:%.*]], i32 [[B:%.*]]) { |
| ; CHECK-NEXT: ret void |
| ; |
| %v = call <4 x i32> @llvm.mips.ld.w(ptr %a, i32 %b) |
| ret void |
| } |
| |
| define void @test_llvm_mips_ld_d(ptr %a, i32 %b) { |
| ; CHECK-LABEL: define void @test_llvm_mips_ld_d( |
| ; CHECK-SAME: ptr [[A:%.*]], i32 [[B:%.*]]) { |
| ; CHECK-NEXT: ret void |
| ; |
| %v = call <2 x i64> @llvm.mips.ld.d(ptr %a, i32 %b) |
| ret void |
| } |
| |
| define void @test_llvm_mips_ldr_d(ptr %a, i32 %b) { |
| ; CHECK-LABEL: define void @test_llvm_mips_ldr_d( |
| ; CHECK-SAME: ptr [[A:%.*]], i32 [[B:%.*]]) { |
| ; CHECK-NEXT: ret void |
| ; |
| %v = call <2 x i64> @llvm.mips.ldr.d(ptr %a, i32 %b) |
| ret void |
| } |
| |
| define void @test_llvm_mips_ldr_w(ptr %a, i32 %b) { |
| ; CHECK-LABEL: define void @test_llvm_mips_ldr_w( |
| ; CHECK-SAME: ptr [[A:%.*]], i32 [[B:%.*]]) { |
| ; CHECK-NEXT: ret void |
| ; |
| %v = call <4 x i32> @llvm.mips.ldr.w(ptr %a, i32 %b) |
| ret void |
| } |