assembler: Fix the decoding of the destination horizontal stride
authorDamien Lespiau <damien.lespiau@intel.com>
Mon, 4 Feb 2013 12:23:57 +0000 (12:23 +0000)
committerDamien Lespiau <damien.lespiau@intel.com>
Mon, 4 Mar 2013 15:54:42 +0000 (15:54 +0000)
dest_horizontal_stride needs go through the horiz_stride[] indirection
to pick up the rigth stride when its value is 11b (4 elements).

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
assembler/brw_disasm.c

index de121e6..3fee682 100644 (file)
@@ -522,7 +522,7 @@ static int dest (FILE *file, struct brw_instruction *inst)
            if (inst->bits1.da1.dest_subreg_nr)
                format (file, ".%d", inst->bits1.da1.dest_subreg_nr /
                                     reg_type_size[inst->bits1.da1.dest_reg_type]);
-           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
@@ -534,7 +534,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);
        }
     }