brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.2 KiB · 9560249 Raw
61 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 22; RUN: sed 's/iXLen/i32/g' %s | llc -mtriple=riscv32 -mattr=+v -verify-machineinstrs | FileCheck %s3; RUN: sed 's/iXLen/i64/g' %s | llc -mtriple=riscv64 -mattr=+v -verify-machineinstrs | FileCheck %s4 5define <vscale x 4 x i32> @vrgather(<vscale x 4 x i32> %passthru, <vscale x 4 x i32> %a, <vscale x 4 x i32> %b, iXLen %vl1, iXLen %vl2) {6; CHECK-LABEL: vrgather:7; CHECK:       # %bb.0:8; CHECK-NEXT:    vsetvli a1, zero, e32, m2, ta, ma9; CHECK-NEXT:    vadd.vv v12, v10, v1210; CHECK-NEXT:    vsetvli zero, a0, e32, m2, ta, ma11; CHECK-NEXT:    vrgather.vv v8, v12, v1012; CHECK-NEXT:    ret13  %v = add <vscale x 4 x i32> %a, %b14  %w = call <vscale x 4 x i32> @llvm.riscv.vrgather.vv.nxv4i32.iXLen(15    <vscale x 4 x i32> poison,16    <vscale x 4 x i32> %v,17    <vscale x 4 x i32> %a,18    iXLen %vl1)19 20  ret <vscale x 4 x i32> %w21}22 23define <vscale x 4 x i32> @vslidedown(<vscale x 4 x i32> %0, <vscale x 4 x i32> %1, iXLen %2, <vscale x 4 x i32> %a, <vscale x 4 x i32> %b) nounwind {24; CHECK-LABEL: vslidedown:25; CHECK:       # %bb.0: # %entry26; CHECK-NEXT:    vsetvli a1, zero, e32, m2, ta, ma27; CHECK-NEXT:    vadd.vv v10, v12, v1428; CHECK-NEXT:    vsetvli zero, a0, e32, m2, ta, ma29; CHECK-NEXT:    vslidedown.vx v8, v10, a030; CHECK-NEXT:    ret31entry:32  %v = add <vscale x 4 x i32> %a, %b33  %w = call <vscale x 4 x i32> @llvm.riscv.vslidedown.nxv4i32(34    <vscale x 4 x i32> %0,35    <vscale x 4 x i32> %v,36    iXLen %2,37    iXLen %2,38    iXLen 1)39 40  ret <vscale x 4 x i32> %w41}42 43define <vscale x 4 x i32> @vslide1down(<vscale x 4 x i32> %0, i32 %1, iXLen %2, <vscale x 4 x i32> %a, <vscale x 4 x i32> %b) nounwind {44; CHECK-LABEL: vslide1down:45; CHECK:       # %bb.0: # %entry46; CHECK-NEXT:    vsetvli a2, zero, e32, m2, ta, ma47; CHECK-NEXT:    vadd.vv v8, v10, v1248; CHECK-NEXT:    vsetvli zero, a1, e32, m2, ta, ma49; CHECK-NEXT:    vslide1down.vx v8, v8, a050; CHECK-NEXT:    ret51entry:52  %v = add <vscale x 4 x i32> %a, %b53  %w = call <vscale x 4 x i32> @llvm.riscv.vslide1down.nxv4i32.i32(54    <vscale x 4 x i32> poison,55    <vscale x 4 x i32> %v,56    i32 %1,57    iXLen %2)58 59  ret <vscale x 4 x i32> %w60}61