Module: Mesa
Branch: main
Commit: f80f29dc4bd6477cd62a6d5153708b2334c06fd6
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=f80f29dc4bd6477cd62a6d5153708b2334c06fd6

Author: Francisco Jerez <[email protected]>
Date:   Wed Jan  4 12:52:45 2023 -0800

intel/disasm/gfx12+: Fix print out of non-existing condmod field with 64-bit 
immediate.

The conditional mode field doesn't exist for instructions with a
64-bit immediate, so this would currently print garbage.

Reviewed-by: Lionel Landwerlin <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20543>

---

 src/intel/compiler/brw_disasm.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/intel/compiler/brw_disasm.c b/src/intel/compiler/brw_disasm.c
index 4408a6b9ba5..1603919ece9 100644
--- a/src/intel/compiler/brw_disasm.c
+++ b/src/intel/compiler/brw_disasm.c
@@ -1964,7 +1964,10 @@ brw_disassemble_inst(FILE *file, const struct 
brw_isa_info *isa,
       err |= control(file, "function", sync_function,
                      brw_inst_cond_modifier(devinfo, inst), NULL);
 
-   } else if (!is_send(opcode)) {
+   } else if (!is_send(opcode) &&
+              (devinfo->ver < 12 ||
+               brw_inst_src0_reg_file(devinfo, inst) != BRW_IMMEDIATE_VALUE ||
+               type_sz(brw_inst_src0_type(devinfo, inst)) < 8)) {
       err |= control(file, "conditional modifier", conditional_modifier,
                      brw_inst_cond_modifier(devinfo, inst), NULL);
 

Reply via email to