ir3/isa: add nop encoding for bary.f/flat.b
We already use it in legalize but the disassembler didn't display it
yet.
Signed-off-by: Job Noorman <jnoorman@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34618>
diff --git a/src/freedreno/ir3/tests/disasm.c b/src/freedreno/ir3/tests/disasm.c
index a0385ae..58d8324 100644
--- a/src/freedreno/ir3/tests/disasm.c
+++ b/src/freedreno/ir3/tests/disasm.c
@@ -97,7 +97,9 @@
INSTR_6XX(40104002_0c210001, "add.f hr0.z, r0.y, c<a0.x + 33>"),
INSTR_6XX(40b80804_10408004, "(nop3) cmps.f.lt r1.x, (abs)r1.x, c16.x"),
INSTR_6XX(47308a02_00002000, "(rpt2)bary.f (ei)r0.z, (r)0, r0.x"),
+ INSTR_6XX(47308802_00002000, "(nop1) bary.f (ei)r0.z, 0, r0.x"),
INSTR_6XX(47348000_00002000, "flat.b (ei)r0.x, 0, r0.x"),
+ INSTR_6XX(473c8000_00002000, "(nop2) flat.b (ei)r0.x, 0, r0.x"),
INSTR_6XX(43480801_00008001, "(nop3) absneg.s hr0.y, (abs)hr0.y"),
INSTR_6XX(42280807_27ff0000, "(nop3) add.s hr1.w, hr0.x, h(-1)"),
INSTR_6XX(40a500f8_2c000004, "cmps.f.ne p0.x, hr1.x, h(0.0)"),
diff --git a/src/freedreno/isa/ir3-cat2.xml b/src/freedreno/isa/ir3-cat2.xml
index ed7ac69..e1901cc 100644
--- a/src/freedreno/isa/ir3-cat2.xml
+++ b/src/freedreno/isa/ir3-cat2.xml
@@ -158,6 +158,20 @@
<bitset name="#instruction-cat2-2src-input" extends="#instruction-cat2">
+ <override expr="#cat2-cat3-nop-encoding">
+ <display>
+ {SY}{SS}{JP}{SAT}(nop{NOP}) {UL}{NAME} {EI}{DST_HALF}{DST}, {SRC1}, {SRC2}
+ </display>
+ <derived name="NOP" expr="#cat2-cat3-nop-value" type="uint"/>
+ <field name="SRC1" low="0" high="15" type="#multisrc">
+ <param name="ZERO" as="SRC_R"/>
+ <param name="FULL"/>
+ </field>
+ <field name="SRC2" low="16" high="31" type="#multisrc">
+ <param name="ZERO" as="SRC_R"/>
+ <param name="FULL"/>
+ </field>
+ </override>
<display>
{SY}{SS}{JP}{SAT}{REPEAT}{UL}{NAME} {EI}{DST_HALF}{DST}, {SRC1}, {SRC2}
</display>