<div><font>I had two Instruction class definitions in my InstructionFormat TableGen, as listed below:</font></div><div><font><br></font></div><div><font>```</font></div><div><font><div>class InstRI8<bits<8> opcode,string asm,dag outs,dag ins> : Instruction{</div><div>  ........</div><div>}</div><div><br></div><div><br></div><div><div>class InstRI8222<bits<8> opcode,string asm,dag outs,dag ins,list<dag> Pat> : Instruction{</div><div>  ........</div><div>  let Pattern = Pat;</div><div>}</div></div></font></div><div><font>```</font></div><div><font><br></font></div><div><font>However later when initializing those two classes, if I use the following format to initialize the instruction:</font></div><div><font>```</font></div><div><font>def X : InstRI8<...>{</font></div><div>   let Pattern = [ ...... ];</div><div><font>}</font></div><div><font>```</font></div><div><font>I got a error from Tablegen that says "Bits value must be constants" for this def.</font></div><div><font>Using the second Instruction Class which models Pattern as the template argument works perfectly fine</font></div><div><font><br></font></div><div><includetail><!--<![endif]--></includetail></div>