brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.6 KiB · 97ef0cf Raw
90 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc -mtriple riscv32 -mattr=+v %s -o - \3; RUN:     -verify-machineinstrs | FileCheck %s4; RUN: llc -mtriple riscv64 -mattr=+v %s -o - \5; RUN:     -verify-machineinstrs | FileCheck %s6 7define void @test_load_mask_64(ptr %pa, ptr %pb) {8; CHECK-LABEL: test_load_mask_64:9; CHECK:       # %bb.0:10; CHECK-NEXT:    vsetvli a2, zero, e8, m8, ta, ma11; CHECK-NEXT:    vlm.v v8, (a0)12; CHECK-NEXT:    vsm.v v8, (a1)13; CHECK-NEXT:    ret14  %a = load <vscale x 64 x i1>, ptr %pa15  store <vscale x 64 x i1> %a, ptr %pb16  ret void17}18 19define void @test_load_mask_32(ptr %pa, ptr %pb) {20; CHECK-LABEL: test_load_mask_32:21; CHECK:       # %bb.0:22; CHECK-NEXT:    vsetvli a2, zero, e8, m4, ta, ma23; CHECK-NEXT:    vlm.v v8, (a0)24; CHECK-NEXT:    vsm.v v8, (a1)25; CHECK-NEXT:    ret26  %a = load <vscale x 32 x i1>, ptr %pa27  store <vscale x 32 x i1> %a, ptr %pb28  ret void29}30 31define void @test_load_mask_16(ptr %pa, ptr %pb) {32; CHECK-LABEL: test_load_mask_16:33; CHECK:       # %bb.0:34; CHECK-NEXT:    vsetvli a2, zero, e8, m2, ta, ma35; CHECK-NEXT:    vlm.v v8, (a0)36; CHECK-NEXT:    vsm.v v8, (a1)37; CHECK-NEXT:    ret38  %a = load <vscale x 16 x i1>, ptr %pa39  store <vscale x 16 x i1> %a, ptr %pb40  ret void41}42 43define void @test_load_mask_8(ptr %pa, ptr %pb) {44; CHECK-LABEL: test_load_mask_8:45; CHECK:       # %bb.0:46; CHECK-NEXT:    vsetvli a2, zero, e8, m1, ta, ma47; CHECK-NEXT:    vlm.v v8, (a0)48; CHECK-NEXT:    vsm.v v8, (a1)49; CHECK-NEXT:    ret50  %a = load <vscale x 8 x i1>, ptr %pa51  store <vscale x 8 x i1> %a, ptr %pb52  ret void53}54 55define void @test_load_mask_4(ptr %pa, ptr %pb) {56; CHECK-LABEL: test_load_mask_4:57; CHECK:       # %bb.0:58; CHECK-NEXT:    vsetvli a2, zero, e8, mf2, ta, ma59; CHECK-NEXT:    vlm.v v8, (a0)60; CHECK-NEXT:    vsm.v v8, (a1)61; CHECK-NEXT:    ret62  %a = load <vscale x 4 x i1>, ptr %pa63  store <vscale x 4 x i1> %a, ptr %pb64  ret void65}66 67define void @test_load_mask_2(ptr %pa, ptr %pb) {68; CHECK-LABEL: test_load_mask_2:69; CHECK:       # %bb.0:70; CHECK-NEXT:    vsetvli a2, zero, e8, mf4, ta, ma71; CHECK-NEXT:    vlm.v v8, (a0)72; CHECK-NEXT:    vsm.v v8, (a1)73; CHECK-NEXT:    ret74  %a = load <vscale x 2 x i1>, ptr %pa75  store <vscale x 2 x i1> %a, ptr %pb76  ret void77}78 79define void @test_load_mask_1(ptr %pa, ptr %pb) {80; CHECK-LABEL: test_load_mask_1:81; CHECK:       # %bb.0:82; CHECK-NEXT:    vsetvli a2, zero, e8, mf8, ta, ma83; CHECK-NEXT:    vlm.v v8, (a0)84; CHECK-NEXT:    vsm.v v8, (a1)85; CHECK-NEXT:    ret86  %a = load <vscale x 1 x i1>, ptr %pa87  store <vscale x 1 x i1> %a, ptr %pb88  ret void89}90