i965: Disassemble 3 src instructions' rep_ctrl field.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:
Matt Turner 2014-03-08 12:15:28 -08:00
parent dafcc1b7c4
commit b823d5df0f
2 changed files with 24 additions and 6 deletions

View File

@ -740,7 +740,10 @@ static int src0_3src (FILE *file, struct brw_instruction *inst)
return 0;
if (inst->bits2.da3src.src0_subreg_nr)
format (file, ".%d", inst->bits2.da3src.src0_subreg_nr);
string (file, "<4,4,1>");
if (inst->bits2.da3src.src0_rep_ctrl)
string (file, "<0,1,0>");
else
string (file, "<4,4,1>");
err |= control (file, "src da16 reg type", three_source_reg_encoding,
inst->bits1.da3src.src_type, NULL);
/*
@ -792,7 +795,10 @@ static int src1_3src (FILE *file, struct brw_instruction *inst)
return 0;
if (src1_subreg_nr)
format (file, ".%d", src1_subreg_nr);
string (file, "<4,4,1>");
if (inst->bits2.da3src.src1_rep_ctrl)
string (file, "<0,1,0>");
else
string (file, "<4,4,1>");
err |= control (file, "src da16 reg type", three_source_reg_encoding,
inst->bits1.da3src.src_type, NULL);
/*
@ -843,7 +849,10 @@ static int src2_3src (FILE *file, struct brw_instruction *inst)
return 0;
if (inst->bits3.da3src.src2_subreg_nr)
format (file, ".%d", inst->bits3.da3src.src2_subreg_nr);
string (file, "<4,4,1>");
if (inst->bits3.da3src.src2_rep_ctrl)
string (file, "<0,1,0>");
else
string (file, "<4,4,1>");
err |= control (file, "src da16 reg type", three_source_reg_encoding,
inst->bits1.da3src.src_type, NULL);
/*

View File

@ -569,7 +569,10 @@ src0_3src(FILE *file, struct gen8_instruction *inst)
return 0;
if (gen8_src0_3src_subreg_nr(inst))
format(file, ".%d", gen8_src0_3src_subreg_nr(inst));
string(file, "<4,4,1>");
if (gen8_src0_3src_rep_ctrl(inst))
string(file, "<0,1,0>");
else
string(file, "<4,4,1>");
err |= control(file, "src da16 reg type", m_three_source_reg_encoding,
gen8_src_3src_type(inst), NULL);
err |= src_swizzle(file, swz_x, swz_y, swz_z, swz_w);
@ -595,7 +598,10 @@ src1_3src(FILE *file, struct gen8_instruction *inst)
return 0;
if (src1_subreg_nr)
format(file, ".%d", src1_subreg_nr);
string(file, "<4,4,1>");
if (gen8_src1_3src_rep_ctrl(inst))
string(file, "<0,1,0>");
else
string(file, "<4,4,1>");
err |= control(file, "src da16 reg type", m_three_source_reg_encoding,
gen8_src_3src_type(inst), NULL);
err |= src_swizzle(file, swz_x, swz_y, swz_z, swz_w);
@ -620,7 +626,10 @@ src2_3src(FILE *file, struct gen8_instruction *inst)
return 0;
if (gen8_src2_3src_subreg_nr(inst))
format(file, ".%d", gen8_src2_3src_subreg_nr(inst));
string(file, "<4,4,1>");
if (gen8_src2_3src_rep_ctrl(inst))
string(file, "<0,1,0>");
else
string(file, "<4,4,1>");
err |= control(file, "src da16 reg type", m_three_source_reg_encoding,
gen8_src_3src_type(inst), NULL);
err |= src_swizzle(file, swz_x, swz_y, swz_z, swz_w);