summaryrefslogtreecommitdiffstats
path: root/src/intel/compiler/brw_inst.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/intel/compiler/brw_inst.h')
-rw-r--r--src/intel/compiler/brw_inst.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/intel/compiler/brw_inst.h b/src/intel/compiler/brw_inst.h
index 3927190f776..9daf8f21849 100644
--- a/src/intel/compiler/brw_inst.h
+++ b/src/intel/compiler/brw_inst.h
@@ -1397,6 +1397,18 @@ FC(swsb, /* 4+ */ -1, -1, /* 12+ */ 15, 8, devinfo->gen >= 12)
F(debug_control, /* 4+ */ 7, 7, /* 12+ */ 7, 7)
F(hw_opcode, /* 4+ */ 6, 0, /* 12+ */ 6, 0) /* Same location as brw_inst */
+static inline unsigned
+brw_compact_inst_imm(const struct gen_device_info *devinfo,
+ const brw_compact_inst *inst)
+{
+ if (devinfo->gen >= 12) {
+ return brw_compact_inst_bits(inst, 63, 52);
+ } else {
+ return (brw_compact_inst_bits(inst, 39, 35) << 8) |
+ (brw_compact_inst_bits(inst, 63, 56));
+ }
+}
+
/**
* (Gen8+) Compacted three-source instructions:
* @{