diff options
author | Ian Romanick <[email protected]> | 2018-04-18 14:02:33 -0700 |
---|---|---|
committer | Ian Romanick <[email protected]> | 2018-08-22 20:31:32 -0700 |
commit | d515c75463824759f983304242178ed29f98ed3d (patch) | |
tree | 4e8b8ed4a975ca5703ab2c3301ac96865116219b /src/intel/compiler/brw_disasm.c | |
parent | f347348f8af80a0fd79c4271affc8e374c4ea4ec (diff) |
intel/compiler: Implement untyped atomic float min, max, and compare-swap dataport messages
v2: Split changes to the message type field to another patch. Suggested
by Caio.
Signed-off-by: Ian Romanick <[email protected]>
Reviewed-by: Caio Marcelo de Oliveira Filho <[email protected]>
Diffstat (limited to 'src/intel/compiler/brw_disasm.c')
-rw-r--r-- | src/intel/compiler/brw_disasm.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/intel/compiler/brw_disasm.c b/src/intel/compiler/brw_disasm.c index 88f12144f83..322f4544dfd 100644 --- a/src/intel/compiler/brw_disasm.c +++ b/src/intel/compiler/brw_disasm.c @@ -421,6 +421,8 @@ static const char *const dp_dc1_msg_type_hsw[32] = { [HSW_DATAPORT_DC_PORT1_ATOMIC_COUNTER_OP_SIMD4X2] = "DC 4x2 atomic counter op", [HSW_DATAPORT_DC_PORT1_TYPED_SURFACE_WRITE] = "DC typed surface write", + [GEN9_DATAPORT_DC_PORT1_UNTYPED_ATOMIC_FLOAT_OP] = + "DC untyped atomic float op", }; static const char *const aop[16] = { @@ -441,6 +443,12 @@ static const char *const aop[16] = { [BRW_AOP_PREDEC] = "predec", }; +static const char *const aop_float[4] = { + [BRW_AOP_FMAX] = "fmax", + [BRW_AOP_FMIN] = "fmin", + [BRW_AOP_FCMPWR] = "fcmpwr", +}; + static const char * const pixel_interpolator_msg_types[4] = { [GEN7_PIXEL_INTERPOLATOR_LOC_SHARED_OFFSET] = "per_message_offset", [GEN7_PIXEL_INTERPOLATOR_LOC_SAMPLE] = "sample_position", @@ -1797,6 +1805,11 @@ brw_disassemble_inst(FILE *file, const struct gen_device_info *devinfo, simd_modes[msg_ctrl >> 4], msg_ctrl & 0xf); break; } + case GEN9_DATAPORT_DC_PORT1_UNTYPED_ATOMIC_FLOAT_OP: + format(file, "SIMD%d,", (msg_ctrl & (1 << 4)) ? 8 : 16); + control(file, "atomic float op", aop_float, msg_ctrl & 0xf, + &space); + break; default: format(file, "0x%x", msg_ctrl); } |