The original design of custom operands support assumed that most GPUs
have the same or very similar operand names end encodings. This is
no longer the case. As a result the support code becomes over-complicated
and difficult to maintain.
This change proposes a different design with the following benefits:
- support of aliases;
- support of operands with overlapped encodings;
- identification of defined but unsupported operands.
This is the first part of the change. A patch for sendmsg(...) will be submitted separately.
Instead of a callback could you use a mask of required features?