brintos

brintos / llvm-project-archived public Read only

0
0
Text · 50.4 KiB · d4d4744 Raw
1498 lines · plain
1; RUN: llc < %s -mtriple=ve -mattr=+vpu | FileCheck %s2 3;;; Test vector store intrinsic instructions4;;;5;;; Note:6;;;   We test VST*rrvl, VST*rrvml, VST*irvl, and VST*irvml instructions.7 8; Function Attrs: nounwind9define void @vst_vssl(ptr %0, i64 %1) {10; CHECK-LABEL: vst_vssl:11; CHECK:       # %bb.0:12; CHECK-NEXT:    lea %s2, 25613; CHECK-NEXT:    lvl %s214; CHECK-NEXT:    vld %v0, %s1, %s015; CHECK-NEXT:    vst %v0, %s1, %s016; CHECK-NEXT:    b.l.t (, %s10)17  %3 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 %1, ptr %0, i32 256)18  tail call void @llvm.ve.vl.vst.vssl(<256 x double> %3, i64 %1, ptr %0, i32 256)19  ret void20}21 22; Function Attrs: nounwind readonly23declare <256 x double> @llvm.ve.vl.vld.vssl(i64, ptr, i32)24 25; Function Attrs: nounwind writeonly26declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, ptr, i32)27 28; Function Attrs: nounwind29define void @vst_vssml(ptr %0, i64 %1) {30; CHECK-LABEL: vst_vssml:31; CHECK:       # %bb.0:32; CHECK-NEXT:    lea %s2, 25633; CHECK-NEXT:    lvl %s234; CHECK-NEXT:    vld %v0, %s1, %s035; CHECK-NEXT:    vst %v0, %s1, %s0, %vm136; CHECK-NEXT:    b.l.t (, %s10)37  %3 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 %1, ptr %0, i32 256)38  tail call void @llvm.ve.vl.vst.vssml(<256 x double> %3, i64 %1, ptr %0, <256 x i1> undef, i32 256)39  ret void40}41 42; Function Attrs: nounwind writeonly43declare void @llvm.ve.vl.vst.vssml(<256 x double>, i64, ptr, <256 x i1>, i32)44 45; Function Attrs: nounwind46define void @vst_vssl_imm(ptr %0) {47; CHECK-LABEL: vst_vssl_imm:48; CHECK:       # %bb.0:49; CHECK-NEXT:    lea %s1, 25650; CHECK-NEXT:    lvl %s151; CHECK-NEXT:    vld %v0, 8, %s052; CHECK-NEXT:    vst %v0, 8, %s053; CHECK-NEXT:    b.l.t (, %s10)54  %2 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 8, ptr %0, i32 256)55  tail call void @llvm.ve.vl.vst.vssl(<256 x double> %2, i64 8, ptr %0, i32 256)56  ret void57}58 59; Function Attrs: nounwind60define void @vst_vssml_imm(ptr %0) {61; CHECK-LABEL: vst_vssml_imm:62; CHECK:       # %bb.0:63; CHECK-NEXT:    lea %s1, 25664; CHECK-NEXT:    lvl %s165; CHECK-NEXT:    vld %v0, 8, %s066; CHECK-NEXT:    vst %v0, 8, %s0, %vm167; CHECK-NEXT:    b.l.t (, %s10)68  %2 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 8, ptr %0, i32 256)69  tail call void @llvm.ve.vl.vst.vssml(<256 x double> %2, i64 8, ptr %0, <256 x i1> undef, i32 256)70  ret void71}72 73; Function Attrs: nounwind74define void @vstnc_vssl(ptr %0, i64 %1) {75; CHECK-LABEL: vstnc_vssl:76; CHECK:       # %bb.0:77; CHECK-NEXT:    lea %s2, 25678; CHECK-NEXT:    lvl %s279; CHECK-NEXT:    vld %v0, %s1, %s080; CHECK-NEXT:    vst.nc %v0, %s1, %s081; CHECK-NEXT:    b.l.t (, %s10)82  %3 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 %1, ptr %0, i32 256)83  tail call void @llvm.ve.vl.vstnc.vssl(<256 x double> %3, i64 %1, ptr %0, i32 256)84  ret void85}86 87; Function Attrs: nounwind writeonly88declare void @llvm.ve.vl.vstnc.vssl(<256 x double>, i64, ptr, i32)89 90; Function Attrs: nounwind91define void @vstnc_vssml(ptr %0, i64 %1) {92; CHECK-LABEL: vstnc_vssml:93; CHECK:       # %bb.0:94; CHECK-NEXT:    lea %s2, 25695; CHECK-NEXT:    lvl %s296; CHECK-NEXT:    vld %v0, %s1, %s097; CHECK-NEXT:    vst.nc %v0, %s1, %s0, %vm198; CHECK-NEXT:    b.l.t (, %s10)99  %3 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 %1, ptr %0, i32 256)100  tail call void @llvm.ve.vl.vstnc.vssml(<256 x double> %3, i64 %1, ptr %0, <256 x i1> undef, i32 256)101  ret void102}103 104; Function Attrs: nounwind writeonly105declare void @llvm.ve.vl.vstnc.vssml(<256 x double>, i64, ptr, <256 x i1>, i32)106 107; Function Attrs: nounwind108define void @vstnc_vssl_imm(ptr %0) {109; CHECK-LABEL: vstnc_vssl_imm:110; CHECK:       # %bb.0:111; CHECK-NEXT:    lea %s1, 256112; CHECK-NEXT:    lvl %s1113; CHECK-NEXT:    vld %v0, 8, %s0114; CHECK-NEXT:    vst.nc %v0, 8, %s0115; CHECK-NEXT:    b.l.t (, %s10)116  %2 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 8, ptr %0, i32 256)117  tail call void @llvm.ve.vl.vstnc.vssl(<256 x double> %2, i64 8, ptr %0, i32 256)118  ret void119}120 121; Function Attrs: nounwind122define void @vstnc_vssml_imm(ptr %0) {123; CHECK-LABEL: vstnc_vssml_imm:124; CHECK:       # %bb.0:125; CHECK-NEXT:    lea %s1, 256126; CHECK-NEXT:    lvl %s1127; CHECK-NEXT:    vld %v0, 8, %s0128; CHECK-NEXT:    vst.nc %v0, 8, %s0, %vm1129; CHECK-NEXT:    b.l.t (, %s10)130  %2 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 8, ptr %0, i32 256)131  tail call void @llvm.ve.vl.vstnc.vssml(<256 x double> %2, i64 8, ptr %0, <256 x i1> undef, i32 256)132  ret void133}134 135; Function Attrs: nounwind136define void @vstot_vssl(ptr %0, i64 %1) {137; CHECK-LABEL: vstot_vssl:138; CHECK:       # %bb.0:139; CHECK-NEXT:    lea %s2, 256140; CHECK-NEXT:    lvl %s2141; CHECK-NEXT:    vld %v0, %s1, %s0142; CHECK-NEXT:    vst.ot %v0, %s1, %s0143; CHECK-NEXT:    b.l.t (, %s10)144  %3 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 %1, ptr %0, i32 256)145  tail call void @llvm.ve.vl.vstot.vssl(<256 x double> %3, i64 %1, ptr %0, i32 256)146  ret void147}148 149; Function Attrs: nounwind writeonly150declare void @llvm.ve.vl.vstot.vssl(<256 x double>, i64, ptr, i32)151 152; Function Attrs: nounwind153define void @vstot_vssml(ptr %0, i64 %1) {154; CHECK-LABEL: vstot_vssml:155; CHECK:       # %bb.0:156; CHECK-NEXT:    lea %s2, 256157; CHECK-NEXT:    lvl %s2158; CHECK-NEXT:    vld %v0, %s1, %s0159; CHECK-NEXT:    vst.ot %v0, %s1, %s0, %vm1160; CHECK-NEXT:    b.l.t (, %s10)161  %3 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 %1, ptr %0, i32 256)162  tail call void @llvm.ve.vl.vstot.vssml(<256 x double> %3, i64 %1, ptr %0, <256 x i1> undef, i32 256)163  ret void164}165 166; Function Attrs: nounwind writeonly167declare void @llvm.ve.vl.vstot.vssml(<256 x double>, i64, ptr, <256 x i1>, i32)168 169; Function Attrs: nounwind170define void @vstot_vssl_imm(ptr %0) {171; CHECK-LABEL: vstot_vssl_imm:172; CHECK:       # %bb.0:173; CHECK-NEXT:    lea %s1, 256174; CHECK-NEXT:    lvl %s1175; CHECK-NEXT:    vld %v0, 8, %s0176; CHECK-NEXT:    vst.ot %v0, 8, %s0177; CHECK-NEXT:    b.l.t (, %s10)178  %2 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 8, ptr %0, i32 256)179  tail call void @llvm.ve.vl.vstot.vssl(<256 x double> %2, i64 8, ptr %0, i32 256)180  ret void181}182 183; Function Attrs: nounwind184define void @vstot_vssml_imm(ptr %0) {185; CHECK-LABEL: vstot_vssml_imm:186; CHECK:       # %bb.0:187; CHECK-NEXT:    lea %s1, 256188; CHECK-NEXT:    lvl %s1189; CHECK-NEXT:    vld %v0, 8, %s0190; CHECK-NEXT:    vst.ot %v0, 8, %s0, %vm1191; CHECK-NEXT:    b.l.t (, %s10)192  %2 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 8, ptr %0, i32 256)193  tail call void @llvm.ve.vl.vstot.vssml(<256 x double> %2, i64 8, ptr %0, <256 x i1> undef, i32 256)194  ret void195}196 197; Function Attrs: nounwind198define void @vstncot_vssl(ptr %0, i64 %1) {199; CHECK-LABEL: vstncot_vssl:200; CHECK:       # %bb.0:201; CHECK-NEXT:    lea %s2, 256202; CHECK-NEXT:    lvl %s2203; CHECK-NEXT:    vld %v0, %s1, %s0204; CHECK-NEXT:    vst.nc.ot %v0, %s1, %s0205; CHECK-NEXT:    b.l.t (, %s10)206  %3 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 %1, ptr %0, i32 256)207  tail call void @llvm.ve.vl.vstncot.vssl(<256 x double> %3, i64 %1, ptr %0, i32 256)208  ret void209}210 211; Function Attrs: nounwind writeonly212declare void @llvm.ve.vl.vstncot.vssl(<256 x double>, i64, ptr, i32)213 214; Function Attrs: nounwind215define void @vstncot_vssml(ptr %0, i64 %1) {216; CHECK-LABEL: vstncot_vssml:217; CHECK:       # %bb.0:218; CHECK-NEXT:    lea %s2, 256219; CHECK-NEXT:    lvl %s2220; CHECK-NEXT:    vld %v0, %s1, %s0221; CHECK-NEXT:    vst.nc.ot %v0, %s1, %s0, %vm1222; CHECK-NEXT:    b.l.t (, %s10)223  %3 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 %1, ptr %0, i32 256)224  tail call void @llvm.ve.vl.vstncot.vssml(<256 x double> %3, i64 %1, ptr %0, <256 x i1> undef, i32 256)225  ret void226}227 228; Function Attrs: nounwind writeonly229declare void @llvm.ve.vl.vstncot.vssml(<256 x double>, i64, ptr, <256 x i1>, i32)230 231; Function Attrs: nounwind232define void @vstncot_vssl_imm(ptr %0) {233; CHECK-LABEL: vstncot_vssl_imm:234; CHECK:       # %bb.0:235; CHECK-NEXT:    lea %s1, 256236; CHECK-NEXT:    lvl %s1237; CHECK-NEXT:    vld %v0, 8, %s0238; CHECK-NEXT:    vst.nc.ot %v0, 8, %s0239; CHECK-NEXT:    b.l.t (, %s10)240  %2 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 8, ptr %0, i32 256)241  tail call void @llvm.ve.vl.vstncot.vssl(<256 x double> %2, i64 8, ptr %0, i32 256)242  ret void243}244 245; Function Attrs: nounwind246define void @vstncot_vssml_imm(ptr %0) {247; CHECK-LABEL: vstncot_vssml_imm:248; CHECK:       # %bb.0:249; CHECK-NEXT:    lea %s1, 256250; CHECK-NEXT:    lvl %s1251; CHECK-NEXT:    vld %v0, 8, %s0252; CHECK-NEXT:    vst.nc.ot %v0, 8, %s0, %vm1253; CHECK-NEXT:    b.l.t (, %s10)254  %2 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 8, ptr %0, i32 256)255  tail call void @llvm.ve.vl.vstncot.vssml(<256 x double> %2, i64 8, ptr %0, <256 x i1> undef, i32 256)256  ret void257}258 259; Function Attrs: nounwind260define void @vstu_vssl(ptr %0, i64 %1) {261; CHECK-LABEL: vstu_vssl:262; CHECK:       # %bb.0:263; CHECK-NEXT:    lea %s2, 256264; CHECK-NEXT:    lvl %s2265; CHECK-NEXT:    vld %v0, %s1, %s0266; CHECK-NEXT:    vstu %v0, %s1, %s0267; CHECK-NEXT:    b.l.t (, %s10)268  %3 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 %1, ptr %0, i32 256)269  tail call void @llvm.ve.vl.vstu.vssl(<256 x double> %3, i64 %1, ptr %0, i32 256)270  ret void271}272 273; Function Attrs: nounwind writeonly274declare void @llvm.ve.vl.vstu.vssl(<256 x double>, i64, ptr, i32)275 276; Function Attrs: nounwind277define void @vstu_vssml(ptr %0, i64 %1) {278; CHECK-LABEL: vstu_vssml:279; CHECK:       # %bb.0:280; CHECK-NEXT:    lea %s2, 256281; CHECK-NEXT:    lvl %s2282; CHECK-NEXT:    vld %v0, %s1, %s0283; CHECK-NEXT:    vstu %v0, %s1, %s0, %vm1284; CHECK-NEXT:    b.l.t (, %s10)285  %3 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 %1, ptr %0, i32 256)286  tail call void @llvm.ve.vl.vstu.vssml(<256 x double> %3, i64 %1, ptr %0, <256 x i1> undef, i32 256)287  ret void288}289 290; Function Attrs: nounwind writeonly291declare void @llvm.ve.vl.vstu.vssml(<256 x double>, i64, ptr, <256 x i1>, i32)292 293; Function Attrs: nounwind294define void @vstu_vssl_imm(ptr %0) {295; CHECK-LABEL: vstu_vssl_imm:296; CHECK:       # %bb.0:297; CHECK-NEXT:    lea %s1, 256298; CHECK-NEXT:    lvl %s1299; CHECK-NEXT:    vld %v0, 8, %s0300; CHECK-NEXT:    vstu %v0, 8, %s0301; CHECK-NEXT:    b.l.t (, %s10)302  %2 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 8, ptr %0, i32 256)303  tail call void @llvm.ve.vl.vstu.vssl(<256 x double> %2, i64 8, ptr %0, i32 256)304  ret void305}306 307; Function Attrs: nounwind308define void @vstu_vssml_imm(ptr %0) {309; CHECK-LABEL: vstu_vssml_imm:310; CHECK:       # %bb.0:311; CHECK-NEXT:    lea %s1, 256312; CHECK-NEXT:    lvl %s1313; CHECK-NEXT:    vld %v0, 8, %s0314; CHECK-NEXT:    vstu %v0, 8, %s0, %vm1315; CHECK-NEXT:    b.l.t (, %s10)316  %2 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 8, ptr %0, i32 256)317  tail call void @llvm.ve.vl.vstu.vssml(<256 x double> %2, i64 8, ptr %0, <256 x i1> undef, i32 256)318  ret void319}320 321; Function Attrs: nounwind322define void @vstunc_vssl(ptr %0, i64 %1) {323; CHECK-LABEL: vstunc_vssl:324; CHECK:       # %bb.0:325; CHECK-NEXT:    lea %s2, 256326; CHECK-NEXT:    lvl %s2327; CHECK-NEXT:    vld %v0, %s1, %s0328; CHECK-NEXT:    vstu.nc %v0, %s1, %s0329; CHECK-NEXT:    b.l.t (, %s10)330  %3 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 %1, ptr %0, i32 256)331  tail call void @llvm.ve.vl.vstunc.vssl(<256 x double> %3, i64 %1, ptr %0, i32 256)332  ret void333}334 335; Function Attrs: nounwind writeonly336declare void @llvm.ve.vl.vstunc.vssl(<256 x double>, i64, ptr, i32)337 338; Function Attrs: nounwind339define void @vstunc_vssml(ptr %0, i64 %1) {340; CHECK-LABEL: vstunc_vssml:341; CHECK:       # %bb.0:342; CHECK-NEXT:    lea %s2, 256343; CHECK-NEXT:    lvl %s2344; CHECK-NEXT:    vld %v0, %s1, %s0345; CHECK-NEXT:    vstu.nc %v0, %s1, %s0, %vm1346; CHECK-NEXT:    b.l.t (, %s10)347  %3 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 %1, ptr %0, i32 256)348  tail call void @llvm.ve.vl.vstunc.vssml(<256 x double> %3, i64 %1, ptr %0, <256 x i1> undef, i32 256)349  ret void350}351 352; Function Attrs: nounwind writeonly353declare void @llvm.ve.vl.vstunc.vssml(<256 x double>, i64, ptr, <256 x i1>, i32)354 355; Function Attrs: nounwind356define void @vstunc_vssl_imm(ptr %0) {357; CHECK-LABEL: vstunc_vssl_imm:358; CHECK:       # %bb.0:359; CHECK-NEXT:    lea %s1, 256360; CHECK-NEXT:    lvl %s1361; CHECK-NEXT:    vld %v0, 8, %s0362; CHECK-NEXT:    vstu.nc %v0, 8, %s0363; CHECK-NEXT:    b.l.t (, %s10)364  %2 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 8, ptr %0, i32 256)365  tail call void @llvm.ve.vl.vstunc.vssl(<256 x double> %2, i64 8, ptr %0, i32 256)366  ret void367}368 369; Function Attrs: nounwind370define void @vstunc_vssml_imm(ptr %0) {371; CHECK-LABEL: vstunc_vssml_imm:372; CHECK:       # %bb.0:373; CHECK-NEXT:    lea %s1, 256374; CHECK-NEXT:    lvl %s1375; CHECK-NEXT:    vld %v0, 8, %s0376; CHECK-NEXT:    vstu.nc %v0, 8, %s0, %vm1377; CHECK-NEXT:    b.l.t (, %s10)378  %2 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 8, ptr %0, i32 256)379  tail call void @llvm.ve.vl.vstunc.vssml(<256 x double> %2, i64 8, ptr %0, <256 x i1> undef, i32 256)380  ret void381}382 383; Function Attrs: nounwind384define void @vstuot_vssl(ptr %0, i64 %1) {385; CHECK-LABEL: vstuot_vssl:386; CHECK:       # %bb.0:387; CHECK-NEXT:    lea %s2, 256388; CHECK-NEXT:    lvl %s2389; CHECK-NEXT:    vld %v0, %s1, %s0390; CHECK-NEXT:    vstu.ot %v0, %s1, %s0391; CHECK-NEXT:    b.l.t (, %s10)392  %3 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 %1, ptr %0, i32 256)393  tail call void @llvm.ve.vl.vstuot.vssl(<256 x double> %3, i64 %1, ptr %0, i32 256)394  ret void395}396 397; Function Attrs: nounwind writeonly398declare void @llvm.ve.vl.vstuot.vssl(<256 x double>, i64, ptr, i32)399 400; Function Attrs: nounwind401define void @vstuot_vssml(ptr %0, i64 %1) {402; CHECK-LABEL: vstuot_vssml:403; CHECK:       # %bb.0:404; CHECK-NEXT:    lea %s2, 256405; CHECK-NEXT:    lvl %s2406; CHECK-NEXT:    vld %v0, %s1, %s0407; CHECK-NEXT:    vstu.ot %v0, %s1, %s0, %vm1408; CHECK-NEXT:    b.l.t (, %s10)409  %3 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 %1, ptr %0, i32 256)410  tail call void @llvm.ve.vl.vstuot.vssml(<256 x double> %3, i64 %1, ptr %0, <256 x i1> undef, i32 256)411  ret void412}413 414; Function Attrs: nounwind writeonly415declare void @llvm.ve.vl.vstuot.vssml(<256 x double>, i64, ptr, <256 x i1>, i32)416 417; Function Attrs: nounwind418define void @vstuot_vssl_imm(ptr %0) {419; CHECK-LABEL: vstuot_vssl_imm:420; CHECK:       # %bb.0:421; CHECK-NEXT:    lea %s1, 256422; CHECK-NEXT:    lvl %s1423; CHECK-NEXT:    vld %v0, 8, %s0424; CHECK-NEXT:    vstu.ot %v0, 8, %s0425; CHECK-NEXT:    b.l.t (, %s10)426  %2 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 8, ptr %0, i32 256)427  tail call void @llvm.ve.vl.vstuot.vssl(<256 x double> %2, i64 8, ptr %0, i32 256)428  ret void429}430 431; Function Attrs: nounwind432define void @vstuot_vssml_imm(ptr %0) {433; CHECK-LABEL: vstuot_vssml_imm:434; CHECK:       # %bb.0:435; CHECK-NEXT:    lea %s1, 256436; CHECK-NEXT:    lvl %s1437; CHECK-NEXT:    vld %v0, 8, %s0438; CHECK-NEXT:    vstu.ot %v0, 8, %s0, %vm1439; CHECK-NEXT:    b.l.t (, %s10)440  %2 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 8, ptr %0, i32 256)441  tail call void @llvm.ve.vl.vstuot.vssml(<256 x double> %2, i64 8, ptr %0, <256 x i1> undef, i32 256)442  ret void443}444 445; Function Attrs: nounwind446define void @vstuncot_vssl(ptr %0, i64 %1) {447; CHECK-LABEL: vstuncot_vssl:448; CHECK:       # %bb.0:449; CHECK-NEXT:    lea %s2, 256450; CHECK-NEXT:    lvl %s2451; CHECK-NEXT:    vld %v0, %s1, %s0452; CHECK-NEXT:    vstu.nc.ot %v0, %s1, %s0453; CHECK-NEXT:    b.l.t (, %s10)454  %3 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 %1, ptr %0, i32 256)455  tail call void @llvm.ve.vl.vstuncot.vssl(<256 x double> %3, i64 %1, ptr %0, i32 256)456  ret void457}458 459; Function Attrs: nounwind writeonly460declare void @llvm.ve.vl.vstuncot.vssl(<256 x double>, i64, ptr, i32)461 462; Function Attrs: nounwind463define void @vstuncot_vssml(ptr %0, i64 %1) {464; CHECK-LABEL: vstuncot_vssml:465; CHECK:       # %bb.0:466; CHECK-NEXT:    lea %s2, 256467; CHECK-NEXT:    lvl %s2468; CHECK-NEXT:    vld %v0, %s1, %s0469; CHECK-NEXT:    vstu.nc.ot %v0, %s1, %s0, %vm1470; CHECK-NEXT:    b.l.t (, %s10)471  %3 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 %1, ptr %0, i32 256)472  tail call void @llvm.ve.vl.vstuncot.vssml(<256 x double> %3, i64 %1, ptr %0, <256 x i1> undef, i32 256)473  ret void474}475 476; Function Attrs: nounwind writeonly477declare void @llvm.ve.vl.vstuncot.vssml(<256 x double>, i64, ptr, <256 x i1>, i32)478 479; Function Attrs: nounwind480define void @vstuncot_vssl_imm(ptr %0) {481; CHECK-LABEL: vstuncot_vssl_imm:482; CHECK:       # %bb.0:483; CHECK-NEXT:    lea %s1, 256484; CHECK-NEXT:    lvl %s1485; CHECK-NEXT:    vld %v0, 8, %s0486; CHECK-NEXT:    vstu.nc.ot %v0, 8, %s0487; CHECK-NEXT:    b.l.t (, %s10)488  %2 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 8, ptr %0, i32 256)489  tail call void @llvm.ve.vl.vstuncot.vssl(<256 x double> %2, i64 8, ptr %0, i32 256)490  ret void491}492 493; Function Attrs: nounwind494define void @vstuncot_vssml_imm(ptr %0) {495; CHECK-LABEL: vstuncot_vssml_imm:496; CHECK:       # %bb.0:497; CHECK-NEXT:    lea %s1, 256498; CHECK-NEXT:    lvl %s1499; CHECK-NEXT:    vld %v0, 8, %s0500; CHECK-NEXT:    vstu.nc.ot %v0, 8, %s0, %vm1501; CHECK-NEXT:    b.l.t (, %s10)502  %2 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 8, ptr %0, i32 256)503  tail call void @llvm.ve.vl.vstuncot.vssml(<256 x double> %2, i64 8, ptr %0, <256 x i1> undef, i32 256)504  ret void505}506 507; Function Attrs: nounwind508define void @vstl_vssl(ptr %0, i64 %1) {509; CHECK-LABEL: vstl_vssl:510; CHECK:       # %bb.0:511; CHECK-NEXT:    lea %s2, 256512; CHECK-NEXT:    lvl %s2513; CHECK-NEXT:    vld %v0, %s1, %s0514; CHECK-NEXT:    vstl %v0, %s1, %s0515; CHECK-NEXT:    b.l.t (, %s10)516  %3 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 %1, ptr %0, i32 256)517  tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %3, i64 %1, ptr %0, i32 256)518  ret void519}520 521; Function Attrs: nounwind writeonly522declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, ptr, i32)523 524; Function Attrs: nounwind525define void @vstl_vssml(ptr %0, i64 %1) {526; CHECK-LABEL: vstl_vssml:527; CHECK:       # %bb.0:528; CHECK-NEXT:    lea %s2, 256529; CHECK-NEXT:    lvl %s2530; CHECK-NEXT:    vld %v0, %s1, %s0531; CHECK-NEXT:    vstl %v0, %s1, %s0, %vm1532; CHECK-NEXT:    b.l.t (, %s10)533  %3 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 %1, ptr %0, i32 256)534  tail call void @llvm.ve.vl.vstl.vssml(<256 x double> %3, i64 %1, ptr %0, <256 x i1> undef, i32 256)535  ret void536}537 538; Function Attrs: nounwind writeonly539declare void @llvm.ve.vl.vstl.vssml(<256 x double>, i64, ptr, <256 x i1>, i32)540 541; Function Attrs: nounwind542define void @vstl_vssl_imm(ptr %0) {543; CHECK-LABEL: vstl_vssl_imm:544; CHECK:       # %bb.0:545; CHECK-NEXT:    lea %s1, 256546; CHECK-NEXT:    lvl %s1547; CHECK-NEXT:    vld %v0, 8, %s0548; CHECK-NEXT:    vstl %v0, 8, %s0549; CHECK-NEXT:    b.l.t (, %s10)550  %2 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 8, ptr %0, i32 256)551  tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %2, i64 8, ptr %0, i32 256)552  ret void553}554 555; Function Attrs: nounwind556define void @vstl_vssml_imm(ptr %0) {557; CHECK-LABEL: vstl_vssml_imm:558; CHECK:       # %bb.0:559; CHECK-NEXT:    lea %s1, 256560; CHECK-NEXT:    lvl %s1561; CHECK-NEXT:    vld %v0, 8, %s0562; CHECK-NEXT:    vstl %v0, 8, %s0, %vm1563; CHECK-NEXT:    b.l.t (, %s10)564  %2 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 8, ptr %0, i32 256)565  tail call void @llvm.ve.vl.vstl.vssml(<256 x double> %2, i64 8, ptr %0, <256 x i1> undef, i32 256)566  ret void567}568 569; Function Attrs: nounwind570define void @vstlnc_vssl(ptr %0, i64 %1) {571; CHECK-LABEL: vstlnc_vssl:572; CHECK:       # %bb.0:573; CHECK-NEXT:    lea %s2, 256574; CHECK-NEXT:    lvl %s2575; CHECK-NEXT:    vld %v0, %s1, %s0576; CHECK-NEXT:    vstl.nc %v0, %s1, %s0577; CHECK-NEXT:    b.l.t (, %s10)578  %3 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 %1, ptr %0, i32 256)579  tail call void @llvm.ve.vl.vstlnc.vssl(<256 x double> %3, i64 %1, ptr %0, i32 256)580  ret void581}582 583; Function Attrs: nounwind writeonly584declare void @llvm.ve.vl.vstlnc.vssl(<256 x double>, i64, ptr, i32)585 586; Function Attrs: nounwind587define void @vstlnc_vssml(ptr %0, i64 %1) {588; CHECK-LABEL: vstlnc_vssml:589; CHECK:       # %bb.0:590; CHECK-NEXT:    lea %s2, 256591; CHECK-NEXT:    lvl %s2592; CHECK-NEXT:    vld %v0, %s1, %s0593; CHECK-NEXT:    vstl.nc %v0, %s1, %s0, %vm1594; CHECK-NEXT:    b.l.t (, %s10)595  %3 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 %1, ptr %0, i32 256)596  tail call void @llvm.ve.vl.vstlnc.vssml(<256 x double> %3, i64 %1, ptr %0, <256 x i1> undef, i32 256)597  ret void598}599 600; Function Attrs: nounwind writeonly601declare void @llvm.ve.vl.vstlnc.vssml(<256 x double>, i64, ptr, <256 x i1>, i32)602 603; Function Attrs: nounwind604define void @vstlnc_vssl_imm(ptr %0) {605; CHECK-LABEL: vstlnc_vssl_imm:606; CHECK:       # %bb.0:607; CHECK-NEXT:    lea %s1, 256608; CHECK-NEXT:    lvl %s1609; CHECK-NEXT:    vld %v0, 8, %s0610; CHECK-NEXT:    vstl.nc %v0, 8, %s0611; CHECK-NEXT:    b.l.t (, %s10)612  %2 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 8, ptr %0, i32 256)613  tail call void @llvm.ve.vl.vstlnc.vssl(<256 x double> %2, i64 8, ptr %0, i32 256)614  ret void615}616 617; Function Attrs: nounwind618define void @vstlnc_vssml_imm(ptr %0) {619; CHECK-LABEL: vstlnc_vssml_imm:620; CHECK:       # %bb.0:621; CHECK-NEXT:    lea %s1, 256622; CHECK-NEXT:    lvl %s1623; CHECK-NEXT:    vld %v0, 8, %s0624; CHECK-NEXT:    vstl.nc %v0, 8, %s0, %vm1625; CHECK-NEXT:    b.l.t (, %s10)626  %2 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 8, ptr %0, i32 256)627  tail call void @llvm.ve.vl.vstlnc.vssml(<256 x double> %2, i64 8, ptr %0, <256 x i1> undef, i32 256)628  ret void629}630 631; Function Attrs: nounwind632define void @vstlot_vssl(ptr %0, i64 %1) {633; CHECK-LABEL: vstlot_vssl:634; CHECK:       # %bb.0:635; CHECK-NEXT:    lea %s2, 256636; CHECK-NEXT:    lvl %s2637; CHECK-NEXT:    vld %v0, %s1, %s0638; CHECK-NEXT:    vstl.ot %v0, %s1, %s0639; CHECK-NEXT:    b.l.t (, %s10)640  %3 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 %1, ptr %0, i32 256)641  tail call void @llvm.ve.vl.vstlot.vssl(<256 x double> %3, i64 %1, ptr %0, i32 256)642  ret void643}644 645; Function Attrs: nounwind writeonly646declare void @llvm.ve.vl.vstlot.vssl(<256 x double>, i64, ptr, i32)647 648; Function Attrs: nounwind649define void @vstlot_vssml(ptr %0, i64 %1) {650; CHECK-LABEL: vstlot_vssml:651; CHECK:       # %bb.0:652; CHECK-NEXT:    lea %s2, 256653; CHECK-NEXT:    lvl %s2654; CHECK-NEXT:    vld %v0, %s1, %s0655; CHECK-NEXT:    vstl.ot %v0, %s1, %s0, %vm1656; CHECK-NEXT:    b.l.t (, %s10)657  %3 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 %1, ptr %0, i32 256)658  tail call void @llvm.ve.vl.vstlot.vssml(<256 x double> %3, i64 %1, ptr %0, <256 x i1> undef, i32 256)659  ret void660}661 662; Function Attrs: nounwind writeonly663declare void @llvm.ve.vl.vstlot.vssml(<256 x double>, i64, ptr, <256 x i1>, i32)664 665; Function Attrs: nounwind666define void @vstlot_vssl_imm(ptr %0) {667; CHECK-LABEL: vstlot_vssl_imm:668; CHECK:       # %bb.0:669; CHECK-NEXT:    lea %s1, 256670; CHECK-NEXT:    lvl %s1671; CHECK-NEXT:    vld %v0, 8, %s0672; CHECK-NEXT:    vstl.ot %v0, 8, %s0673; CHECK-NEXT:    b.l.t (, %s10)674  %2 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 8, ptr %0, i32 256)675  tail call void @llvm.ve.vl.vstlot.vssl(<256 x double> %2, i64 8, ptr %0, i32 256)676  ret void677}678 679; Function Attrs: nounwind680define void @vstlot_vssml_imm(ptr %0) {681; CHECK-LABEL: vstlot_vssml_imm:682; CHECK:       # %bb.0:683; CHECK-NEXT:    lea %s1, 256684; CHECK-NEXT:    lvl %s1685; CHECK-NEXT:    vld %v0, 8, %s0686; CHECK-NEXT:    vstl.ot %v0, 8, %s0, %vm1687; CHECK-NEXT:    b.l.t (, %s10)688  %2 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 8, ptr %0, i32 256)689  tail call void @llvm.ve.vl.vstlot.vssml(<256 x double> %2, i64 8, ptr %0, <256 x i1> undef, i32 256)690  ret void691}692 693; Function Attrs: nounwind694define void @vstlncot_vssl(ptr %0, i64 %1) {695; CHECK-LABEL: vstlncot_vssl:696; CHECK:       # %bb.0:697; CHECK-NEXT:    lea %s2, 256698; CHECK-NEXT:    lvl %s2699; CHECK-NEXT:    vld %v0, %s1, %s0700; CHECK-NEXT:    vstl.nc.ot %v0, %s1, %s0701; CHECK-NEXT:    b.l.t (, %s10)702  %3 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 %1, ptr %0, i32 256)703  tail call void @llvm.ve.vl.vstlncot.vssl(<256 x double> %3, i64 %1, ptr %0, i32 256)704  ret void705}706 707; Function Attrs: nounwind writeonly708declare void @llvm.ve.vl.vstlncot.vssl(<256 x double>, i64, ptr, i32)709 710; Function Attrs: nounwind711define void @vstlncot_vssml(ptr %0, i64 %1) {712; CHECK-LABEL: vstlncot_vssml:713; CHECK:       # %bb.0:714; CHECK-NEXT:    lea %s2, 256715; CHECK-NEXT:    lvl %s2716; CHECK-NEXT:    vld %v0, %s1, %s0717; CHECK-NEXT:    vstl.nc.ot %v0, %s1, %s0, %vm1718; CHECK-NEXT:    b.l.t (, %s10)719  %3 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 %1, ptr %0, i32 256)720  tail call void @llvm.ve.vl.vstlncot.vssml(<256 x double> %3, i64 %1, ptr %0, <256 x i1> undef, i32 256)721  ret void722}723 724; Function Attrs: nounwind writeonly725declare void @llvm.ve.vl.vstlncot.vssml(<256 x double>, i64, ptr, <256 x i1>, i32)726 727; Function Attrs: nounwind728define void @vstlncot_vssl_imm(ptr %0) {729; CHECK-LABEL: vstlncot_vssl_imm:730; CHECK:       # %bb.0:731; CHECK-NEXT:    lea %s1, 256732; CHECK-NEXT:    lvl %s1733; CHECK-NEXT:    vld %v0, 8, %s0734; CHECK-NEXT:    vstl.nc.ot %v0, 8, %s0735; CHECK-NEXT:    b.l.t (, %s10)736  %2 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 8, ptr %0, i32 256)737  tail call void @llvm.ve.vl.vstlncot.vssl(<256 x double> %2, i64 8, ptr %0, i32 256)738  ret void739}740 741; Function Attrs: nounwind742define void @vstlncot_vssml_imm(ptr %0) {743; CHECK-LABEL: vstlncot_vssml_imm:744; CHECK:       # %bb.0:745; CHECK-NEXT:    lea %s1, 256746; CHECK-NEXT:    lvl %s1747; CHECK-NEXT:    vld %v0, 8, %s0748; CHECK-NEXT:    vstl.nc.ot %v0, 8, %s0, %vm1749; CHECK-NEXT:    b.l.t (, %s10)750  %2 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 8, ptr %0, i32 256)751  tail call void @llvm.ve.vl.vstlncot.vssml(<256 x double> %2, i64 8, ptr %0, <256 x i1> undef, i32 256)752  ret void753}754 755; Function Attrs: nounwind756define void @vst2d_vssl(ptr %0, i64 %1) {757; CHECK-LABEL: vst2d_vssl:758; CHECK:       # %bb.0:759; CHECK-NEXT:    lea %s2, 256760; CHECK-NEXT:    lvl %s2761; CHECK-NEXT:    vld %v0, %s1, %s0762; CHECK-NEXT:    vst2d %v0, %s1, %s0763; CHECK-NEXT:    b.l.t (, %s10)764  %3 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 %1, ptr %0, i32 256)765  tail call void @llvm.ve.vl.vst2d.vssl(<256 x double> %3, i64 %1, ptr %0, i32 256)766  ret void767}768 769; Function Attrs: nounwind writeonly770declare void @llvm.ve.vl.vst2d.vssl(<256 x double>, i64, ptr, i32)771 772; Function Attrs: nounwind773define void @vst2d_vssml(ptr %0, i64 %1) {774; CHECK-LABEL: vst2d_vssml:775; CHECK:       # %bb.0:776; CHECK-NEXT:    lea %s2, 256777; CHECK-NEXT:    lvl %s2778; CHECK-NEXT:    vld %v0, %s1, %s0779; CHECK-NEXT:    vst2d %v0, %s1, %s0, %vm1780; CHECK-NEXT:    b.l.t (, %s10)781  %3 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 %1, ptr %0, i32 256)782  tail call void @llvm.ve.vl.vst2d.vssml(<256 x double> %3, i64 %1, ptr %0, <256 x i1> undef, i32 256)783  ret void784}785 786; Function Attrs: nounwind writeonly787declare void @llvm.ve.vl.vst2d.vssml(<256 x double>, i64, ptr, <256 x i1>, i32)788 789; Function Attrs: nounwind790define void @vst2d_vssl_imm(ptr %0) {791; CHECK-LABEL: vst2d_vssl_imm:792; CHECK:       # %bb.0:793; CHECK-NEXT:    lea %s1, 256794; CHECK-NEXT:    lvl %s1795; CHECK-NEXT:    vld %v0, 8, %s0796; CHECK-NEXT:    vst2d %v0, 8, %s0797; CHECK-NEXT:    b.l.t (, %s10)798  %2 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 8, ptr %0, i32 256)799  tail call void @llvm.ve.vl.vst2d.vssl(<256 x double> %2, i64 8, ptr %0, i32 256)800  ret void801}802 803; Function Attrs: nounwind804define void @vst2d_vssml_imm(ptr %0) {805; CHECK-LABEL: vst2d_vssml_imm:806; CHECK:       # %bb.0:807; CHECK-NEXT:    lea %s1, 256808; CHECK-NEXT:    lvl %s1809; CHECK-NEXT:    vld %v0, 8, %s0810; CHECK-NEXT:    vst2d %v0, 8, %s0, %vm1811; CHECK-NEXT:    b.l.t (, %s10)812  %2 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 8, ptr %0, i32 256)813  tail call void @llvm.ve.vl.vst2d.vssml(<256 x double> %2, i64 8, ptr %0, <256 x i1> undef, i32 256)814  ret void815}816 817; Function Attrs: nounwind818define void @vst2dnc_vssl(ptr %0, i64 %1) {819; CHECK-LABEL: vst2dnc_vssl:820; CHECK:       # %bb.0:821; CHECK-NEXT:    lea %s2, 256822; CHECK-NEXT:    lvl %s2823; CHECK-NEXT:    vld %v0, %s1, %s0824; CHECK-NEXT:    vst2d.nc %v0, %s1, %s0825; CHECK-NEXT:    b.l.t (, %s10)826  %3 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 %1, ptr %0, i32 256)827  tail call void @llvm.ve.vl.vst2dnc.vssl(<256 x double> %3, i64 %1, ptr %0, i32 256)828  ret void829}830 831; Function Attrs: nounwind writeonly832declare void @llvm.ve.vl.vst2dnc.vssl(<256 x double>, i64, ptr, i32)833 834; Function Attrs: nounwind835define void @vst2dnc_vssml(ptr %0, i64 %1) {836; CHECK-LABEL: vst2dnc_vssml:837; CHECK:       # %bb.0:838; CHECK-NEXT:    lea %s2, 256839; CHECK-NEXT:    lvl %s2840; CHECK-NEXT:    vld %v0, %s1, %s0841; CHECK-NEXT:    vst2d.nc %v0, %s1, %s0, %vm1842; CHECK-NEXT:    b.l.t (, %s10)843  %3 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 %1, ptr %0, i32 256)844  tail call void @llvm.ve.vl.vst2dnc.vssml(<256 x double> %3, i64 %1, ptr %0, <256 x i1> undef, i32 256)845  ret void846}847 848; Function Attrs: nounwind writeonly849declare void @llvm.ve.vl.vst2dnc.vssml(<256 x double>, i64, ptr, <256 x i1>, i32)850 851; Function Attrs: nounwind852define void @vst2dnc_vssl_imm(ptr %0) {853; CHECK-LABEL: vst2dnc_vssl_imm:854; CHECK:       # %bb.0:855; CHECK-NEXT:    lea %s1, 256856; CHECK-NEXT:    lvl %s1857; CHECK-NEXT:    vld %v0, 8, %s0858; CHECK-NEXT:    vst2d.nc %v0, 8, %s0859; CHECK-NEXT:    b.l.t (, %s10)860  %2 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 8, ptr %0, i32 256)861  tail call void @llvm.ve.vl.vst2dnc.vssl(<256 x double> %2, i64 8, ptr %0, i32 256)862  ret void863}864 865; Function Attrs: nounwind866define void @vst2dnc_vssml_imm(ptr %0) {867; CHECK-LABEL: vst2dnc_vssml_imm:868; CHECK:       # %bb.0:869; CHECK-NEXT:    lea %s1, 256870; CHECK-NEXT:    lvl %s1871; CHECK-NEXT:    vld %v0, 8, %s0872; CHECK-NEXT:    vst2d.nc %v0, 8, %s0, %vm1873; CHECK-NEXT:    b.l.t (, %s10)874  %2 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 8, ptr %0, i32 256)875  tail call void @llvm.ve.vl.vst2dnc.vssml(<256 x double> %2, i64 8, ptr %0, <256 x i1> undef, i32 256)876  ret void877}878 879; Function Attrs: nounwind880define void @vst2dot_vssl(ptr %0, i64 %1) {881; CHECK-LABEL: vst2dot_vssl:882; CHECK:       # %bb.0:883; CHECK-NEXT:    lea %s2, 256884; CHECK-NEXT:    lvl %s2885; CHECK-NEXT:    vld %v0, %s1, %s0886; CHECK-NEXT:    vst2d.ot %v0, %s1, %s0887; CHECK-NEXT:    b.l.t (, %s10)888  %3 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 %1, ptr %0, i32 256)889  tail call void @llvm.ve.vl.vst2dot.vssl(<256 x double> %3, i64 %1, ptr %0, i32 256)890  ret void891}892 893; Function Attrs: nounwind writeonly894declare void @llvm.ve.vl.vst2dot.vssl(<256 x double>, i64, ptr, i32)895 896; Function Attrs: nounwind897define void @vst2dot_vssml(ptr %0, i64 %1) {898; CHECK-LABEL: vst2dot_vssml:899; CHECK:       # %bb.0:900; CHECK-NEXT:    lea %s2, 256901; CHECK-NEXT:    lvl %s2902; CHECK-NEXT:    vld %v0, %s1, %s0903; CHECK-NEXT:    vst2d.ot %v0, %s1, %s0, %vm1904; CHECK-NEXT:    b.l.t (, %s10)905  %3 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 %1, ptr %0, i32 256)906  tail call void @llvm.ve.vl.vst2dot.vssml(<256 x double> %3, i64 %1, ptr %0, <256 x i1> undef, i32 256)907  ret void908}909 910; Function Attrs: nounwind writeonly911declare void @llvm.ve.vl.vst2dot.vssml(<256 x double>, i64, ptr, <256 x i1>, i32)912 913; Function Attrs: nounwind914define void @vst2dot_vssl_imm(ptr %0) {915; CHECK-LABEL: vst2dot_vssl_imm:916; CHECK:       # %bb.0:917; CHECK-NEXT:    lea %s1, 256918; CHECK-NEXT:    lvl %s1919; CHECK-NEXT:    vld %v0, 8, %s0920; CHECK-NEXT:    vst2d.ot %v0, 8, %s0921; CHECK-NEXT:    b.l.t (, %s10)922  %2 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 8, ptr %0, i32 256)923  tail call void @llvm.ve.vl.vst2dot.vssl(<256 x double> %2, i64 8, ptr %0, i32 256)924  ret void925}926 927; Function Attrs: nounwind928define void @vst2dot_vssml_imm(ptr %0) {929; CHECK-LABEL: vst2dot_vssml_imm:930; CHECK:       # %bb.0:931; CHECK-NEXT:    lea %s1, 256932; CHECK-NEXT:    lvl %s1933; CHECK-NEXT:    vld %v0, 8, %s0934; CHECK-NEXT:    vst2d.ot %v0, 8, %s0, %vm1935; CHECK-NEXT:    b.l.t (, %s10)936  %2 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 8, ptr %0, i32 256)937  tail call void @llvm.ve.vl.vst2dot.vssml(<256 x double> %2, i64 8, ptr %0, <256 x i1> undef, i32 256)938  ret void939}940 941; Function Attrs: nounwind942define void @vst2dncot_vssl(ptr %0, i64 %1) {943; CHECK-LABEL: vst2dncot_vssl:944; CHECK:       # %bb.0:945; CHECK-NEXT:    lea %s2, 256946; CHECK-NEXT:    lvl %s2947; CHECK-NEXT:    vld %v0, %s1, %s0948; CHECK-NEXT:    vst2d.nc.ot %v0, %s1, %s0949; CHECK-NEXT:    b.l.t (, %s10)950  %3 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 %1, ptr %0, i32 256)951  tail call void @llvm.ve.vl.vst2dncot.vssl(<256 x double> %3, i64 %1, ptr %0, i32 256)952  ret void953}954 955; Function Attrs: nounwind writeonly956declare void @llvm.ve.vl.vst2dncot.vssl(<256 x double>, i64, ptr, i32)957 958; Function Attrs: nounwind959define void @vst2dncot_vssml(ptr %0, i64 %1) {960; CHECK-LABEL: vst2dncot_vssml:961; CHECK:       # %bb.0:962; CHECK-NEXT:    lea %s2, 256963; CHECK-NEXT:    lvl %s2964; CHECK-NEXT:    vld %v0, %s1, %s0965; CHECK-NEXT:    vst2d.nc.ot %v0, %s1, %s0, %vm1966; CHECK-NEXT:    b.l.t (, %s10)967  %3 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 %1, ptr %0, i32 256)968  tail call void @llvm.ve.vl.vst2dncot.vssml(<256 x double> %3, i64 %1, ptr %0, <256 x i1> undef, i32 256)969  ret void970}971 972; Function Attrs: nounwind writeonly973declare void @llvm.ve.vl.vst2dncot.vssml(<256 x double>, i64, ptr, <256 x i1>, i32)974 975; Function Attrs: nounwind976define void @vst2dncot_vssl_imm(ptr %0) {977; CHECK-LABEL: vst2dncot_vssl_imm:978; CHECK:       # %bb.0:979; CHECK-NEXT:    lea %s1, 256980; CHECK-NEXT:    lvl %s1981; CHECK-NEXT:    vld %v0, 8, %s0982; CHECK-NEXT:    vst2d.nc.ot %v0, 8, %s0983; CHECK-NEXT:    b.l.t (, %s10)984  %2 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 8, ptr %0, i32 256)985  tail call void @llvm.ve.vl.vst2dncot.vssl(<256 x double> %2, i64 8, ptr %0, i32 256)986  ret void987}988 989; Function Attrs: nounwind990define void @vst2dncot_vssml_imm(ptr %0) {991; CHECK-LABEL: vst2dncot_vssml_imm:992; CHECK:       # %bb.0:993; CHECK-NEXT:    lea %s1, 256994; CHECK-NEXT:    lvl %s1995; CHECK-NEXT:    vld %v0, 8, %s0996; CHECK-NEXT:    vst2d.nc.ot %v0, 8, %s0, %vm1997; CHECK-NEXT:    b.l.t (, %s10)998  %2 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 8, ptr %0, i32 256)999  tail call void @llvm.ve.vl.vst2dncot.vssml(<256 x double> %2, i64 8, ptr %0, <256 x i1> undef, i32 256)1000  ret void1001}1002 1003; Function Attrs: nounwind1004define void @vstu2d_vssl(ptr %0, i64 %1) {1005; CHECK-LABEL: vstu2d_vssl:1006; CHECK:       # %bb.0:1007; CHECK-NEXT:    lea %s2, 2561008; CHECK-NEXT:    lvl %s21009; CHECK-NEXT:    vld %v0, %s1, %s01010; CHECK-NEXT:    vstu2d %v0, %s1, %s01011; CHECK-NEXT:    b.l.t (, %s10)1012  %3 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 %1, ptr %0, i32 256)1013  tail call void @llvm.ve.vl.vstu2d.vssl(<256 x double> %3, i64 %1, ptr %0, i32 256)1014  ret void1015}1016 1017; Function Attrs: nounwind writeonly1018declare void @llvm.ve.vl.vstu2d.vssl(<256 x double>, i64, ptr, i32)1019 1020; Function Attrs: nounwind1021define void @vstu2d_vssml(ptr %0, i64 %1) {1022; CHECK-LABEL: vstu2d_vssml:1023; CHECK:       # %bb.0:1024; CHECK-NEXT:    lea %s2, 2561025; CHECK-NEXT:    lvl %s21026; CHECK-NEXT:    vld %v0, %s1, %s01027; CHECK-NEXT:    vstu2d %v0, %s1, %s0, %vm11028; CHECK-NEXT:    b.l.t (, %s10)1029  %3 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 %1, ptr %0, i32 256)1030  tail call void @llvm.ve.vl.vstu2d.vssml(<256 x double> %3, i64 %1, ptr %0, <256 x i1> undef, i32 256)1031  ret void1032}1033 1034; Function Attrs: nounwind writeonly1035declare void @llvm.ve.vl.vstu2d.vssml(<256 x double>, i64, ptr, <256 x i1>, i32)1036 1037; Function Attrs: nounwind1038define void @vstu2d_vssl_imm(ptr %0) {1039; CHECK-LABEL: vstu2d_vssl_imm:1040; CHECK:       # %bb.0:1041; CHECK-NEXT:    lea %s1, 2561042; CHECK-NEXT:    lvl %s11043; CHECK-NEXT:    vld %v0, 8, %s01044; CHECK-NEXT:    vstu2d %v0, 8, %s01045; CHECK-NEXT:    b.l.t (, %s10)1046  %2 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 8, ptr %0, i32 256)1047  tail call void @llvm.ve.vl.vstu2d.vssl(<256 x double> %2, i64 8, ptr %0, i32 256)1048  ret void1049}1050 1051; Function Attrs: nounwind1052define void @vstu2d_vssml_imm(ptr %0) {1053; CHECK-LABEL: vstu2d_vssml_imm:1054; CHECK:       # %bb.0:1055; CHECK-NEXT:    lea %s1, 2561056; CHECK-NEXT:    lvl %s11057; CHECK-NEXT:    vld %v0, 8, %s01058; CHECK-NEXT:    vstu2d %v0, 8, %s0, %vm11059; CHECK-NEXT:    b.l.t (, %s10)1060  %2 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 8, ptr %0, i32 256)1061  tail call void @llvm.ve.vl.vstu2d.vssml(<256 x double> %2, i64 8, ptr %0, <256 x i1> undef, i32 256)1062  ret void1063}1064 1065; Function Attrs: nounwind1066define void @vstu2dnc_vssl(ptr %0, i64 %1) {1067; CHECK-LABEL: vstu2dnc_vssl:1068; CHECK:       # %bb.0:1069; CHECK-NEXT:    lea %s2, 2561070; CHECK-NEXT:    lvl %s21071; CHECK-NEXT:    vld %v0, %s1, %s01072; CHECK-NEXT:    vstu2d.nc %v0, %s1, %s01073; CHECK-NEXT:    b.l.t (, %s10)1074  %3 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 %1, ptr %0, i32 256)1075  tail call void @llvm.ve.vl.vstu2dnc.vssl(<256 x double> %3, i64 %1, ptr %0, i32 256)1076  ret void1077}1078 1079; Function Attrs: nounwind writeonly1080declare void @llvm.ve.vl.vstu2dnc.vssl(<256 x double>, i64, ptr, i32)1081 1082; Function Attrs: nounwind1083define void @vstu2dnc_vssml(ptr %0, i64 %1) {1084; CHECK-LABEL: vstu2dnc_vssml:1085; CHECK:       # %bb.0:1086; CHECK-NEXT:    lea %s2, 2561087; CHECK-NEXT:    lvl %s21088; CHECK-NEXT:    vld %v0, %s1, %s01089; CHECK-NEXT:    vstu2d.nc %v0, %s1, %s0, %vm11090; CHECK-NEXT:    b.l.t (, %s10)1091  %3 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 %1, ptr %0, i32 256)1092  tail call void @llvm.ve.vl.vstu2dnc.vssml(<256 x double> %3, i64 %1, ptr %0, <256 x i1> undef, i32 256)1093  ret void1094}1095 1096; Function Attrs: nounwind writeonly1097declare void @llvm.ve.vl.vstu2dnc.vssml(<256 x double>, i64, ptr, <256 x i1>, i32)1098 1099; Function Attrs: nounwind1100define void @vstu2dnc_vssl_imm(ptr %0) {1101; CHECK-LABEL: vstu2dnc_vssl_imm:1102; CHECK:       # %bb.0:1103; CHECK-NEXT:    lea %s1, 2561104; CHECK-NEXT:    lvl %s11105; CHECK-NEXT:    vld %v0, 8, %s01106; CHECK-NEXT:    vstu2d.nc %v0, 8, %s01107; CHECK-NEXT:    b.l.t (, %s10)1108  %2 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 8, ptr %0, i32 256)1109  tail call void @llvm.ve.vl.vstu2dnc.vssl(<256 x double> %2, i64 8, ptr %0, i32 256)1110  ret void1111}1112 1113; Function Attrs: nounwind1114define void @vstu2dnc_vssml_imm(ptr %0) {1115; CHECK-LABEL: vstu2dnc_vssml_imm:1116; CHECK:       # %bb.0:1117; CHECK-NEXT:    lea %s1, 2561118; CHECK-NEXT:    lvl %s11119; CHECK-NEXT:    vld %v0, 8, %s01120; CHECK-NEXT:    vstu2d.nc %v0, 8, %s0, %vm11121; CHECK-NEXT:    b.l.t (, %s10)1122  %2 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 8, ptr %0, i32 256)1123  tail call void @llvm.ve.vl.vstu2dnc.vssml(<256 x double> %2, i64 8, ptr %0, <256 x i1> undef, i32 256)1124  ret void1125}1126 1127; Function Attrs: nounwind1128define void @vstu2dot_vssl(ptr %0, i64 %1) {1129; CHECK-LABEL: vstu2dot_vssl:1130; CHECK:       # %bb.0:1131; CHECK-NEXT:    lea %s2, 2561132; CHECK-NEXT:    lvl %s21133; CHECK-NEXT:    vld %v0, %s1, %s01134; CHECK-NEXT:    vstu2d.ot %v0, %s1, %s01135; CHECK-NEXT:    b.l.t (, %s10)1136  %3 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 %1, ptr %0, i32 256)1137  tail call void @llvm.ve.vl.vstu2dot.vssl(<256 x double> %3, i64 %1, ptr %0, i32 256)1138  ret void1139}1140 1141; Function Attrs: nounwind writeonly1142declare void @llvm.ve.vl.vstu2dot.vssl(<256 x double>, i64, ptr, i32)1143 1144; Function Attrs: nounwind1145define void @vstu2dot_vssml(ptr %0, i64 %1) {1146; CHECK-LABEL: vstu2dot_vssml:1147; CHECK:       # %bb.0:1148; CHECK-NEXT:    lea %s2, 2561149; CHECK-NEXT:    lvl %s21150; CHECK-NEXT:    vld %v0, %s1, %s01151; CHECK-NEXT:    vstu2d.ot %v0, %s1, %s0, %vm11152; CHECK-NEXT:    b.l.t (, %s10)1153  %3 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 %1, ptr %0, i32 256)1154  tail call void @llvm.ve.vl.vstu2dot.vssml(<256 x double> %3, i64 %1, ptr %0, <256 x i1> undef, i32 256)1155  ret void1156}1157 1158; Function Attrs: nounwind writeonly1159declare void @llvm.ve.vl.vstu2dot.vssml(<256 x double>, i64, ptr, <256 x i1>, i32)1160 1161; Function Attrs: nounwind1162define void @vstu2dot_vssl_imm(ptr %0) {1163; CHECK-LABEL: vstu2dot_vssl_imm:1164; CHECK:       # %bb.0:1165; CHECK-NEXT:    lea %s1, 2561166; CHECK-NEXT:    lvl %s11167; CHECK-NEXT:    vld %v0, 8, %s01168; CHECK-NEXT:    vstu2d.ot %v0, 8, %s01169; CHECK-NEXT:    b.l.t (, %s10)1170  %2 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 8, ptr %0, i32 256)1171  tail call void @llvm.ve.vl.vstu2dot.vssl(<256 x double> %2, i64 8, ptr %0, i32 256)1172  ret void1173}1174 1175; Function Attrs: nounwind1176define void @vstu2dot_vssml_imm(ptr %0) {1177; CHECK-LABEL: vstu2dot_vssml_imm:1178; CHECK:       # %bb.0:1179; CHECK-NEXT:    lea %s1, 2561180; CHECK-NEXT:    lvl %s11181; CHECK-NEXT:    vld %v0, 8, %s01182; CHECK-NEXT:    vstu2d.ot %v0, 8, %s0, %vm11183; CHECK-NEXT:    b.l.t (, %s10)1184  %2 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 8, ptr %0, i32 256)1185  tail call void @llvm.ve.vl.vstu2dot.vssml(<256 x double> %2, i64 8, ptr %0, <256 x i1> undef, i32 256)1186  ret void1187}1188 1189; Function Attrs: nounwind1190define void @vstu2dncot_vssl(ptr %0, i64 %1) {1191; CHECK-LABEL: vstu2dncot_vssl:1192; CHECK:       # %bb.0:1193; CHECK-NEXT:    lea %s2, 2561194; CHECK-NEXT:    lvl %s21195; CHECK-NEXT:    vld %v0, %s1, %s01196; CHECK-NEXT:    vstu2d.nc.ot %v0, %s1, %s01197; CHECK-NEXT:    b.l.t (, %s10)1198  %3 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 %1, ptr %0, i32 256)1199  tail call void @llvm.ve.vl.vstu2dncot.vssl(<256 x double> %3, i64 %1, ptr %0, i32 256)1200  ret void1201}1202 1203; Function Attrs: nounwind writeonly1204declare void @llvm.ve.vl.vstu2dncot.vssl(<256 x double>, i64, ptr, i32)1205 1206; Function Attrs: nounwind1207define void @vstu2dncot_vssml(ptr %0, i64 %1) {1208; CHECK-LABEL: vstu2dncot_vssml:1209; CHECK:       # %bb.0:1210; CHECK-NEXT:    lea %s2, 2561211; CHECK-NEXT:    lvl %s21212; CHECK-NEXT:    vld %v0, %s1, %s01213; CHECK-NEXT:    vstu2d.nc.ot %v0, %s1, %s0, %vm11214; CHECK-NEXT:    b.l.t (, %s10)1215  %3 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 %1, ptr %0, i32 256)1216  tail call void @llvm.ve.vl.vstu2dncot.vssml(<256 x double> %3, i64 %1, ptr %0, <256 x i1> undef, i32 256)1217  ret void1218}1219 1220; Function Attrs: nounwind writeonly1221declare void @llvm.ve.vl.vstu2dncot.vssml(<256 x double>, i64, ptr, <256 x i1>, i32)1222 1223; Function Attrs: nounwind1224define void @vstu2dncot_vssl_imm(ptr %0) {1225; CHECK-LABEL: vstu2dncot_vssl_imm:1226; CHECK:       # %bb.0:1227; CHECK-NEXT:    lea %s1, 2561228; CHECK-NEXT:    lvl %s11229; CHECK-NEXT:    vld %v0, 8, %s01230; CHECK-NEXT:    vstu2d.nc.ot %v0, 8, %s01231; CHECK-NEXT:    b.l.t (, %s10)1232  %2 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 8, ptr %0, i32 256)1233  tail call void @llvm.ve.vl.vstu2dncot.vssl(<256 x double> %2, i64 8, ptr %0, i32 256)1234  ret void1235}1236 1237; Function Attrs: nounwind1238define void @vstu2dncot_vssml_imm(ptr %0) {1239; CHECK-LABEL: vstu2dncot_vssml_imm:1240; CHECK:       # %bb.0:1241; CHECK-NEXT:    lea %s1, 2561242; CHECK-NEXT:    lvl %s11243; CHECK-NEXT:    vld %v0, 8, %s01244; CHECK-NEXT:    vstu2d.nc.ot %v0, 8, %s0, %vm11245; CHECK-NEXT:    b.l.t (, %s10)1246  %2 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 8, ptr %0, i32 256)1247  tail call void @llvm.ve.vl.vstu2dncot.vssml(<256 x double> %2, i64 8, ptr %0, <256 x i1> undef, i32 256)1248  ret void1249}1250 1251; Function Attrs: nounwind1252define void @vstl2d_vssl(ptr %0, i64 %1) {1253; CHECK-LABEL: vstl2d_vssl:1254; CHECK:       # %bb.0:1255; CHECK-NEXT:    lea %s2, 2561256; CHECK-NEXT:    lvl %s21257; CHECK-NEXT:    vld %v0, %s1, %s01258; CHECK-NEXT:    vstl2d %v0, %s1, %s01259; CHECK-NEXT:    b.l.t (, %s10)1260  %3 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 %1, ptr %0, i32 256)1261  tail call void @llvm.ve.vl.vstl2d.vssl(<256 x double> %3, i64 %1, ptr %0, i32 256)1262  ret void1263}1264 1265; Function Attrs: nounwind writeonly1266declare void @llvm.ve.vl.vstl2d.vssl(<256 x double>, i64, ptr, i32)1267 1268; Function Attrs: nounwind1269define void @vstl2d_vssml(ptr %0, i64 %1) {1270; CHECK-LABEL: vstl2d_vssml:1271; CHECK:       # %bb.0:1272; CHECK-NEXT:    lea %s2, 2561273; CHECK-NEXT:    lvl %s21274; CHECK-NEXT:    vld %v0, %s1, %s01275; CHECK-NEXT:    vstl2d %v0, %s1, %s0, %vm11276; CHECK-NEXT:    b.l.t (, %s10)1277  %3 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 %1, ptr %0, i32 256)1278  tail call void @llvm.ve.vl.vstl2d.vssml(<256 x double> %3, i64 %1, ptr %0, <256 x i1> undef, i32 256)1279  ret void1280}1281 1282; Function Attrs: nounwind writeonly1283declare void @llvm.ve.vl.vstl2d.vssml(<256 x double>, i64, ptr, <256 x i1>, i32)1284 1285; Function Attrs: nounwind1286define void @vstl2d_vssl_imm(ptr %0) {1287; CHECK-LABEL: vstl2d_vssl_imm:1288; CHECK:       # %bb.0:1289; CHECK-NEXT:    lea %s1, 2561290; CHECK-NEXT:    lvl %s11291; CHECK-NEXT:    vld %v0, 8, %s01292; CHECK-NEXT:    vstl2d %v0, 8, %s01293; CHECK-NEXT:    b.l.t (, %s10)1294  %2 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 8, ptr %0, i32 256)1295  tail call void @llvm.ve.vl.vstl2d.vssl(<256 x double> %2, i64 8, ptr %0, i32 256)1296  ret void1297}1298 1299; Function Attrs: nounwind1300define void @vstl2d_vssml_imm(ptr %0) {1301; CHECK-LABEL: vstl2d_vssml_imm:1302; CHECK:       # %bb.0:1303; CHECK-NEXT:    lea %s1, 2561304; CHECK-NEXT:    lvl %s11305; CHECK-NEXT:    vld %v0, 8, %s01306; CHECK-NEXT:    vstl2d %v0, 8, %s0, %vm11307; CHECK-NEXT:    b.l.t (, %s10)1308  %2 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 8, ptr %0, i32 256)1309  tail call void @llvm.ve.vl.vstl2d.vssml(<256 x double> %2, i64 8, ptr %0, <256 x i1> undef, i32 256)1310  ret void1311}1312 1313; Function Attrs: nounwind1314define void @vstl2dnc_vssl(ptr %0, i64 %1) {1315; CHECK-LABEL: vstl2dnc_vssl:1316; CHECK:       # %bb.0:1317; CHECK-NEXT:    lea %s2, 2561318; CHECK-NEXT:    lvl %s21319; CHECK-NEXT:    vld %v0, %s1, %s01320; CHECK-NEXT:    vstl2d.nc %v0, %s1, %s01321; CHECK-NEXT:    b.l.t (, %s10)1322  %3 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 %1, ptr %0, i32 256)1323  tail call void @llvm.ve.vl.vstl2dnc.vssl(<256 x double> %3, i64 %1, ptr %0, i32 256)1324  ret void1325}1326 1327; Function Attrs: nounwind writeonly1328declare void @llvm.ve.vl.vstl2dnc.vssl(<256 x double>, i64, ptr, i32)1329 1330; Function Attrs: nounwind1331define void @vstl2dnc_vssml(ptr %0, i64 %1) {1332; CHECK-LABEL: vstl2dnc_vssml:1333; CHECK:       # %bb.0:1334; CHECK-NEXT:    lea %s2, 2561335; CHECK-NEXT:    lvl %s21336; CHECK-NEXT:    vld %v0, %s1, %s01337; CHECK-NEXT:    vstl2d.nc %v0, %s1, %s0, %vm11338; CHECK-NEXT:    b.l.t (, %s10)1339  %3 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 %1, ptr %0, i32 256)1340  tail call void @llvm.ve.vl.vstl2dnc.vssml(<256 x double> %3, i64 %1, ptr %0, <256 x i1> undef, i32 256)1341  ret void1342}1343 1344; Function Attrs: nounwind writeonly1345declare void @llvm.ve.vl.vstl2dnc.vssml(<256 x double>, i64, ptr, <256 x i1>, i32)1346 1347; Function Attrs: nounwind1348define void @vstl2dnc_vssl_imm(ptr %0) {1349; CHECK-LABEL: vstl2dnc_vssl_imm:1350; CHECK:       # %bb.0:1351; CHECK-NEXT:    lea %s1, 2561352; CHECK-NEXT:    lvl %s11353; CHECK-NEXT:    vld %v0, 8, %s01354; CHECK-NEXT:    vstl2d.nc %v0, 8, %s01355; CHECK-NEXT:    b.l.t (, %s10)1356  %2 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 8, ptr %0, i32 256)1357  tail call void @llvm.ve.vl.vstl2dnc.vssl(<256 x double> %2, i64 8, ptr %0, i32 256)1358  ret void1359}1360 1361; Function Attrs: nounwind1362define void @vstl2dnc_vssml_imm(ptr %0) {1363; CHECK-LABEL: vstl2dnc_vssml_imm:1364; CHECK:       # %bb.0:1365; CHECK-NEXT:    lea %s1, 2561366; CHECK-NEXT:    lvl %s11367; CHECK-NEXT:    vld %v0, 8, %s01368; CHECK-NEXT:    vstl2d.nc %v0, 8, %s0, %vm11369; CHECK-NEXT:    b.l.t (, %s10)1370  %2 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 8, ptr %0, i32 256)1371  tail call void @llvm.ve.vl.vstl2dnc.vssml(<256 x double> %2, i64 8, ptr %0, <256 x i1> undef, i32 256)1372  ret void1373}1374 1375; Function Attrs: nounwind1376define void @vstl2dot_vssl(ptr %0, i64 %1) {1377; CHECK-LABEL: vstl2dot_vssl:1378; CHECK:       # %bb.0:1379; CHECK-NEXT:    lea %s2, 2561380; CHECK-NEXT:    lvl %s21381; CHECK-NEXT:    vld %v0, %s1, %s01382; CHECK-NEXT:    vstl2d.ot %v0, %s1, %s01383; CHECK-NEXT:    b.l.t (, %s10)1384  %3 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 %1, ptr %0, i32 256)1385  tail call void @llvm.ve.vl.vstl2dot.vssl(<256 x double> %3, i64 %1, ptr %0, i32 256)1386  ret void1387}1388 1389; Function Attrs: nounwind writeonly1390declare void @llvm.ve.vl.vstl2dot.vssl(<256 x double>, i64, ptr, i32)1391 1392; Function Attrs: nounwind1393define void @vstl2dot_vssml(ptr %0, i64 %1) {1394; CHECK-LABEL: vstl2dot_vssml:1395; CHECK:       # %bb.0:1396; CHECK-NEXT:    lea %s2, 2561397; CHECK-NEXT:    lvl %s21398; CHECK-NEXT:    vld %v0, %s1, %s01399; CHECK-NEXT:    vstl2d.ot %v0, %s1, %s0, %vm11400; CHECK-NEXT:    b.l.t (, %s10)1401  %3 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 %1, ptr %0, i32 256)1402  tail call void @llvm.ve.vl.vstl2dot.vssml(<256 x double> %3, i64 %1, ptr %0, <256 x i1> undef, i32 256)1403  ret void1404}1405 1406; Function Attrs: nounwind writeonly1407declare void @llvm.ve.vl.vstl2dot.vssml(<256 x double>, i64, ptr, <256 x i1>, i32)1408 1409; Function Attrs: nounwind1410define void @vstl2dot_vssl_imm(ptr %0) {1411; CHECK-LABEL: vstl2dot_vssl_imm:1412; CHECK:       # %bb.0:1413; CHECK-NEXT:    lea %s1, 2561414; CHECK-NEXT:    lvl %s11415; CHECK-NEXT:    vld %v0, 8, %s01416; CHECK-NEXT:    vstl2d.ot %v0, 8, %s01417; CHECK-NEXT:    b.l.t (, %s10)1418  %2 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 8, ptr %0, i32 256)1419  tail call void @llvm.ve.vl.vstl2dot.vssl(<256 x double> %2, i64 8, ptr %0, i32 256)1420  ret void1421}1422 1423; Function Attrs: nounwind1424define void @vstl2dot_vssml_imm(ptr %0) {1425; CHECK-LABEL: vstl2dot_vssml_imm:1426; CHECK:       # %bb.0:1427; CHECK-NEXT:    lea %s1, 2561428; CHECK-NEXT:    lvl %s11429; CHECK-NEXT:    vld %v0, 8, %s01430; CHECK-NEXT:    vstl2d.ot %v0, 8, %s0, %vm11431; CHECK-NEXT:    b.l.t (, %s10)1432  %2 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 8, ptr %0, i32 256)1433  tail call void @llvm.ve.vl.vstl2dot.vssml(<256 x double> %2, i64 8, ptr %0, <256 x i1> undef, i32 256)1434  ret void1435}1436 1437; Function Attrs: nounwind1438define void @vstl2dncot_vssl(ptr %0, i64 %1) {1439; CHECK-LABEL: vstl2dncot_vssl:1440; CHECK:       # %bb.0:1441; CHECK-NEXT:    lea %s2, 2561442; CHECK-NEXT:    lvl %s21443; CHECK-NEXT:    vld %v0, %s1, %s01444; CHECK-NEXT:    vstl2d.nc.ot %v0, %s1, %s01445; CHECK-NEXT:    b.l.t (, %s10)1446  %3 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 %1, ptr %0, i32 256)1447  tail call void @llvm.ve.vl.vstl2dncot.vssl(<256 x double> %3, i64 %1, ptr %0, i32 256)1448  ret void1449}1450 1451; Function Attrs: nounwind writeonly1452declare void @llvm.ve.vl.vstl2dncot.vssl(<256 x double>, i64, ptr, i32)1453 1454; Function Attrs: nounwind1455define void @vstl2dncot_vssml(ptr %0, i64 %1) {1456; CHECK-LABEL: vstl2dncot_vssml:1457; CHECK:       # %bb.0:1458; CHECK-NEXT:    lea %s2, 2561459; CHECK-NEXT:    lvl %s21460; CHECK-NEXT:    vld %v0, %s1, %s01461; CHECK-NEXT:    vstl2d.nc.ot %v0, %s1, %s0, %vm11462; CHECK-NEXT:    b.l.t (, %s10)1463  %3 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 %1, ptr %0, i32 256)1464  tail call void @llvm.ve.vl.vstl2dncot.vssml(<256 x double> %3, i64 %1, ptr %0, <256 x i1> undef, i32 256)1465  ret void1466}1467 1468; Function Attrs: nounwind writeonly1469declare void @llvm.ve.vl.vstl2dncot.vssml(<256 x double>, i64, ptr, <256 x i1>, i32)1470 1471; Function Attrs: nounwind1472define void @vstl2dncot_vssl_imm(ptr %0) {1473; CHECK-LABEL: vstl2dncot_vssl_imm:1474; CHECK:       # %bb.0:1475; CHECK-NEXT:    lea %s1, 2561476; CHECK-NEXT:    lvl %s11477; CHECK-NEXT:    vld %v0, 8, %s01478; CHECK-NEXT:    vstl2d.nc.ot %v0, 8, %s01479; CHECK-NEXT:    b.l.t (, %s10)1480  %2 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 8, ptr %0, i32 256)1481  tail call void @llvm.ve.vl.vstl2dncot.vssl(<256 x double> %2, i64 8, ptr %0, i32 256)1482  ret void1483}1484 1485; Function Attrs: nounwind1486define void @vstl2dncot_vssml_imm(ptr %0) {1487; CHECK-LABEL: vstl2dncot_vssml_imm:1488; CHECK:       # %bb.0:1489; CHECK-NEXT:    lea %s1, 2561490; CHECK-NEXT:    lvl %s11491; CHECK-NEXT:    vld %v0, 8, %s01492; CHECK-NEXT:    vstl2d.nc.ot %v0, 8, %s0, %vm11493; CHECK-NEXT:    b.l.t (, %s10)1494  %2 = tail call fast <256 x double> @llvm.ve.vl.vld.vssl(i64 8, ptr %0, i32 256)1495  tail call void @llvm.ve.vl.vstl2dncot.vssml(<256 x double> %2, i64 8, ptr %0, <256 x i1> undef, i32 256)1496  ret void1497}1498