Can you tell me how to do what I need to do in X86InstrSSE.td then? See the example below. Without using #NAME# I get weird "anonymous" things added to the instruction names.<br><br>multiclass PDI_binop_all<bits<8> opc, string OpcodeStr, SDNode Opcode,<br>
                         ValueType OpVT128, ValueType OpVT256,<br>                         OpndItins itins, bit IsCommutable = 0> {<br>let Predicates = [HasAVX] in<br>  defm V#NAME# : PDI_binop_rm<opc, !strconcat("v", OpcodeStr), Opcode, OpVT128,<br>
                    VR128, memopv2i64, i128mem, itins, IsCommutable, 0>, VEX_4V;<br><br>let Constraints = "$src1 = $dst" in<br>  defm #NAME# : PDI_binop_rm<opc, OpcodeStr, Opcode, OpVT128, VR128,<br>                             memopv2i64, i128mem, itins, IsCommutable, 1>;<br>
<br>let Predicates = [HasAVX2] in<br>  defm V#NAME#Y : PDI_binop_rm<opc, !strconcat("v", OpcodeStr), Opcode,<br>                                OpVT256, VR256, memopv4i64, i256mem, itins,<br>                                IsCommutable, 0>, VEX_4V, VEX_L;<br>
}<br><br><div class="gmail_quote">On Sun, Jan 6, 2013 at 5:10 PM, Sean Silva <span dir="ltr"><<a href="mailto:silvas@purdue.edu" target="_blank">silvas@purdue.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Ping. I think this ought to be reverted.<br>
<br>
-- Sean Silva<br>
<br>
On Mon, Dec 31, 2012 at 6:35 AM, Sean Silva <<a href="mailto:silvas@purdue.edu">silvas@purdue.edu</a>> wrote:<br>
> According to a comment in TGParser.cpp:ParseSimpleValue, this behavior<br>
> is deprecated:<br>
><br>
> Init *TGParser::ParseSimpleValue(Record *CurRec, RecTy *ItemType,<br>
>                                  IDParseMode Mode) {<br>
>   Init *R = 0;<br>
>   switch (Lex.getCode()) {<br>
>   default: TokError("Unknown token when parsing a value"); break;<br>
>   case tgtok::paste:<br>
>     // This is a leading paste operation.  This is deprecated but<br>
>     // still exists in some .td files.  Ignore it.<br>
>     Lex.Lex();  // Skip '#'.<br>
>     return ParseSimpleValue(CurRec, ItemType, Mode);<br>
><br>
><br>
> From the behavior of this code, it looks like the leading `#` has no<br>
> effect anyway, and so we shouldn't encourage its use.<br>
><br>
> -- Sean Silva<br>
><br>
> On Wed, Dec 26, 2012 at 11:32 PM, Craig Topper <<a href="mailto:craig.topper@gmail.com">craig.topper@gmail.com</a>> wrote:<br>
>> Author: ctopper<br>
>> Date: Thu Dec 27 00:32:52 2012<br>
>> New Revision: 171140<br>
>><br>
>> URL: <a href="http://llvm.org/viewvc/llvm-project?rev=171140&view=rev" target="_blank">http://llvm.org/viewvc/llvm-project?rev=171140&view=rev</a><br>
>> Log:<br>
>> Update tablegen parser to allow defm names to start with #NAME.<br>
>><br>
>> Modified:<br>
>>     llvm/trunk/lib/TableGen/TGParser.cpp<br>
>><br>
>> Modified: llvm/trunk/lib/TableGen/TGParser.cpp<br>
>> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/TableGen/TGParser.cpp?rev=171140&r1=171139&r2=171140&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/TableGen/TGParser.cpp?rev=171140&r1=171139&r2=171140&view=diff</a><br>

>> ==============================================================================<br>
>> --- llvm/trunk/lib/TableGen/TGParser.cpp (original)<br>
>> +++ llvm/trunk/lib/TableGen/TGParser.cpp Thu Dec 27 00:32:52 2012<br>
>> @@ -2406,7 +2406,11 @@<br>
>><br>
>>    Init *DefmPrefix = 0;<br>
>><br>
>> -  if (Lex.Lex() == tgtok::Id) {  // eat the defm.<br>
>> +  Lex.Lex(); // eat the defm.<br>
>> +<br>
>> +  // Note that tgtok::paste is here to allow starting with #NAME.<br>
>> +  if (Lex.getCode() == tgtok::Id ||<br>
>> +      Lex.getCode() == tgtok::paste) {<br>
>>      DefmPrefix = ParseObjectName(CurMultiClass);<br>
>>    }<br>
>><br>
>><br>
>><br>
>> _______________________________________________<br>
>> llvm-commits mailing list<br>
>> <a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br>
>> <a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
</blockquote></div><br><br clear="all"><br>-- <br>~Craig