+ if (is_split_send(devinfo, brw_inst_opcode(devinfo, inst))) {
+ /* These are fixed for split sends */
+ type = BRW_REGISTER_TYPE_UD;
+ elem_size = 4;
+ if (devinfo->gen >= 12) {
+ err |= reg(file, brw_inst_send_dst_reg_file(devinfo, inst),
+ brw_inst_dst_da_reg_nr(devinfo, inst));
+ string(file, brw_reg_type_to_letters(type));
+ } else if (brw_inst_dst_address_mode(devinfo, inst) == BRW_ADDRESS_DIRECT) {
+ err |= reg(file, brw_inst_send_dst_reg_file(devinfo, inst),
+ brw_inst_dst_da_reg_nr(devinfo, inst));
+ unsigned subreg_nr = brw_inst_dst_da16_subreg_nr(devinfo, inst);
+ if (subreg_nr)
+ format(file, ".%u", subreg_nr);
+ string(file, brw_reg_type_to_letters(type));
+ } else {
+ string(file, "g[a0");
+ if (brw_inst_dst_ia_subreg_nr(devinfo, inst))
+ format(file, ".%"PRIu64, brw_inst_dst_ia_subreg_nr(devinfo, inst) /
+ elem_size);
+ if (brw_inst_send_dst_ia16_addr_imm(devinfo, inst))
+ format(file, " %d", brw_inst_send_dst_ia16_addr_imm(devinfo, inst));
+ string(file, "]<");
+ string(file, brw_reg_type_to_letters(type));
+ }
+ } else if (brw_inst_access_mode(devinfo, inst) == BRW_ALIGN_1) {