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 <ian.d.romanick@intel.com> Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com>
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
Reference in New Issue
Block a user