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-15 10:43:36 +0800 |
commit | 5c5e4456eff7ee4de5d6bbd09be4698b5893872b (patch) | |
tree | 948ca60bdc5e83269464363d622c1d9650734032 | |
parent | d8ecbcd53a6a1bd317ddba2b93efb55ae3c4b9bd (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 f8d89e06..705f5e25 100644 --- a/backend/src/backend/gen/gen_mesa_disasm.c +++ b/backend/src/backend/gen/gen_mesa_disasm.c @@ -831,7 +831,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); /* @@ -876,7 +879,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); /* @@ -918,7 +924,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); /* |