brintos

brintos / llvm-project-archived public Read only

0
0
Text · 29.9 KiB · 5c6d207 Raw
730 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 i64 @llvm.ve.vl.pack.f32p(ptr, ptr)5 6define void @test_llvm_ve_vl_pack_f32p(ptr %a, ptr %b) {7; CHECK-LABEL: define void @test_llvm_ve_vl_pack_f32p(8; CHECK-SAME: ptr [[A:%.*]], ptr [[B:%.*]]) {9; CHECK-NEXT:    ret void10;11  %v = call i64 @llvm.ve.vl.pack.f32p(ptr %a, ptr %b)12  ret void13}14 15 16declare i64 @llvm.ve.vl.pack.f32a(ptr)17 18define void @test_llvm_ve_vl_pack_f32a(ptr %a) {19; CHECK-LABEL: define void @test_llvm_ve_vl_pack_f32a(20; CHECK-SAME: ptr [[A:%.*]]) {21; CHECK-NEXT:    ret void22;23  %v = call i64 @llvm.ve.vl.pack.f32a(ptr %a)24  ret void25}26 27declare <256 x double> @llvm.ve.vl.vld.vssl(i64, ptr, i32)28 29define void @test_llvm_ve_vl_vld_vssl(i64 %a, ptr %b, i32 %c) {30; CHECK-LABEL: define void @test_llvm_ve_vl_vld_vssl(31; CHECK-SAME: i64 [[A:%.*]], ptr [[B:%.*]], i32 [[C:%.*]]) {32; CHECK-NEXT:    ret void33;34  %v = call <256 x double> @llvm.ve.vl.vld.vssl(i64 %a, ptr %b, i32 %c)35  ret void36}37 38declare <256 x double> @llvm.ve.vl.vld.vssvl(i64, ptr, <256 x double>, i32)39 40define void @test_llvm_ve_vl_vld_vssvl(i64 %a, ptr %b, <256 x double> %c, i32 %d) {41; CHECK-LABEL: define void @test_llvm_ve_vl_vld_vssvl(42; CHECK-SAME: i64 [[A:%.*]], ptr [[B:%.*]], <256 x double> [[C:%.*]], i32 [[D:%.*]]) {43; CHECK-NEXT:    ret void44;45  %v = call <256 x double> @llvm.ve.vl.vld.vssvl(i64 %a, ptr %b, <256 x double> %c, i32 %d)46  ret void47}48 49declare <256 x double> @llvm.ve.vl.vldnc.vssl(i64, ptr, i32)50 51define void @test_llvm_ve_vl_vldnc_vssl(i64 %a, ptr %b, i32 %c) {52; CHECK-LABEL: define void @test_llvm_ve_vl_vldnc_vssl(53; CHECK-SAME: i64 [[A:%.*]], ptr [[B:%.*]], i32 [[C:%.*]]) {54; CHECK-NEXT:    ret void55;56  %v = call <256 x double> @llvm.ve.vl.vldnc.vssl(i64 %a, ptr %b, i32 %c)57  ret void58}59 60declare <256 x double> @llvm.ve.vl.vldnc.vssvl(i64, ptr, <256 x double>, i32)61 62define void @test_llvm_ve_vl_vldnc_vssvl(i64 %a, ptr %b, <256 x double> %c, i32 %d) {63; CHECK-LABEL: define void @test_llvm_ve_vl_vldnc_vssvl(64; CHECK-SAME: i64 [[A:%.*]], ptr [[B:%.*]], <256 x double> [[C:%.*]], i32 [[D:%.*]]) {65; CHECK-NEXT:    ret void66;67  %v = call <256 x double> @llvm.ve.vl.vldnc.vssvl(i64 %a, ptr %b, <256 x double> %c, i32 %d)68  ret void69}70 71declare <256 x double> @llvm.ve.vl.vldu.vssl(i64, ptr, i32)72 73define void @test_llvm_ve_vl_vldu_vssl(i64 %a, ptr %b, i32 %c) {74; CHECK-LABEL: define void @test_llvm_ve_vl_vldu_vssl(75; CHECK-SAME: i64 [[A:%.*]], ptr [[B:%.*]], i32 [[C:%.*]]) {76; CHECK-NEXT:    ret void77;78  %v = call <256 x double> @llvm.ve.vl.vldu.vssl(i64 %a, ptr %b, i32 %c)79  ret void80}81 82declare <256 x double> @llvm.ve.vl.vldu.vssvl(i64, ptr, <256 x double>, i32)83 84define void @test_llvm_ve_vl_vldu_vssvl(i64 %a, ptr %b, <256 x double> %c, i32 %d) {85; CHECK-LABEL: define void @test_llvm_ve_vl_vldu_vssvl(86; CHECK-SAME: i64 [[A:%.*]], ptr [[B:%.*]], <256 x double> [[C:%.*]], i32 [[D:%.*]]) {87; CHECK-NEXT:    ret void88;89  %v = call <256 x double> @llvm.ve.vl.vldu.vssvl(i64 %a, ptr %b, <256 x double> %c, i32 %d)90  ret void91}92 93declare <256 x double> @llvm.ve.vl.vldunc.vssl(i64, ptr, i32)94 95define void @test_llvm_ve_vl_vldunc_vssl(i64 %a, ptr %b, i32 %c) {96; CHECK-LABEL: define void @test_llvm_ve_vl_vldunc_vssl(97; CHECK-SAME: i64 [[A:%.*]], ptr [[B:%.*]], i32 [[C:%.*]]) {98; CHECK-NEXT:    ret void99;100  %v = call <256 x double> @llvm.ve.vl.vldunc.vssl(i64 %a, ptr %b, i32 %c)101  ret void102}103 104declare <256 x double> @llvm.ve.vl.vldunc.vssvl(i64, ptr, <256 x double>, i32)105 106define void @test_llvm_ve_vl_vldunc_vssvl(i64 %a, ptr %b, <256 x double> %c, i32 %d) {107; CHECK-LABEL: define void @test_llvm_ve_vl_vldunc_vssvl(108; CHECK-SAME: i64 [[A:%.*]], ptr [[B:%.*]], <256 x double> [[C:%.*]], i32 [[D:%.*]]) {109; CHECK-NEXT:    ret void110;111  %v = call <256 x double> @llvm.ve.vl.vldunc.vssvl(i64 %a, ptr %b, <256 x double> %c, i32 %d)112  ret void113}114 115declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, ptr, i32)116 117define void @test_llvm_ve_vl_vldlsx_vssl(i64 %a, ptr %b, i32 %c) {118; CHECK-LABEL: define void @test_llvm_ve_vl_vldlsx_vssl(119; CHECK-SAME: i64 [[A:%.*]], ptr [[B:%.*]], i32 [[C:%.*]]) {120; CHECK-NEXT:    ret void121;122  %v = call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 %a, ptr %b, i32 %c)123  ret void124}125 126declare <256 x double> @llvm.ve.vl.vldlsx.vssvl(i64, ptr, <256 x double>, i32)127 128define void @test_llvm_ve_vl_vldlsx_vssvl(i64 %a, ptr %b, <256 x double> %c, i32 %d) {129; CHECK-LABEL: define void @test_llvm_ve_vl_vldlsx_vssvl(130; CHECK-SAME: i64 [[A:%.*]], ptr [[B:%.*]], <256 x double> [[C:%.*]], i32 [[D:%.*]]) {131; CHECK-NEXT:    ret void132;133  %v = call <256 x double> @llvm.ve.vl.vldlsx.vssvl(i64 %a, ptr %b, <256 x double> %c, i32 %d)134  ret void135}136 137declare <256 x double> @llvm.ve.vl.vldlsxnc.vssl(i64, ptr, i32)138 139define void @test_llvm_ve_vl_vldlsxnc_vssl(i64 %a, ptr %b, i32 %c) {140; CHECK-LABEL: define void @test_llvm_ve_vl_vldlsxnc_vssl(141; CHECK-SAME: i64 [[A:%.*]], ptr [[B:%.*]], i32 [[C:%.*]]) {142; CHECK-NEXT:    ret void143;144  %v = call <256 x double> @llvm.ve.vl.vldlsxnc.vssl(i64 %a, ptr %b, i32 %c)145  ret void146}147 148declare <256 x double> @llvm.ve.vl.vldlsxnc.vssvl(i64, ptr, <256 x double>, i32)149 150define void @test_llvm_ve_vl_vldlsxnc_vssvl(i64 %a, ptr %b, <256 x double> %c, i32 %d) {151; CHECK-LABEL: define void @test_llvm_ve_vl_vldlsxnc_vssvl(152; CHECK-SAME: i64 [[A:%.*]], ptr [[B:%.*]], <256 x double> [[C:%.*]], i32 [[D:%.*]]) {153; CHECK-NEXT:    ret void154;155  %v = call <256 x double> @llvm.ve.vl.vldlsxnc.vssvl(i64 %a, ptr %b, <256 x double> %c, i32 %d)156  ret void157}158 159declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, ptr, i32)160 161define void @test_llvm_ve_vl_vldlzx_vssl(i64 %a, ptr %b, i32 %c) {162; CHECK-LABEL: define void @test_llvm_ve_vl_vldlzx_vssl(163; CHECK-SAME: i64 [[A:%.*]], ptr [[B:%.*]], i32 [[C:%.*]]) {164; CHECK-NEXT:    ret void165;166  %v = call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 %a, ptr %b, i32 %c)167  ret void168}169 170declare <256 x double> @llvm.ve.vl.vldlzx.vssvl(i64, ptr, <256 x double>, i32)171 172define void @test_llvm_ve_vl_vldlzx_vssvl(i64 %a, ptr %b, <256 x double> %c, i32 %d) {173; CHECK-LABEL: define void @test_llvm_ve_vl_vldlzx_vssvl(174; CHECK-SAME: i64 [[A:%.*]], ptr [[B:%.*]], <256 x double> [[C:%.*]], i32 [[D:%.*]]) {175; CHECK-NEXT:    ret void176;177  %v = call <256 x double> @llvm.ve.vl.vldlzx.vssvl(i64 %a, ptr %b, <256 x double> %c, i32 %d)178  ret void179}180 181declare <256 x double> @llvm.ve.vl.vldlzxnc.vssl(i64, ptr, i32)182 183define void @test_llvm_ve_vl_vldlzxnc_vssl(i64 %a, ptr %b, i32 %c) {184; CHECK-LABEL: define void @test_llvm_ve_vl_vldlzxnc_vssl(185; CHECK-SAME: i64 [[A:%.*]], ptr [[B:%.*]], i32 [[C:%.*]]) {186; CHECK-NEXT:    ret void187;188  %v = call <256 x double> @llvm.ve.vl.vldlzxnc.vssl(i64 %a, ptr %b, i32 %c)189  ret void190}191 192declare <256 x double> @llvm.ve.vl.vldlzxnc.vssvl(i64, ptr, <256 x double>, i32)193 194define void @test_llvm_ve_vl_vldlzxnc_vssvl(i64 %a, ptr %b, <256 x double> %c, i32 %d) {195; CHECK-LABEL: define void @test_llvm_ve_vl_vldlzxnc_vssvl(196; CHECK-SAME: i64 [[A:%.*]], ptr [[B:%.*]], <256 x double> [[C:%.*]], i32 [[D:%.*]]) {197; CHECK-NEXT:    ret void198;199  %v = call <256 x double> @llvm.ve.vl.vldlzxnc.vssvl(i64 %a, ptr %b, <256 x double> %c, i32 %d)200  ret void201}202 203declare <256 x double> @llvm.ve.vl.vld2d.vssl(i64, ptr, i32)204 205define void @test_llvm_ve_vl_vld2d_vssl(i64 %a, ptr %b, i32 %c) {206; CHECK-LABEL: define void @test_llvm_ve_vl_vld2d_vssl(207; CHECK-SAME: i64 [[A:%.*]], ptr [[B:%.*]], i32 [[C:%.*]]) {208; CHECK-NEXT:    ret void209;210  %v = call <256 x double> @llvm.ve.vl.vld2d.vssl(i64 %a, ptr %b, i32 %c)211  ret void212}213 214declare <256 x double> @llvm.ve.vl.vld2d.vssvl(i64, ptr, <256 x double>, i32)215 216define void @test_llvm_ve_vl_vld2d_vssvl(i64 %a, ptr %b, <256 x double> %c, i32 %d) {217; CHECK-LABEL: define void @test_llvm_ve_vl_vld2d_vssvl(218; CHECK-SAME: i64 [[A:%.*]], ptr [[B:%.*]], <256 x double> [[C:%.*]], i32 [[D:%.*]]) {219; CHECK-NEXT:    ret void220;221  %v = call <256 x double> @llvm.ve.vl.vld2d.vssvl(i64 %a, ptr %b, <256 x double> %c, i32 %d)222  ret void223}224 225declare <256 x double> @llvm.ve.vl.vld2dnc.vssl(i64, ptr, i32)226 227define void @test_llvm_ve_vl_vld2dnc_vssl(i64 %a, ptr %b, i32 %c) {228; CHECK-LABEL: define void @test_llvm_ve_vl_vld2dnc_vssl(229; CHECK-SAME: i64 [[A:%.*]], ptr [[B:%.*]], i32 [[C:%.*]]) {230; CHECK-NEXT:    ret void231;232  %v = call <256 x double> @llvm.ve.vl.vld2dnc.vssl(i64 %a, ptr %b, i32 %c)233  ret void234}235 236declare <256 x double> @llvm.ve.vl.vld2dnc.vssvl(i64, ptr, <256 x double>, i32)237 238define void @test_llvm_ve_vl_vld2dnc_vssvl(i64 %a, ptr %b, <256 x double> %c, i32 %d) {239; CHECK-LABEL: define void @test_llvm_ve_vl_vld2dnc_vssvl(240; CHECK-SAME: i64 [[A:%.*]], ptr [[B:%.*]], <256 x double> [[C:%.*]], i32 [[D:%.*]]) {241; CHECK-NEXT:    ret void242;243  %v = call <256 x double> @llvm.ve.vl.vld2dnc.vssvl(i64 %a, ptr %b, <256 x double> %c, i32 %d)244  ret void245}246 247declare <256 x double> @llvm.ve.vl.vldu2d.vssl(i64, ptr, i32)248 249define void @test_llvm_ve_vl_vldu2d_vssl(i64 %a, ptr %b, i32 %c) {250; CHECK-LABEL: define void @test_llvm_ve_vl_vldu2d_vssl(251; CHECK-SAME: i64 [[A:%.*]], ptr [[B:%.*]], i32 [[C:%.*]]) {252; CHECK-NEXT:    ret void253;254  %v = call <256 x double> @llvm.ve.vl.vldu2d.vssl(i64 %a, ptr %b, i32 %c)255  ret void256}257 258declare <256 x double> @llvm.ve.vl.vldu2d.vssvl(i64, ptr, <256 x double>, i32)259 260define void @test_llvm_ve_vl_vldu2d_vssvl(i64 %a, ptr %b, <256 x double> %c, i32 %d) {261; CHECK-LABEL: define void @test_llvm_ve_vl_vldu2d_vssvl(262; CHECK-SAME: i64 [[A:%.*]], ptr [[B:%.*]], <256 x double> [[C:%.*]], i32 [[D:%.*]]) {263; CHECK-NEXT:    ret void264;265  %v = call <256 x double> @llvm.ve.vl.vldu2d.vssvl(i64 %a, ptr %b, <256 x double> %c, i32 %d)266  ret void267}268 269declare <256 x double> @llvm.ve.vl.vldu2dnc.vssl(i64, ptr, i32)270 271define void @test_llvm_ve_vl_vldu2dnc_vssl(i64 %a, ptr %b, i32 %c) {272; CHECK-LABEL: define void @test_llvm_ve_vl_vldu2dnc_vssl(273; CHECK-SAME: i64 [[A:%.*]], ptr [[B:%.*]], i32 [[C:%.*]]) {274; CHECK-NEXT:    ret void275;276  %v = call <256 x double> @llvm.ve.vl.vldu2dnc.vssl(i64 %a, ptr %b, i32 %c)277  ret void278}279 280declare <256 x double> @llvm.ve.vl.vldu2dnc.vssvl(i64, ptr, <256 x double>, i32)281 282define void @test_llvm_ve_vl_vldu2dnc_vssvl(i64 %a, ptr %b, <256 x double> %c, i32 %d) {283; CHECK-LABEL: define void @test_llvm_ve_vl_vldu2dnc_vssvl(284; CHECK-SAME: i64 [[A:%.*]], ptr [[B:%.*]], <256 x double> [[C:%.*]], i32 [[D:%.*]]) {285; CHECK-NEXT:    ret void286;287  %v = call <256 x double> @llvm.ve.vl.vldu2dnc.vssvl(i64 %a, ptr %b, <256 x double> %c, i32 %d)288  ret void289}290 291declare <256 x double> @llvm.ve.vl.vldl2dsx.vssl(i64, ptr, i32)292 293define void @test_llvm_ve_vl_vldl2dsx_vssl(i64 %a, ptr %b, i32 %c) {294; CHECK-LABEL: define void @test_llvm_ve_vl_vldl2dsx_vssl(295; CHECK-SAME: i64 [[A:%.*]], ptr [[B:%.*]], i32 [[C:%.*]]) {296; CHECK-NEXT:    ret void297;298  %v = call <256 x double> @llvm.ve.vl.vldl2dsx.vssl(i64 %a, ptr %b, i32 %c)299  ret void300}301 302declare <256 x double> @llvm.ve.vl.vldl2dsx.vssvl(i64, ptr, <256 x double>, i32)303 304define void @test_llvm_ve_vl_vldl2dsx_vssvl(i64 %a, ptr %b, <256 x double> %c, i32 %d) {305; CHECK-LABEL: define void @test_llvm_ve_vl_vldl2dsx_vssvl(306; CHECK-SAME: i64 [[A:%.*]], ptr [[B:%.*]], <256 x double> [[C:%.*]], i32 [[D:%.*]]) {307; CHECK-NEXT:    ret void308;309  %v = call <256 x double> @llvm.ve.vl.vldl2dsx.vssvl(i64 %a, ptr %b, <256 x double> %c, i32 %d)310  ret void311}312 313declare <256 x double> @llvm.ve.vl.vldl2dsxnc.vssl(i64, ptr, i32)314 315define void @test_llvm_ve_vl_vldl2dsxnc_vssl(i64 %a, ptr %b, i32 %c) {316; CHECK-LABEL: define void @test_llvm_ve_vl_vldl2dsxnc_vssl(317; CHECK-SAME: i64 [[A:%.*]], ptr [[B:%.*]], i32 [[C:%.*]]) {318; CHECK-NEXT:    ret void319;320  %v = call <256 x double> @llvm.ve.vl.vldl2dsxnc.vssl(i64 %a, ptr %b, i32 %c)321  ret void322}323 324declare <256 x double> @llvm.ve.vl.vldl2dsxnc.vssvl(i64, ptr, <256 x double>, i32)325 326define void @test_llvm_ve_vl_vldl2dsxnc_vssvl(i64 %a, ptr %b, <256 x double> %c, i32 %d) {327; CHECK-LABEL: define void @test_llvm_ve_vl_vldl2dsxnc_vssvl(328; CHECK-SAME: i64 [[A:%.*]], ptr [[B:%.*]], <256 x double> [[C:%.*]], i32 [[D:%.*]]) {329; CHECK-NEXT:    ret void330;331  %v = call <256 x double> @llvm.ve.vl.vldl2dsxnc.vssvl(i64 %a, ptr %b, <256 x double> %c, i32 %d)332  ret void333}334 335declare <256 x double> @llvm.ve.vl.vldl2dzx.vssl(i64, ptr, i32)336 337define void @test_llvm_ve_vl_vldl2dzx_vssl(i64 %a, ptr %b, i32 %c) {338; CHECK-LABEL: define void @test_llvm_ve_vl_vldl2dzx_vssl(339; CHECK-SAME: i64 [[A:%.*]], ptr [[B:%.*]], i32 [[C:%.*]]) {340; CHECK-NEXT:    ret void341;342  %v = call <256 x double> @llvm.ve.vl.vldl2dsxnc.vssl(i64 %a, ptr %b, i32 %c)343  ret void344}345 346declare <256 x double> @llvm.ve.vl.vldl2dzx.vssvl(i64, ptr, <256 x double>, i32)347 348define void @test_llvm_ve_vl_vldl2dzx_vssvl(i64 %a, ptr %b, <256 x double> %c, i32 %d) {349; CHECK-LABEL: define void @test_llvm_ve_vl_vldl2dzx_vssvl(350; CHECK-SAME: i64 [[A:%.*]], ptr [[B:%.*]], <256 x double> [[C:%.*]], i32 [[D:%.*]]) {351; CHECK-NEXT:    ret void352;353  %v = call <256 x double> @llvm.ve.vl.vldl2dzx.vssvl(i64 %a, ptr %b, <256 x double> %c, i32 %d)354  ret void355}356 357declare <256 x double> @llvm.ve.vl.vldl2dzxnc.vssl(i64, ptr, i32)358 359define void @test_llvm_ve_vl_vldl2dzxnc_vssl(i64 %a, ptr %b, i32 %c) {360; CHECK-LABEL: define void @test_llvm_ve_vl_vldl2dzxnc_vssl(361; CHECK-SAME: i64 [[A:%.*]], ptr [[B:%.*]], i32 [[C:%.*]]) {362; CHECK-NEXT:    ret void363;364  %v = call <256 x double> @llvm.ve.vl.vldl2dzxnc.vssl(i64 %a, ptr %b, i32 %c)365  ret void366}367 368declare <256 x double> @llvm.ve.vl.vldl2dzxnc.vssvl(i64, ptr, <256 x double>, i32)369 370define void @test_llvm_ve_vl_vldl2dzxnc_vssvl(i64 %a, ptr %b, <256 x double> %c, i32 %d) {371; CHECK-LABEL: define void @test_llvm_ve_vl_vldl2dzxnc_vssvl(372; CHECK-SAME: i64 [[A:%.*]], ptr [[B:%.*]], <256 x double> [[C:%.*]], i32 [[D:%.*]]) {373; CHECK-NEXT:    ret void374;375  %v = call <256 x double> @llvm.ve.vl.vldl2dzxnc.vssvl(i64 %a, ptr %b, <256 x double> %c, i32 %d)376  ret void377}378 379declare <256 x double> @llvm.ve.vl.vgt.vvssl(<256 x double>, i64, i64, i32)380 381define void @test_llvm_ve_vl_vgt_vvssl(<256 x double> %a, i64 %b, i64 %c, i32 %d) {382; CHECK-LABEL: define void @test_llvm_ve_vl_vgt_vvssl(383; CHECK-SAME: <256 x double> [[A:%.*]], i64 [[B:%.*]], i64 [[C:%.*]], i32 [[D:%.*]]) {384; CHECK-NEXT:    ret void385;386  %v = call <256 x double> @llvm.ve.vl.vgt.vvssl(<256 x double> %a, i64 %b, i64 %c, i32 %d)387  ret void388}389 390declare <256 x double> @llvm.ve.vl.vgt.vvssvl(<256 x double>, i64, i64, <256 x double>, i32)391 392define void @test_llvm_ve_vl_vgt_vvssvl(<256 x double> %a, i64 %b, i64 %c, <256 x double> %d, i32 %e) {393; CHECK-LABEL: define void @test_llvm_ve_vl_vgt_vvssvl(394; CHECK-SAME: <256 x double> [[A:%.*]], i64 [[B:%.*]], i64 [[C:%.*]], <256 x double> [[D:%.*]], i32 [[E:%.*]]) {395; CHECK-NEXT:    ret void396;397  %v = call <256 x double> @llvm.ve.vl.vgt.vvssvl(<256 x double> %a, i64 %b, i64 %c, <256 x double> %d, i32 %e)398  ret void399}400 401declare <256 x double> @llvm.ve.vl.vgt.vvssml(<256 x double>, i64, i64, <256 x i1>, i32)402 403define void @test_llvm_ve_vl_vgt_vvssml(<256 x double> %a, i64 %b, i64 %c, <256 x i1> %d, i32 %e) {404; CHECK-LABEL: define void @test_llvm_ve_vl_vgt_vvssml(405; CHECK-SAME: <256 x double> [[A:%.*]], i64 [[B:%.*]], i64 [[C:%.*]], <256 x i1> [[D:%.*]], i32 [[E:%.*]]) {406; CHECK-NEXT:    ret void407;408  %v = call <256 x double> @llvm.ve.vl.vgt.vvssml(<256 x double> %a, i64 %b, i64 %c, <256 x i1> %d, i32 %e)409  ret void410}411 412declare <256 x double> @llvm.ve.vl.vgt.vvssmvl(<256 x double>, i64, i64, <256 x i1>, <256 x double>, i32)413 414define void @test_llvm_ve_vl_vgt_vvssmvl(<256 x double> %a, i64 %b, i64 %c, <256 x i1> %d, <256 x double> %e, i32 %f) {415; CHECK-LABEL: define void @test_llvm_ve_vl_vgt_vvssmvl(416; CHECK-SAME: <256 x double> [[A:%.*]], i64 [[B:%.*]], i64 [[C:%.*]], <256 x i1> [[D:%.*]], <256 x double> [[E:%.*]], i32 [[F:%.*]]) {417; CHECK-NEXT:    ret void418;419  %v = call <256 x double> @llvm.ve.vl.vgt.vvssmvl(<256 x double> %a, i64 %b, i64 %c, <256 x i1> %d, <256 x double> %e, i32 %f)420  ret void421}422 423declare <256 x double> @llvm.ve.vl.vgtnc.vvssl(<256 x double>, i64, i64, i32)424 425define void @test_llvm_ve_vl_vgtnc_vvssl(<256 x double> %a, i64 %b, i64 %c, i32 %d) {426; CHECK-LABEL: define void @test_llvm_ve_vl_vgtnc_vvssl(427; CHECK-SAME: <256 x double> [[A:%.*]], i64 [[B:%.*]], i64 [[C:%.*]], i32 [[D:%.*]]) {428; CHECK-NEXT:    ret void429;430  %v = call <256 x double> @llvm.ve.vl.vgtnc.vvssl(<256 x double> %a, i64 %b, i64 %c, i32 %d)431  ret void432}433 434declare <256 x double> @llvm.ve.vl.vgtnc.vvssvl(<256 x double>, i64, i64, <256 x double>, i32)435 436define void @test_llvm_ve_vl_vgtnc_vvssvl(<256 x double> %a, i64 %b, i64 %c, <256 x double> %d, i32 %e) {437; CHECK-LABEL: define void @test_llvm_ve_vl_vgtnc_vvssvl(438; CHECK-SAME: <256 x double> [[A:%.*]], i64 [[B:%.*]], i64 [[C:%.*]], <256 x double> [[D:%.*]], i32 [[E:%.*]]) {439; CHECK-NEXT:    ret void440;441  %v = call <256 x double> @llvm.ve.vl.vgtnc.vvssvl(<256 x double> %a, i64 %b, i64 %c, <256 x double> %d, i32 %e)442  ret void443}444 445declare <256 x double> @llvm.ve.vl.vgtnc.vvssml(<256 x double>, i64, i64, <256 x i1>, i32)446 447define void @test_llvm_ve_vl_vgtnc_vvssml(<256 x double> %a, i64 %b, i64 %c, <256 x i1> %d, i32 %e) {448; CHECK-LABEL: define void @test_llvm_ve_vl_vgtnc_vvssml(449; CHECK-SAME: <256 x double> [[A:%.*]], i64 [[B:%.*]], i64 [[C:%.*]], <256 x i1> [[D:%.*]], i32 [[E:%.*]]) {450; CHECK-NEXT:    ret void451;452  %v = call <256 x double> @llvm.ve.vl.vgtnc.vvssml(<256 x double> %a, i64 %b, i64 %c, <256 x i1> %d, i32 %e)453  ret void454}455 456declare <256 x double> @llvm.ve.vl.vgtnc.vvssmvl(<256 x double>, i64, i64, <256 x i1>, <256 x double>, i32)457 458define void @test_llvm_ve_vl_vgtnc_vvssmvl(<256 x double> %a, i64 %b, i64 %c, <256 x i1> %d, <256 x double> %e, i32 %f) {459; CHECK-LABEL: define void @test_llvm_ve_vl_vgtnc_vvssmvl(460; CHECK-SAME: <256 x double> [[A:%.*]], i64 [[B:%.*]], i64 [[C:%.*]], <256 x i1> [[D:%.*]], <256 x double> [[E:%.*]], i32 [[F:%.*]]) {461; CHECK-NEXT:    ret void462;463  %v = call <256 x double> @llvm.ve.vl.vgtnc.vvssmvl(<256 x double> %a, i64 %b, i64 %c, <256 x i1> %d, <256 x double> %e, i32 %f)464  ret void465}466 467declare <256 x double> @llvm.ve.vl.vgtu.vvssl(<256 x double>, i64, i64, i32)468 469define void @test_llvm_ve_vl_vgtu_vvssl(<256 x double> %a, i64 %b, i64 %c, i32 %d) {470; CHECK-LABEL: define void @test_llvm_ve_vl_vgtu_vvssl(471; CHECK-SAME: <256 x double> [[A:%.*]], i64 [[B:%.*]], i64 [[C:%.*]], i32 [[D:%.*]]) {472; CHECK-NEXT:    ret void473;474  %v = call <256 x double> @llvm.ve.vl.vgtu.vvssl(<256 x double> %a, i64 %b, i64 %c, i32 %d)475  ret void476}477 478declare <256 x double> @llvm.ve.vl.vgtu.vvssvl(<256 x double>, i64, i64, <256 x double>, i32)479 480define void @test_llvm_ve_vl_vgtu_vvssvl(<256 x double> %a, i64 %b, i64 %c, <256 x double> %d, i32 %e) {481; CHECK-LABEL: define void @test_llvm_ve_vl_vgtu_vvssvl(482; CHECK-SAME: <256 x double> [[A:%.*]], i64 [[B:%.*]], i64 [[C:%.*]], <256 x double> [[D:%.*]], i32 [[E:%.*]]) {483; CHECK-NEXT:    ret void484;485  %v = call <256 x double> @llvm.ve.vl.vgtu.vvssvl(<256 x double> %a, i64 %b, i64 %c, <256 x double> %d, i32 %e)486  ret void487}488 489declare <256 x double> @llvm.ve.vl.vgtu.vvssml(<256 x double>, i64, i64, <256 x i1>, i32)490 491define void @test_llvm_ve_vl_vgtu_vvssml(<256 x double> %a, i64 %b, i64 %c, <256 x i1> %d, i32 %e) {492; CHECK-LABEL: define void @test_llvm_ve_vl_vgtu_vvssml(493; CHECK-SAME: <256 x double> [[A:%.*]], i64 [[B:%.*]], i64 [[C:%.*]], <256 x i1> [[D:%.*]], i32 [[E:%.*]]) {494; CHECK-NEXT:    ret void495;496  %v = call <256 x double> @llvm.ve.vl.vgtu.vvssml(<256 x double> %a, i64 %b, i64 %c, <256 x i1> %d, i32 %e)497  ret void498}499 500declare <256 x double> @llvm.ve.vl.vgtu.vvssmvl(<256 x double>, i64, i64, <256 x i1>, <256 x double>, i32)501 502define void @test_llvm_ve_vl_vgtu_vvssmvl(<256 x double> %a, i64 %b, i64 %c, <256 x i1> %d, <256 x double> %e, i32 %f) {503; CHECK-LABEL: define void @test_llvm_ve_vl_vgtu_vvssmvl(504; CHECK-SAME: <256 x double> [[A:%.*]], i64 [[B:%.*]], i64 [[C:%.*]], <256 x i1> [[D:%.*]], <256 x double> [[E:%.*]], i32 [[F:%.*]]) {505; CHECK-NEXT:    ret void506;507  %v = call <256 x double> @llvm.ve.vl.vgtu.vvssmvl(<256 x double> %a, i64 %b, i64 %c, <256 x i1> %d, <256 x double> %e, i32 %f)508  ret void509}510 511declare <256 x double> @llvm.ve.vl.vgtunc.vvssl(<256 x double>, i64, i64, i32)512 513define void @test_llvm_ve_vl_vgtunc_vvssl(<256 x double> %a, i64 %b, i64 %c, i32 %d) {514; CHECK-LABEL: define void @test_llvm_ve_vl_vgtunc_vvssl(515; CHECK-SAME: <256 x double> [[A:%.*]], i64 [[B:%.*]], i64 [[C:%.*]], i32 [[D:%.*]]) {516; CHECK-NEXT:    ret void517;518  %v = call <256 x double> @llvm.ve.vl.vgtunc.vvssl(<256 x double> %a, i64 %b, i64 %c, i32 %d)519  ret void520}521 522declare <256 x double> @llvm.ve.vl.vgtunc.vvssvl(<256 x double>, i64, i64, <256 x double>, i32)523 524define void @test_llvm_ve_vl_vgtunc_vvssvl(<256 x double> %a, i64 %b, i64 %c, <256 x double> %d, i32 %e) {525; CHECK-LABEL: define void @test_llvm_ve_vl_vgtunc_vvssvl(526; CHECK-SAME: <256 x double> [[A:%.*]], i64 [[B:%.*]], i64 [[C:%.*]], <256 x double> [[D:%.*]], i32 [[E:%.*]]) {527; CHECK-NEXT:    ret void528;529  %v = call <256 x double> @llvm.ve.vl.vgtunc.vvssvl(<256 x double> %a, i64 %b, i64 %c, <256 x double> %d, i32 %e)530  ret void531}532 533declare <256 x double> @llvm.ve.vl.vgtunc.vvssml(<256 x double>, i64, i64, <256 x i1>, i32)534 535define void @test_llvm_ve_vl_vgtunc_vvssml(<256 x double> %a, i64 %b, i64 %c, <256 x i1> %d, i32 %e) {536; CHECK-LABEL: define void @test_llvm_ve_vl_vgtunc_vvssml(537; CHECK-SAME: <256 x double> [[A:%.*]], i64 [[B:%.*]], i64 [[C:%.*]], <256 x i1> [[D:%.*]], i32 [[E:%.*]]) {538; CHECK-NEXT:    ret void539;540  %v = call <256 x double> @llvm.ve.vl.vgtunc.vvssml(<256 x double> %a, i64 %b, i64 %c, <256 x i1> %d, i32 %e)541  ret void542}543 544declare <256 x double> @llvm.ve.vl.vgtunc.vvssmvl(<256 x double>, i64, i64, <256 x i1>, <256 x double>, i32)545 546define void @test_llvm_ve_vl_vgtunc_vvssmvl(<256 x double> %a, i64 %b, i64 %c, <256 x i1> %d, <256 x double> %e, i32 %f) {547; CHECK-LABEL: define void @test_llvm_ve_vl_vgtunc_vvssmvl(548; CHECK-SAME: <256 x double> [[A:%.*]], i64 [[B:%.*]], i64 [[C:%.*]], <256 x i1> [[D:%.*]], <256 x double> [[E:%.*]], i32 [[F:%.*]]) {549; CHECK-NEXT:    ret void550;551  %v = call <256 x double> @llvm.ve.vl.vgtunc.vvssmvl(<256 x double> %a, i64 %b, i64 %c, <256 x i1> %d, <256 x double> %e, i32 %f)552  ret void553}554 555declare <256 x double> @llvm.ve.vl.vgtlsx.vvssl(<256 x double>, i64, i64, i32)556 557define void @test_llvm_ve_vl_vgtlsx_vvssl(<256 x double> %a, i64 %b, i64 %c, i32 %d) {558; CHECK-LABEL: define void @test_llvm_ve_vl_vgtlsx_vvssl(559; CHECK-SAME: <256 x double> [[A:%.*]], i64 [[B:%.*]], i64 [[C:%.*]], i32 [[D:%.*]]) {560; CHECK-NEXT:    ret void561;562  %v = call <256 x double> @llvm.ve.vl.vgtlsx.vvssl(<256 x double> %a, i64 %b, i64 %c, i32 %d)563  ret void564}565 566declare <256 x double> @llvm.ve.vl.vgtlsx.vvssvl(<256 x double>, i64, i64, <256 x double>, i32)567 568define void @test_llvm_ve_vl_vgtlsx_vvssvl(<256 x double> %a, i64 %b, i64 %c, <256 x double> %d, i32 %e) {569; CHECK-LABEL: define void @test_llvm_ve_vl_vgtlsx_vvssvl(570; CHECK-SAME: <256 x double> [[A:%.*]], i64 [[B:%.*]], i64 [[C:%.*]], <256 x double> [[D:%.*]], i32 [[E:%.*]]) {571; CHECK-NEXT:    ret void572;573  %v = call <256 x double> @llvm.ve.vl.vgtlsx.vvssvl(<256 x double> %a, i64 %b, i64 %c, <256 x double> %d, i32 %e)574  ret void575}576 577declare <256 x double> @llvm.ve.vl.vgtlsx.vvssml(<256 x double>, i64, i64, <256 x i1>, i32)578 579define void @test_llvm_ve_vl_vgtlsx_vvssml(<256 x double> %a, i64 %b, i64 %c, <256 x i1> %d, i32 %e) {580; CHECK-LABEL: define void @test_llvm_ve_vl_vgtlsx_vvssml(581; CHECK-SAME: <256 x double> [[A:%.*]], i64 [[B:%.*]], i64 [[C:%.*]], <256 x i1> [[D:%.*]], i32 [[E:%.*]]) {582; CHECK-NEXT:    ret void583;584  %v = call <256 x double> @llvm.ve.vl.vgtlsx.vvssml(<256 x double> %a, i64 %b, i64 %c, <256 x i1> %d, i32 %e)585  ret void586}587 588declare <256 x double> @llvm.ve.vl.vgtlsx.vvssmvl(<256 x double>, i64, i64, <256 x i1>, <256 x double>, i32)589 590define void @test_llvm_ve_vl_vgtlsx_vvssmvl(<256 x double> %a, i64 %b, i64 %c, <256 x i1> %d, <256 x double> %e, i32 %f) {591; CHECK-LABEL: define void @test_llvm_ve_vl_vgtlsx_vvssmvl(592; CHECK-SAME: <256 x double> [[A:%.*]], i64 [[B:%.*]], i64 [[C:%.*]], <256 x i1> [[D:%.*]], <256 x double> [[E:%.*]], i32 [[F:%.*]]) {593; CHECK-NEXT:    ret void594;595  %v = call <256 x double> @llvm.ve.vl.vgtlsx.vvssmvl(<256 x double> %a, i64 %b, i64 %c, <256 x i1> %d, <256 x double> %e, i32 %f)596  ret void597}598 599declare <256 x double> @llvm.ve.vl.vgtlsxnc.vvssl(<256 x double>, i64, i64, i32)600 601define void @test_llvm_ve_vl_vgtlsxnc_vvssl(<256 x double> %a, i64 %b, i64 %c, i32 %d) {602; CHECK-LABEL: define void @test_llvm_ve_vl_vgtlsxnc_vvssl(603; CHECK-SAME: <256 x double> [[A:%.*]], i64 [[B:%.*]], i64 [[C:%.*]], i32 [[D:%.*]]) {604; CHECK-NEXT:    ret void605;606  %v = call <256 x double> @llvm.ve.vl.vgtlsxnc.vvssl(<256 x double> %a, i64 %b, i64 %c, i32 %d)607  ret void608}609 610declare <256 x double> @llvm.ve.vl.vgtlsxnc.vvssvl(<256 x double>, i64, i64, <256 x double>, i32)611 612define void @test_llvm_ve_vl_vgtlsxnc_vvssvl(<256 x double> %a, i64 %b, i64 %c, <256 x double> %d, i32 %e) {613; CHECK-LABEL: define void @test_llvm_ve_vl_vgtlsxnc_vvssvl(614; CHECK-SAME: <256 x double> [[A:%.*]], i64 [[B:%.*]], i64 [[C:%.*]], <256 x double> [[D:%.*]], i32 [[E:%.*]]) {615; CHECK-NEXT:    ret void616;617  %v = call <256 x double> @llvm.ve.vl.vgtlsxnc.vvssvl(<256 x double> %a, i64 %b, i64 %c, <256 x double> %d, i32 %e)618  ret void619}620 621declare <256 x double> @llvm.ve.vl.vgtlsxnc.vvssml(<256 x double>, i64, i64, <256 x i1>, i32)622 623define void @test_llvm_ve_vl_vgtlsxnc_vvssml(<256 x double> %a, i64 %b, i64 %c, <256 x i1> %d, i32 %e) {624; CHECK-LABEL: define void @test_llvm_ve_vl_vgtlsxnc_vvssml(625; CHECK-SAME: <256 x double> [[A:%.*]], i64 [[B:%.*]], i64 [[C:%.*]], <256 x i1> [[D:%.*]], i32 [[E:%.*]]) {626; CHECK-NEXT:    ret void627;628  %v = call <256 x double> @llvm.ve.vl.vgtlsxnc.vvssml(<256 x double> %a, i64 %b, i64 %c, <256 x i1> %d, i32 %e)629  ret void630}631 632declare <256 x double> @llvm.ve.vl.vgtlsxnc.vvssmvl(<256 x double>, i64, i64, <256 x i1>, <256 x double>, i32)633 634define void @test_llvm_ve_vl_vgtlsxnc_vvssmvl(<256 x double> %a, i64 %b, i64 %c, <256 x i1> %d, <256 x double> %e, i32 %f) {635; CHECK-LABEL: define void @test_llvm_ve_vl_vgtlsxnc_vvssmvl(636; CHECK-SAME: <256 x double> [[A:%.*]], i64 [[B:%.*]], i64 [[C:%.*]], <256 x i1> [[D:%.*]], <256 x double> [[E:%.*]], i32 [[F:%.*]]) {637; CHECK-NEXT:    ret void638;639  %v = call <256 x double> @llvm.ve.vl.vgtlsxnc.vvssmvl(<256 x double> %a, i64 %b, i64 %c, <256 x i1> %d, <256 x double> %e, i32 %f)640  ret void641}642 643declare <256 x double> @llvm.ve.vl.vgtlzx.vvssl(<256 x double>, i64, i64, i32)644 645define void @test_llvm_ve_vl_vgtlzx_vvssl(<256 x double> %a, i64 %b, i64 %c, i32 %d) {646; CHECK-LABEL: define void @test_llvm_ve_vl_vgtlzx_vvssl(647; CHECK-SAME: <256 x double> [[A:%.*]], i64 [[B:%.*]], i64 [[C:%.*]], i32 [[D:%.*]]) {648; CHECK-NEXT:    ret void649;650  %v = call <256 x double> @llvm.ve.vl.vgtlzx.vvssl(<256 x double> %a, i64 %b, i64 %c, i32 %d)651  ret void652}653 654declare <256 x double> @llvm.ve.vl.vgtlzx.vvssvl(<256 x double>, i64, i64, <256 x double>, i32)655 656define void @test_llvm_ve_vl_vgtlzx_vvssvl(<256 x double> %a, i64 %b, i64 %c, <256 x double> %d, i32 %e) {657; CHECK-LABEL: define void @test_llvm_ve_vl_vgtlzx_vvssvl(658; CHECK-SAME: <256 x double> [[A:%.*]], i64 [[B:%.*]], i64 [[C:%.*]], <256 x double> [[D:%.*]], i32 [[E:%.*]]) {659; CHECK-NEXT:    ret void660;661  %v = call <256 x double> @llvm.ve.vl.vgtlzx.vvssvl(<256 x double> %a, i64 %b, i64 %c, <256 x double> %d, i32 %e)662  ret void663}664 665declare <256 x double> @llvm.ve.vl.vgtlzx.vvssml(<256 x double>, i64, i64, <256 x i1>, i32)666 667define void @test_llvm_ve_vl_vgtlzx_vvssml(<256 x double> %a, i64 %b, i64 %c, <256 x i1> %d, i32 %e) {668; CHECK-LABEL: define void @test_llvm_ve_vl_vgtlzx_vvssml(669; CHECK-SAME: <256 x double> [[A:%.*]], i64 [[B:%.*]], i64 [[C:%.*]], <256 x i1> [[D:%.*]], i32 [[E:%.*]]) {670; CHECK-NEXT:    ret void671;672  %v = call <256 x double> @llvm.ve.vl.vgtlzx.vvssml(<256 x double> %a, i64 %b, i64 %c, <256 x i1> %d, i32 %e)673  ret void674}675 676declare <256 x double> @llvm.ve.vl.vgtlzx.vvssmvl(<256 x double>, i64, i64, <256 x i1>, <256 x double>, i32)677 678define void @test_llvm_ve_vl_vgtlzx_vvssmvl(<256 x double> %a, i64 %b, i64 %c, <256 x i1> %d, <256 x double> %e, i32 %f) {679; CHECK-LABEL: define void @test_llvm_ve_vl_vgtlzx_vvssmvl(680; CHECK-SAME: <256 x double> [[A:%.*]], i64 [[B:%.*]], i64 [[C:%.*]], <256 x i1> [[D:%.*]], <256 x double> [[E:%.*]], i32 [[F:%.*]]) {681; CHECK-NEXT:    ret void682;683  %v = call <256 x double> @llvm.ve.vl.vgtlzx.vvssmvl(<256 x double> %a, i64 %b, i64 %c, <256 x i1> %d, <256 x double> %e, i32 %f)684  ret void685}686 687declare <256 x double> @llvm.ve.vl.vgtlzxnc.vvssl(<256 x double>, i64, i64, i32)688 689define void @test_llvm_ve_vl_vgtlzxnc_vvssl(<256 x double> %a, i64 %b, i64 %c, i32 %d) {690; CHECK-LABEL: define void @test_llvm_ve_vl_vgtlzxnc_vvssl(691; CHECK-SAME: <256 x double> [[A:%.*]], i64 [[B:%.*]], i64 [[C:%.*]], i32 [[D:%.*]]) {692; CHECK-NEXT:    ret void693;694  %v = call <256 x double> @llvm.ve.vl.vgtlzxnc.vvssl(<256 x double> %a, i64 %b, i64 %c, i32 %d)695  ret void696}697 698declare <256 x double> @llvm.ve.vl.vgtlzxnc.vvssvl(<256 x double>, i64, i64, <256 x double>, i32)699 700define void @test_llvm_ve_vl_vgtlzxnc_vvssvl(<256 x double> %a, i64 %b, i64 %c, <256 x double> %d, i32 %e) {701; CHECK-LABEL: define void @test_llvm_ve_vl_vgtlzxnc_vvssvl(702; CHECK-SAME: <256 x double> [[A:%.*]], i64 [[B:%.*]], i64 [[C:%.*]], <256 x double> [[D:%.*]], i32 [[E:%.*]]) {703; CHECK-NEXT:    ret void704;705  %v = call <256 x double> @llvm.ve.vl.vgtlzxnc.vvssvl(<256 x double> %a, i64 %b, i64 %c, <256 x double> %d, i32 %e)706  ret void707}708 709declare <256 x double> @llvm.ve.vl.vgtlzxnc.vvssml(<256 x double>, i64, i64, <256 x i1>, i32)710 711define void @test_llvm_ve_vl_vgtlzxnc_vvssml(<256 x double> %a, i64 %b, i64 %c, <256 x i1> %d, i32 %e) {712; CHECK-LABEL: define void @test_llvm_ve_vl_vgtlzxnc_vvssml(713; CHECK-SAME: <256 x double> [[A:%.*]], i64 [[B:%.*]], i64 [[C:%.*]], <256 x i1> [[D:%.*]], i32 [[E:%.*]]) {714; CHECK-NEXT:    ret void715;716  %v = call <256 x double> @llvm.ve.vl.vgtlzxnc.vvssml(<256 x double> %a, i64 %b, i64 %c, <256 x i1> %d, i32 %e)717  ret void718}719 720declare <256 x double> @llvm.ve.vl.vgtlzxnc.vvssmvl(<256 x double>, i64, i64, <256 x i1>, <256 x double>, i32)721 722define void @test_llvm_ve_vl_vgtlzxnc_vvssmvl(<256 x double> %a, i64 %b, i64 %c, <256 x i1> %d, <256 x double> %e, i32 %f) {723; CHECK-LABEL: define void @test_llvm_ve_vl_vgtlzxnc_vvssmvl(724; CHECK-SAME: <256 x double> [[A:%.*]], i64 [[B:%.*]], i64 [[C:%.*]], <256 x i1> [[D:%.*]], <256 x double> [[E:%.*]], i32 [[F:%.*]]) {725; CHECK-NEXT:    ret void726;727  %v = call <256 x double> @llvm.ve.vl.vgtlzxnc.vvssmvl(<256 x double> %a, i64 %b, i64 %c, <256 x i1> %d, <256 x double> %e, i32 %f)728  ret void729}730