[PATCH] D117670: [RISCV] Support matching 'VF' VL patterns via SPLAT_VECTOR

Craig Topper via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 19 14:31:07 PST 2022


craig.topper added inline comments.


================
Comment at: llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td:261
 // Ignore the vl operand.
 def SplatFPOp : PatFrag<(ops node:$op),
                         (riscv_vfmv_v_f_vl node:$op, srcvalue)>;
----------------
frasercrmck wrote:
> There's still one use of this to match `VSELECT_VL` with `fpimm0`. Is there a way to use `SplatFPPat` but ensure it matches only `fpimm0`? Must it be its own `ComplexPattern`?
I can't think of any way to do it. You could inline this into the one use and add the second pattern for the other case. Then we don't have a single use complex pattern. That's a larger generated table size for two patterns for every FP type, but maybe a drop in the bucket compared to the size of the whole table.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D117670/new/

https://reviews.llvm.org/D117670



More information about the llvm-commits mailing list