[PATCH] D151790: [RISCV][NFC] Add isF argument to SchedSEWSet

Michael Maitland via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed May 31 21:10:50 PDT 2023


michaelmaitland added inline comments.


================
Comment at: llvm/lib/Target/RISCV/RISCVScheduleV.td:24
+class SchedSEWSet<string mx, bit isF = 0, bit isWidening = 0> {
+  assert !or(!not(isF), !ne(mx, "MF8")), "LMUL shouldn't be MF8 for floating-point";
   defvar t = !cond(!eq(mx, "M1"):  [8, 16, 32, 64],
----------------
craig.topper wrote:
> michaelmaitland wrote:
> > michaelmaitland wrote:
> > > pcwang-thead wrote:
> > > > pcwang-thead wrote:
> > > > > michaelmaitland wrote:
> > > > > > Should we add an assert that LMUL should not be M8 for widening?
> > > > > > Should we add an assert that LMUL should not be M8 for widening?
> > > > > 
> > > > > 
> > > > The scalar operand of reductions can be `M8`, so I think we can't assert that.
> > > What does it mean for a scale operand to be M8? I’m not sure LMUL applies to scalar operands. 
> > > What does it mean for a scale operand to be M8? I’m not sure LMUL applies to scalar operands. 
> > 
> > *Scalar
> The scalar operand is always LMUL=1. But the vector operand of a widening reduction can be LMUL=8 as long at the SEW is less than ELEN. Widening reductions produce a single element result with 2*SEW.
Got it. This change looks good and I have no more questions about this assertion. 


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D151790



More information about the llvm-commits mailing list