intel/disasm/gen12: Disassemble Gen12 SYNC instruction.
authorFrancisco Jerez <currojerez@riseup.net>
Sat, 27 Apr 2019 00:08:25 +0000 (17:08 -0700)
committerFrancisco Jerez <currojerez@riseup.net>
Fri, 11 Oct 2019 19:24:16 +0000 (12:24 -0700)
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/intel/compiler/brw_disasm.c

index 2e18787d14c91e7646fd935629728b89d2d7a69f..8d35e87cc98df61ae8ec0e30f97a5557eadb8527 100644 (file)
@@ -497,6 +497,14 @@ static const char *const math_function[16] = {
    [GEN8_MATH_FUNCTION_RSQRTM] = "rsqrtm",
 };
 
+static const char *const sync_function[16] = {
+   [TGL_SYNC_NOP] = "nop",
+   [TGL_SYNC_ALLRD] = "allrd",
+   [TGL_SYNC_ALLWR] = "allwr",
+   [TGL_SYNC_BAR] = "bar",
+   [TGL_SYNC_HOST] = "host",
+};
+
 static const char *const math_saturate[2] = {
    [0] = "",
    [1] = "sat"
@@ -1651,6 +1659,12 @@ brw_disassemble_inst(FILE *file, const struct gen_device_info *devinfo,
       string(file, " ");
       err |= control(file, "function", math_function,
                      brw_inst_math_function(devinfo, inst), NULL);
+
+   } else if (opcode == BRW_OPCODE_SYNC) {
+      string(file, " ");
+      err |= control(file, "function", sync_function,
+                     brw_inst_cond_modifier(devinfo, inst), NULL);
+
    } else if (!is_send(opcode)) {
       err |= control(file, "conditional modifier", conditional_modifier,
                      brw_inst_cond_modifier(devinfo, inst), NULL);