[RISCV][CodeGen] Account for LMUL from VS2 for Vector Reduction Instructions
authorMonk Chiang <monk.chiang@sifive.com>
Thu, 12 Jan 2023 04:59:40 +0000 (20:59 -0800)
committerMonk Chiang <monk.chiang@sifive.com>
Wed, 8 Feb 2023 01:43:23 +0000 (17:43 -0800)
commit781dedba3022c90bd64bd580a5d146d1eea794f4
tree58fc5dbd1c930693f0e721ee923da6e2b7243d32
parentaf128791464810123bcd60a6d9d0902b5c550aef
[RISCV][CodeGen] Account for LMUL from VS2 for Vector Reduction Instructions

The Reduction instruction destination register LMUL is 1. But the source
register(vs2) has different LMUL(MF8 to M8). It's beneficial to know how
many registers are working on reduction instructions.
This patch creates separate SchedWrite for each relevant LMUL that from VS2.

Reviewed By: michaelmaitland

Differential Revision: https://reviews.llvm.org/D141565
llvm/lib/Target/RISCV/RISCVInstrInfoV.td
llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
llvm/lib/Target/RISCV/RISCVScheduleV.td