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 c41dde2..2630218 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;
 }