Create SchedWrites, WriteRes for reduction instructions that
are SEW specific. Future patches can use these resources
to customize the behavior of these resources depending on SEW.
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td | ||
---|---|---|
3195–3196 | As a side note, are both of these records supposed to set isCommutable? It is unclear because formatting was committed incorrectly. In either case I can fix braces and/or formatting in another patch. |
llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td | ||
---|---|---|
3467–3472 | We would need to do this for all widening instructions, not just reductions? Same for narrowing instructions shouldn't contain the smallest SEW? |
llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td | ||
---|---|---|
3467–3472 | SEW is the destination for narrowing instructions. SEW=64 can never be the destination of a narrowing instruction. Do we use SEWSet on any widening or narrowing instructions other than reductions? |
llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td | ||
---|---|---|
3467–3472 | Yes, we do. Let me put together another patch that fixes this for all widening and narrowing instructions. |
llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td | ||
---|---|---|
3467–3472 | I take the back. We do not use SEWSet on any other widening or narrowing instructions. I will make the fix in this patch. |
As a side note, are both of these records supposed to set isCommutable? It is unclear because formatting was committed incorrectly. In either case I can fix braces and/or formatting in another patch.