[llvm] [RISCV][GISel] Use CCValAssign::getCustomReg for converting f16/f32<->GPR. (PR #105700)
Matt Arsenault via llvm-commits
llvm-commits at lists.llvm.org
Thu Aug 22 11:05:34 PDT 2024
arsenm wrote:
> Unfortunately, IRTranslator for bitcast still generates copies between register classes of different sizes. Because of this we can't handle i16<->f16 bitcasts without crashing. Not sure if I should teach RISCVInstrInfo::copyPhysReg to allow copies between FPR16 and GPR or if I should convert the copies to instructions in GISel.
What kind of code is required to emit such a copy? I'd assume that could be directly handled in copyPhysReg.
As as a side note, it's deeply annoying that the CC lowering code operates on legalized types and not the raw IR type
https://github.com/llvm/llvm-project/pull/105700
More information about the llvm-commits
mailing list