Displaying 3 results from an estimated 3 matches for "sopinstruct".
Did you mean:
openstruct
2020 Oct 12
3
Manipulating DAGs in TableGen
...nction
>arguments based on their order but also by naming them (e.g.
>"functionName(argName=x, otherArgName=y)"). However, this is _not_ how
>$names work!
>
>Their most prominent application is for instruction selection pattern
>matching, e.g. taken at random from AMDGPU/SOPInstructions.td:
>
>def : GCNPat <
> (i32 (smax i32:$x, (i32 (ineg i32:$x)))),
> (S_ABS_I32 SReg_32:$x)
>>;
>
>The $x is _not_ the name of the argument to smax, ineg, or S_ABS_I32.
>For example, if you look at how S_ABS_I32 is defined, you'll see that
>its input operan...
2020 Oct 12
2
Manipulating DAGs in TableGen
I included the ability to get/set an operand by name because I thought it would be easier to copy+modify an existing DAG by specifying the name of the operand you want to replace rather than having to remember its position. For example, if you want to replace the first source, isn't it easier to specify $src than remember it's the second operand?
Perhaps the people actually coding these
2020 Oct 13
5
Manipulating DAGs in TableGen
...also by naming them (e.g.
>> >"functionName(argName=x, otherArgName=y)"). However, this is _not_ how
>> >$names work!
>> >
>> >Their most prominent application is for instruction selection pattern
>> >matching, e.g. taken at random from AMDGPU/SOPInstructions.td:
>> >
>> >def : GCNPat <
>> > (i32 (smax i32:$x, (i32 (ineg i32:$x)))),
>> > (S_ABS_I32 SReg_32:$x)
>> >>;
>> >
>> >The $x is _not_ the name of the argument to smax, ineg, or S_ABS_I32.
>> >For example, if you lo...