intel/compiler/xe2: Fix for the removal of AccWrCtrl.

Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26860>
This commit is contained in:
Francisco Jerez 2022-03-07 16:28:54 -08:00 committed by Marge Bot
parent 7f39e51dd5
commit 6e56a4b474
3 changed files with 11 additions and 4 deletions

View file

@ -638,7 +638,7 @@ brw_inst_set_state(const struct brw_isa_info *isa,
brw_inst_set_flag_reg_nr(devinfo, insn, state->flag_subreg / 2);
}
if (devinfo->ver >= 6)
if (devinfo->ver >= 6 && devinfo->ver < 20)
brw_inst_set_acc_wr_control(devinfo, insn, state->acc_wr_control);
}

View file

@ -1762,7 +1762,14 @@ fs_generator::generate_code(const cfg_t *cfg, int dispatch_width,
brw_set_default_flag_reg(p, flag_subreg / 2, flag_subreg % 2);
brw_set_default_saturate(p, inst->saturate);
brw_set_default_mask_control(p, inst->force_writemask_all);
brw_set_default_acc_write_control(p, inst->writes_accumulator);
if (devinfo->ver >= 20 && inst->writes_accumulator) {
assert(inst->dst.is_accumulator() ||
inst->opcode == BRW_OPCODE_ADDC ||
inst->opcode == BRW_OPCODE_MACH ||
inst->opcode == BRW_OPCODE_SUBB);
} else {
brw_set_default_acc_write_control(p, inst->writes_accumulator);
}
brw_set_default_swsb(p, swsb);
unsigned exec_size = inst->exec_size;

View file

@ -389,7 +389,7 @@ F(saturate, /* 4+ */ 31, 31, /* 12+ */ 34, 34)
F(debug_control, /* 4+ */ 30, 30, /* 12+ */ 30, 30)
F(cmpt_control, /* 4+ */ 29, 29, /* 12+ */ 29, 29)
FC(branch_control, /* 4+ */ 28, 28, /* 12+ */ 33, 33, devinfo->ver >= 8)
FC(acc_wr_control, /* 4+ */ 28, 28, /* 12+ */ 33, 33, devinfo->ver >= 6)
FC(acc_wr_control, /* 4+ */ 28, 28, /* 12+ */ 33, 33, devinfo->ver >= 6 && devinfo->ver < 20)
FC(mask_control_ex, /* 4+ */ 28, 28, /* 12+ */ -1, -1, devinfo->verx10 == 45 ||
devinfo->ver == 5)
F(cond_modifier, /* 4+ */ 27, 24, /* 12+ */ 95, 92)
@ -454,7 +454,7 @@ FF(3src_a16_dst_reg_file,
F(3src_saturate, /* 4+ */ 31, 31, /* 12+ */ 34, 34)
F(3src_debug_control, /* 4+ */ 30, 30, /* 12+ */ 30, 30)
F(3src_cmpt_control, /* 4+ */ 29, 29, /* 12+ */ 29, 29)
F(3src_acc_wr_control, /* 4+ */ 28, 28, /* 12+ */ 33, 33)
FC(3src_acc_wr_control, /* 4+ */ 28, 28, /* 12+ */ 33, 33, devinfo->ver < 20)
F(3src_cond_modifier, /* 4+ */ 27, 24, /* 12+ */ 95, 92)
F(3src_exec_size, /* 4+ */ 23, 21, /* 12+ */ 18, 16)
F(3src_pred_inv, /* 4+ */ 20, 20, /* 12+ */ 28, 28)