[Intel-gfx] [PATCH] Intel-gen4asm: fix disassembler: horizontal stride of dest operand

Homer Hsing homer.xing at intel.com
Fri Feb 22 08:42:12 CET 2013


If horizontal stride of a dest operand is four,
before we fix it, the disassembler outputs wrong
 mov(8) g20<3>UB g18<8,8,1>F;

after we fix it, the output is correct.
 mov(8) g20<4>UB g18<8,8,1>F;
---
 src/disasm.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/disasm.c b/src/disasm.c
index 1ec6ae5..e52e3d3 100644
--- a/src/disasm.c
+++ b/src/disasm.c
@@ -469,7 +469,7 @@ static int dest (FILE *file, struct brw_instruction *inst)
 		return 0;
 	    if (inst->bits1.da1.dest_subreg_nr)
 		format (file, ".%d", inst->bits1.da1.dest_subreg_nr);
-	    format (file, "<%d>", inst->bits1.da1.dest_horiz_stride);
+	    format (file, "<%s>", horiz_stride[inst->bits1.da1.dest_horiz_stride]);
 	    err |= control (file, "dest reg encoding", reg_encoding, inst->bits1.da1.dest_reg_type, NULL);
 	}
 	else
@@ -480,7 +480,7 @@ static int dest (FILE *file, struct brw_instruction *inst)
 	    if (inst->bits1.ia1.dest_indirect_offset)
 		format (file, " %d", inst->bits1.ia1.dest_indirect_offset);
 	    string (file, "]");
-	    format (file, "<%d>", inst->bits1.ia1.dest_horiz_stride);
+	    format (file, "<%s>", horiz_stride[inst->bits1.ia1.dest_horiz_stride]);
 	    err |= control (file, "dest reg encoding", reg_encoding, inst->bits1.ia1.dest_reg_type, NULL);
 	}
     }
-- 
1.7.10.4




More information about the Intel-gfx mailing list