[PATCH] D93312: [RISCV] Add ISel support for RVV .vx and .vi forms
Fraser Cormack via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Dec 21 11:22:15 PST 2020
frasercrmck marked an inline comment as done.
frasercrmck added inline comments.
================
Comment at: llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td:467
let SEWIndex = 3;
+ let HasDummyMask = 1;
let BaseInstr = !cast<Instruction>(PseudoToVInst<NAME>.VInst);
----------------
craig.topper wrote:
> Why is this changed? The name of the class is NoDummyMask.
I had a rebase conflict at some point and must have resolved it incorrectly. Thanks for spotting this.
================
Comment at: llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td:2186
+foreach vti = AllIntegerVectors in {
+ def : Pat<(vti.Vector (splat_vector GPR:$rs1)),
+ (!cast<Instruction>("PseudoVMV_V_X_" # vti.LMul.MX)
----------------
One thing I'm not sure about is whether or not to keep `splat_vector` and `rv32_splat_i64` patterns separate as I've done here or whether to use the `ComplexPattern`s as root nodes to combine the two. Assuming `rv32_splat_i64` is only generated for RV32/i64 and `splat_vector` isn't created for that case, the result should be the same if a little less clear.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D93312/new/
https://reviews.llvm.org/D93312
More information about the llvm-commits
mailing list