[llvm] [PowerPC] Add a set of extended mnemonics that are missing from Power 10. (PR #73003)
Nemanja Ivanovic via llvm-commits
llvm-commits at lists.llvm.org
Sun Nov 26 12:15:09 PST 2023
================
@@ -575,33 +575,54 @@ class XForm_XT5_BI5<bits<6> opcode, bits<10> xo, dag OOL, dag IOL,
}
multiclass MLS_DForm_R_SI34_RTA5_MEM_p<bits<6> opcode, dag OOL, dag IOL,
- dag PCRel_IOL, string asmstr,
+ dag PCRel_IOL, dag PCRelOnly_IOL,
+ string asmstr, string asmstrpc,
InstrItinClass itin> {
def NAME : MLS_DForm_R_SI34_RTA5_MEM<opcode, OOL, IOL,
!strconcat(asmstr, ", 0"), itin, []>;
def pc : MLS_DForm_R_SI34_RTA5_MEM<opcode, OOL, PCRel_IOL,
!strconcat(asmstr, ", 1"), itin, []>,
isPCRel;
+ let isAsmParserOnly = 1, hasNoSchedulingInfo = 1 in {
+ def nopc : MLS_DForm_R_SI34_RTA5_MEM<opcode, OOL, IOL, asmstr, itin, []>;
+ let RA = 0 in
+ def onlypc : MLS_DForm_R_SI34_RTA5_MEM<opcode, OOL, PCRelOnly_IOL,
+ asmstrpc, itin, []>, isPCRel;
+ }
}
multiclass 8LS_DForm_R_SI34_RTA5_MEM_p<bits<6> opcode, dag OOL, dag IOL,
- dag PCRel_IOL, string asmstr,
+ dag PCRel_IOL, dag PCRelOnly_IOL,
+ string asmstr, string asmstrpc,
----------------
nemanjai wrote:
I'm not crazy about the name `asmstrpc` since this multiclass defines 4 instructions (2 non-pcrel and 2 pcrel) and we use `asmstrpc` for only one of the pcrel ones. Perhaps `asmstr_pcext` because this is for the extended mnemonics.
https://github.com/llvm/llvm-project/pull/73003
More information about the llvm-commits
mailing list