[PATCH] D93705: [RISCV] Define vector mask-register logical intrinsics.
Craig Topper via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Dec 22 09:59:27 PST 2020
craig.topper added inline comments.
================
Comment at: llvm/include/llvm/IR/IntrinsicsRISCV.td:198
+ // Input: (vl)
+ class RISCVNullaryNoMask
+ : Intrinsic<[llvm_anyvector_ty],
----------------
This isn't used.
================
Comment at: llvm/include/llvm/IR/IntrinsicsRISCV.td:569
+ def int_riscv_vmand: RISCVBinaryAAXNoMask;
+ def int_riscv_vmnand: RISCVBinaryAAXNoMask;
----------------
This should be AAA not AAX. The second argument is the same as the result.
================
Comment at: llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td:180
+ ValueType Mask = Mas;
+ int SEW = Sew;
+ LMULInfo LMul = M;
----------------
Can you add the comments to these that appear in our downstream repo?
================
Comment at: llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td:192
+ def : MTypeInfo<vbool2_t, 8, V_M4>;
+ def : MTypeInfo<vbool1_t, 8, V_M1>;
+}
----------------
This line has M8 in our downstream repo.
================
Comment at: llvm/test/CodeGen/RISCV/rvv/vmand-rv32.ll:3
+; RUN: --riscv-no-aliases < %s | FileCheck %s
+declare <vscale x 1 x i1> @llvm.riscv.vmand.nxv1i1.nxv1i1(
+ <vscale x 1 x i1>,
----------------
We shouldn't need to say nxv1i1 twice. This will be fixed by using AAA instead of AAX in the Intrinsics file
================
Comment at: llvm/test/CodeGen/RISCV/rvv/vmand-rv32.ll:73
+ ret <vscale x 8 x i1> %a
+}
----------------
Why does the test only go up to v8i1? Aren't there isel patterns for v16i1/v32i1/v64i1 as well?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D93705/new/
https://reviews.llvm.org/D93705
More information about the llvm-commits
mailing list