<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
I'd like to know how this <span>enum is generated</span></div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<span><br>
</span></div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<span>MatchClassKind {<br>
</span>
<div>  InvalidMatchClass = 0,<br>
</div>
<div>  OptionalMatchClass = 1,<br>
</div>
<div>  MCK__MINUS_1, // '-1'<br>
</div>
<div>  MCK_0, // '0'<br>
</div>
<div>  MCK_1, // '1'<br>
</div>
<div>  MCK_R0, // 'R0'<br>
</div>
<div>  MCK_LAST_TOKEN = MCK_R0,<br>
</div>
<div>  MCK_CRegs, // register class 'CRegs'<br>
</div>
<div>  MCK_NRegs, // register class 'NRegs'<br>
</div>
<div>  MCK_ORegs, // register class 'ORegs'<br>
</div>
<div>  MCK_RA, // register class 'RA'<br>
</div>
<div>  MCK_SRegs, // register class 'SRegs'<br>
</div>
<div>  MCK_ZRegs, // register class 'ZRegs'<br>
</div>
<div>  MCK_CPURegs, // register class 'CPURegs'<br>
</div>
<div>  MCK_LAST_REGISTER = MCK_CPURegs,<br>
</div>
<div>  MCK_Imm, // user defined class 'ImmAsmOperand'<br>
</div>
<div>  NumMatchClassKinds<br>
</div>
<div>};</div>
<div><br>
</div>
<div>I do not recognize register class RA. I do have a register named RA but it's not a class.</div>
<div><br>
</div>
<div>Here is an excerpt from my XXXRegisterInfo.td with all the reg classes definitions<br>
</div>
<div><br>
</div>
<div><span>def CPURegs : RegisterClass< ...<br>
</span>
<div><br>
</div>
<div>def CRegs : RegisterClass<...</div>
<div><br>
</div>
<div>def ORegs : RegisterClass<...</div>
<div><br>
</div>
<div>def NRegs : RegisterClass<...</div>
<div><br>
</div>
<div>def ZRegs : RegisterClass<...</div>
<div><br>
</div>
<div>def SRegs : RegisterClass<...</div>
<div><span><br>
</span></div>
<div><span><br>
</span></div>
<div><span><br>
</span></div>
<div><span>Where does MCK_RA come from?</span><br>
</div>
</div>
<span></span></div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Thanks.<br>
</div>
<div id="appendonsend"></div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>From:</b> Tim Northover <t.p.northover@gmail.com><br>
<b>Sent:</b> Thursday, March 14, 2019 2:13 AM<br>
<b>To:</b> Josh Sharp<br>
<b>Cc:</b> via llvm-dev<br>
<b>Subject:</b> Re: [llvm-dev] inline assembly matching error</font>
<div> </div>
</div>
<div class="BodyFragment"><font size="2"><span style="font-size:11pt;">
<div class="PlainText">On Thu, 14 Mar 2019 at 00:15, Josh Sharp via llvm-dev<br>
<llvm-dev@lists.llvm.org> wrote:<br>
> How can I keep using uppercase characters? It seems to be a minor setting somewhere but can't find it.<br>
<br>
It's not a setting, I'm afraid. LLVM can assemble both upper & lower<br>
case instructions (as long as you're careful), but the underlying<br>
definition has to be in lower-case. The most obvious example of this<br>
is lib/MC/MCParser/AsmParser.cpp:2182 (in function parseStatement)<br>
where the mnemonic always gets "lower" called on it before it's handed<br>
off to the target.<br>
<br>
Cheers.<br>
<br>
Tim.<br>
</div>
</span></font></div>
</body>
</html>