diff options
author | Guo Yejun <yejun.guo@intel.com> | 2015-05-04 16:47:21 +0800 |
---|---|---|
committer | Zhigang Gong <zhigang.gong@intel.com> | 2015-05-19 11:55:00 +0800 |
commit | 0b10bc0dbd201b892299b897ef5038dc3c52c724 (patch) | |
tree | 7e00ac334346d03070f3a2d591bbaa1d79135ec3 | |
parent | ae59e9fd4d2777eb5a2990060d70870597f7ce05 (diff) |
correct the src output of alu3 when OCL_OUTPUT_ASM=1
Signed-off-by: Guo Yejun <yejun.guo@intel.com>
Reviewed-by: "Song, Ruiling" <ruiling.song@intel.com>
-rw-r--r-- | backend/src/backend/gen/gen_mesa_disasm.c | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/backend/src/backend/gen/gen_mesa_disasm.c b/backend/src/backend/gen/gen_mesa_disasm.c index 4822de38..2615276c 100644 --- a/backend/src/backend/gen/gen_mesa_disasm.c +++ b/backend/src/backend/gen/gen_mesa_disasm.c @@ -844,7 +844,10 @@ static int src0_3src(FILE *file, const void* inst) return 0; if (GEN_BITS_FIELD(inst, bits2.da3src.src0_subreg_nr)) format(file, ".%d", GEN_BITS_FIELD(inst, bits2.da3src.src0_subreg_nr)); - string(file, "<4,1,1>"); + if (GEN_BITS_FIELD(inst, bits2.da3src.src0_rep_ctrl)) + string(file, "<0,1,0>"); + else + string(file, "<8,8,1>"); err |= control(file, "src da16 reg type", reg_encoding, GEN_TYPE_F, NULL); /* @@ -889,7 +892,10 @@ static int src1_3src(FILE *file, const void* inst) return 0; if (src1_subreg_nr) format(file, ".%d", src1_subreg_nr); - string(file, "<4,1,1>"); + if (GEN_BITS_FIELD(inst, bits2.da3src.src1_rep_ctrl)) + string(file, "<0,1,0>"); + else + string(file, "<8,8,1>"); err |= control(file, "src da16 reg type", reg_encoding, GEN_TYPE_F, NULL); /* @@ -931,7 +937,10 @@ static int src2_3src(FILE *file, const void* inst) return 0; if (GEN_BITS_FIELD(inst, bits3.da3src.src2_subreg_nr)) format(file, ".%d", GEN_BITS_FIELD(inst, bits3.da3src.src2_subreg_nr)); - string(file, "<4,1,1>"); + if (GEN_BITS_FIELD(inst, bits3.da3src.src2_rep_ctrl)) + string(file, "<0,1,0>"); + else + string(file, "<8,8,1>"); err |= control(file, "src da16 reg type", reg_encoding, GEN_TYPE_F, NULL); /* |