freedreno/ir3: Add some new "logical" opcodes
authorRob Clark <robdclark@chromium.org>
Wed, 30 Dec 2020 19:51:23 +0000 (11:51 -0800)
committerMarge Bot <eric+marge@anholt.net>
Wed, 13 Jan 2021 18:32:47 +0000 (18:32 +0000)
commit6309c9313b194cb269da54e3553ddb0c001eed3a
treece10cdb47b40178b334acf21b960687a7d1d2ca0
parentcd31bface82f5eba4686dda6cde55cc53edf0348
freedreno/ir3: Add some new "logical" opcodes

Once we switch over to the xml based ir3 ISA definition, the opcodes
will be decoupled from instruction encoding.  Which will let us better
handle cases where a single "opcode" (from instruction encoding stand-
point) means different things on different generations.  And also cases
like the different variations of `b`ranch instructions, which share a
single hw "opcode" plus a separate "brtype" field.  When we start using
these in ir3, we'd like to treat them as separate instructions and not
have to care about the details of how they are encoded.

For now, these are only used internally within the new xml generated
instruction encoding, but once the existing "packed struct" encoding/
decoding is replace, we'll update ir3 to start using the new opcode
enums directly (except for the `mov` variants).

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7997>
src/freedreno/ir3/instr-a3xx.h