================
@@ -133,10 +133,16 @@ void RISCVInstPrinter::printCSRSystemRegister(const
MCInst *MI, unsigned OpNo,
raw_ostream &O) {
unsigned Imm = MI->getOperand(OpNo).getImm();
auto Range = RISCVSysReg::lookupSysRegByEncoding(Imm);
+ bool PreferFeatureSpecific = llvm::any_of(Range, [&](const auto &Reg) {
----------------
lenary wrote:
I think i'd have to do a deeper dive on this specific case.
Broadly: `sf.mscratchcsw` was upstreamed by me, to support the sifive CLIC
implementation, which I think was based on an early draft of what's trying to
be standardised by fast interrupts. It is in a standard part of the CSR
encodings, despite being a vendor name. I would have to closely read the fast
interrupts spec to see where the rename came from and whether it came with a
change of meaning.
So maybe this actually is an altname or a deprecated name, I'm not sure.
That said, it's also referenced in the sifive codegen for interrupts, and I
don't recall if the alt/deprecated names make it into the enum used by codegen.
I think your change probably is reasonable anyway, and maybe the quickest and
easiest way to support the new version of the fast interrupts spec, and future
places where we have collisions.
/cc @topperc @kito-cheng who might have an opinion here.
https://github.com/llvm/llvm-project/pull/211712
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits