Displaying 2 results from an estimated 2 matches for "insdefault".
2017 Sep 25
1
TableGen questions.
...ently trying to create a
class containing the ins and outs dags, using if(eq()) extensively, so that
the multiclass template for the instructions is a single line. Code
follows (probably not correct due to name mangling).
class IO_MultSrc<bits<2> op0Type, RegisterClass Src0RC> {
dag insDefault = !if(!eq(op0Type, 0b01),
(ins SpecialReg:$dst, Src0RC:$a),
(ins Src0RC:$a));
...
}
multiclass MultSrc1Spec<bits<5> subOpcode, bits<2> op0t, string opcodeStr,
RegisterClass RegType> {
def _allspecial:
MultSrcOneDestInst<...
2017 Sep 26
0
TableGen questions.
>
> On 9/25/2017 6:03 PM, Shane Ryoo via llvm-dev wrote:
> > MultSrcOneDestInst<subOpcode, op0t, 0b00,
> > IO_MultSrc<op0t, SpecialReg>.outsDefault,
> > IO_MultSrc<op0t, SpecialReg>.insDefault>;
> I suspect that the use of IO_MultSrc here is the culprit. TableGen has
> some limitations here, when it comes to instantiating classes "inline",
> like in the example above. Try instantiating the IO_MultSrc for these
> arguments separately and passing the ins/outs as p...