intel/eu: Define helper to specify the descriptor immediates of a SEND instruction.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:
Francisco Jerez 2018-06-02 13:48:42 -07:00
parent f55884cad3
commit d0f589a55b
2 changed files with 26 additions and 0 deletions

View File

@ -600,6 +600,15 @@ void brw_math_invert( struct brw_codegen *p,
void brw_set_src1(struct brw_codegen *p, brw_inst *insn, struct brw_reg reg);
void brw_set_desc_ex(struct brw_codegen *p, brw_inst *insn,
unsigned desc, unsigned ex_desc);
static inline void
brw_set_desc(struct brw_codegen *p, brw_inst *insn, unsigned desc)
{
brw_set_desc_ex(p, insn, desc, 0);
}
void brw_set_uip_jip(struct brw_codegen *p, int start_offset);
enum brw_conditional_mod brw_negate_cmod(uint32_t cmod);

View File

@ -401,6 +401,23 @@ brw_set_message_descriptor(struct brw_codegen *p,
}
}
/**
* Specify the descriptor and extended descriptor immediate for a SEND(C)
* message instruction.
*/
void
brw_set_desc_ex(struct brw_codegen *p, brw_inst *inst,
unsigned desc, unsigned ex_desc)
{
const struct gen_device_info *devinfo = p->devinfo;
brw_inst_set_src1_file_type(devinfo, inst,
BRW_IMMEDIATE_VALUE, BRW_REGISTER_TYPE_D);
brw_inst_set_send_desc(devinfo, inst, desc);
if (devinfo->gen >= 9 && (brw_inst_opcode(devinfo, inst) == BRW_OPCODE_SEND ||
brw_inst_opcode(devinfo, inst) == BRW_OPCODE_SENDC))
brw_inst_set_send_ex_desc(devinfo, inst, ex_desc);
}
static void brw_set_math_message( struct brw_codegen *p,
brw_inst *inst,
unsigned function,