[llvm] [RISCV] Split convert to FP pseudos by SEW (PR #88568)
Michael Maitland via llvm-commits
llvm-commits at lists.llvm.org
Mon Apr 15 07:48:41 PDT 2024
================
@@ -17674,6 +17673,85 @@ static MachineBasicBlock *emitVFROUND_NOEXCEPT_MASK(MachineInstr &MI,
/*IsImp*/ true));
// Emit a VFCVT_F_X
+ RISCVII::VLMUL LMul = RISCVII::getLMul(MI.getDesc().TSFlags);
+ unsigned Log2SEW = MI.getOperand(RISCVII::getSEWOpNum(MI.getDesc())).getImm();
+ // There is no E8 variant for VFCVT_F_X.
+ assert(Log2SEW >= 4);
+ // Since MI (VFROUND) isn't SEW specific, we cannot use a macro to make
+ // handling of different (LMUL, SEW) pairs easier because we need to pull the
+ // SEW immediate from MI, and that information is not avaliable during macro
+ // expansion.
+ unsigned CVTFOpc;
+ if (Log2SEW == 4) {
+ switch (LMul) {
----------------
michaelmaitland wrote:
https://github.com/llvm/llvm-project/pull/88742
https://github.com/llvm/llvm-project/pull/88568
More information about the llvm-commits
mailing list