From: Luo Xionghu <[email protected]> 1. write mask in disassembly not parse correctly; 2. assert equation issue.
Signed-off-by: Luo Xionghu <[email protected]> --- backend/src/backend/gen/gen_mesa_disasm.c | 4 ++-- backend/src/backend/gen8_encoder.cpp | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/backend/src/backend/gen/gen_mesa_disasm.c b/backend/src/backend/gen/gen_mesa_disasm.c index 26393f4..7911d70 100644 --- a/backend/src/backend/gen/gen_mesa_disasm.c +++ b/backend/src/backend/gen/gen_mesa_disasm.c @@ -318,7 +318,7 @@ static const char *writemask[16] = { [0xc] = ".zw", [0xd] = ".xzw", [0xe] = ".yzw", - [0xf] = "", + [0xf] = ".xyzw", }; static const char *special_acc[9] = { @@ -781,7 +781,7 @@ static int dest_3src(FILE *file, const void *inst) if (is_special_acc(inst)) { err |= control(file, "specialacc", special_acc, ((const union Gen8NativeInstruction *)inst)->bits1.da3srcacc.dst_special_acc, NULL); } else { - err |= control(file, "writemask", writemask, GEN_BITS_FIELD(inst, bits1.da16.dest_writemask), NULL); + err |= control(file, "writemask", writemask, GEN_BITS_FIELD(inst, bits1.da3src.dest_writemask), NULL); } if (gen_version < 80) { diff --git a/backend/src/backend/gen8_encoder.cpp b/backend/src/backend/gen8_encoder.cpp index 81f1726..d5059a8 100644 --- a/backend/src/backend/gen8_encoder.cpp +++ b/backend/src/backend/gen8_encoder.cpp @@ -506,7 +506,7 @@ namespace gbe assert(dest.file == GEN_GENERAL_REGISTER_FILE); assert(dest.nr < 128); assert(dest.address_mode == GEN_ADDRESS_DIRECT); - assert(dest.type = GEN_TYPE_F); + assert(dest.type == GEN_TYPE_F); //gen8_insn->bits1.da3src.dest_reg_file = 0; gen8_insn->bits1.da3src.dest_reg_nr = dest.nr; gen8_insn->bits1.da3src.dest_subreg_nr = dest.subnr / 4; -- 2.1.4 _______________________________________________ Beignet mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/beignet
