From 92f787ff86abc588939878f43fa898bc2b069342 Mon Sep 17 00:00:00 2001 From: Matt Turner Date: Tue, 25 Jul 2017 14:25:27 -0700 Subject: [PATCH] i965: Add support for disassembling 64-bit integer immediates After the last patch converted things into enums, I helpfully got a compiler warning about these missing from the switch statement. Reviewed-by: Scott D Phillips --- src/intel/compiler/brw_disasm.c | 6 ++++++ src/intel/compiler/brw_inst.h | 7 +++++++ 2 files changed, 13 insertions(+) diff --git a/src/intel/compiler/brw_disasm.c b/src/intel/compiler/brw_disasm.c index b5c283058ab..6da70605174 100644 --- a/src/intel/compiler/brw_disasm.c +++ b/src/intel/compiler/brw_disasm.c @@ -1029,6 +1029,12 @@ imm(FILE *file, const struct gen_device_info *devinfo, enum hw_imm_type type, const brw_inst *inst) { switch (type) { + case GEN8_HW_IMM_TYPE_UQ: + format(file, "0x%16lxUD", brw_inst_imm_uq(devinfo, inst)); + break; + case GEN8_HW_IMM_TYPE_Q: + format(file, "%ldD", brw_inst_imm_uq(devinfo, inst)); + break; case BRW_HW_IMM_TYPE_UD: format(file, "0x%08xUD", brw_inst_imm_ud(devinfo, inst)); break; diff --git a/src/intel/compiler/brw_inst.h b/src/intel/compiler/brw_inst.h index 5b2ce32ae40..cd3b0e95ea0 100644 --- a/src/intel/compiler/brw_inst.h +++ b/src/intel/compiler/brw_inst.h @@ -569,6 +569,13 @@ brw_inst_imm_ud(const struct gen_device_info *devinfo, const brw_inst *insn) return brw_inst_bits(insn, 127, 96); } +static inline uint64_t +brw_inst_imm_uq(const struct gen_device_info *devinfo, const brw_inst *insn) +{ + assert(devinfo->gen >= 8); + return brw_inst_bits(insn, 127, 64); +} + static inline float brw_inst_imm_f(const struct gen_device_info *devinfo, const brw_inst *insn) { -- 2.11.0