i965/disasm: Print the type after the swizzle also for 3src src operands
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Tue, 31 Mar 2015 12:01:24 +0000 (15:01 +0300)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Fri, 10 Apr 2015 11:53:12 +0000 (14:53 +0300)
The disassembly currently has the swizzle after the type for 3src source
operands, and the other way around for 2src. Flip the type and swizzle
around for 3src so that the output matches 2src.

Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
src/mesa/drivers/dri/i965/brw_disasm.c

index c41dde2394070d27dbfa327d9466080ef95fbd4e..2630218602810cf3d5580673a6ff5fee1d1a4584 100644 (file)
@@ -955,9 +955,9 @@ src0_3src(FILE *file, struct brw_context *brw, brw_inst *inst)
       string(file, "<0,1,0>");
    else
       string(file, "<4,4,1>");
+   err |= src_swizzle(file, brw_inst_3src_src0_swizzle(brw, inst));
    err |= control(file, "src da16 reg type", three_source_reg_encoding,
                   brw_inst_3src_src_type(brw, inst), NULL);
-   err |= src_swizzle(file, brw_inst_3src_src0_swizzle(brw, inst));
    return err;
 }
 
@@ -981,9 +981,9 @@ src1_3src(FILE *file, struct brw_context *brw, brw_inst *inst)
       string(file, "<0,1,0>");
    else
       string(file, "<4,4,1>");
+   err |= src_swizzle(file, brw_inst_3src_src1_swizzle(brw, inst));
    err |= control(file, "src da16 reg type", three_source_reg_encoding,
                   brw_inst_3src_src_type(brw, inst), NULL);
-   err |= src_swizzle(file, brw_inst_3src_src1_swizzle(brw, inst));
    return err;
 }
 
@@ -1008,9 +1008,9 @@ src2_3src(FILE *file, struct brw_context *brw, brw_inst *inst)
       string(file, "<0,1,0>");
    else
       string(file, "<4,4,1>");
+   err |= src_swizzle(file, brw_inst_3src_src2_swizzle(brw, inst));
    err |= control(file, "src da16 reg type", three_source_reg_encoding,
                   brw_inst_3src_src_type(brw, inst), NULL);
-   err |= src_swizzle(file, brw_inst_3src_src2_swizzle(brw, inst));
    return err;
 }