aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMatt Turner <[email protected]>2017-07-25 14:25:27 -0700
committerMatt Turner <[email protected]>2017-08-21 14:05:23 -0700
commit92f787ff86abc588939878f43fa898bc2b069342 (patch)
tree2dafe21fa5b2f14128fd614942007e5b82efd16b /src
parentdeae25ce3783a770f2e4e8f73f935656791121ae (diff)
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 <[email protected]>
Diffstat (limited to 'src')
-rw-r--r--src/intel/compiler/brw_disasm.c6
-rw-r--r--src/intel/compiler/brw_inst.h7
2 files changed, 13 insertions, 0 deletions
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)
{