i965/disasm: Disassemble JMPI's source properly.
authorMatt Turner <mattst88@gmail.com>
Sun, 24 Aug 2014 06:59:30 +0000 (23:59 -0700)
committerMatt Turner <mattst88@gmail.com>
Fri, 29 Aug 2014 02:06:27 +0000 (19:06 -0700)
The source can be a register as well as an immediate, and disassembling
a register as an immediate can have some strange results.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/mesa/drivers/dri/i965/brw_disasm.c

index b73ada87c55eefbd2c37a6b93044e59963bb2176..4374278bfa5ca932424af50afcf2ab5a3e35ac37 100644 (file)
@@ -1264,7 +1264,8 @@ brw_disassemble_inst(FILE *file, struct brw_context *brw, brw_inst *inst,
       pad(file, 16);
       format(file, "Pop: %d", brw_inst_gen4_pop_count(brw, inst));
    } else if (opcode == BRW_OPCODE_JMPI) {
-      format(file, " %d", brw_inst_imm_d(brw, inst));
+      pad(file, 16);
+      err |= src1(file, brw, inst);
    } else if (opcode_descs[opcode].nsrc == 3) {
       pad(file, 16);
       err |= dest_3src(file, brw, inst);