* destinations.
*/
for (int i = 0; i < num_acp; i++) {
- unsigned idx = acp[i]->dst.nr & (acp_table_size - 1);
+ unsigned idx = reg_space(acp[i]->dst) & (acp_table_size - 1);
acp_table[idx].push_tail(acp[i]);
}
if (inst->dst.file != VGRF)
continue;
- unsigned idx = inst->dst.nr & (acp_table_size - 1);
+ unsigned idx = reg_space(inst->dst) & (acp_table_size - 1);
foreach_in_list(acp_entry, entry, &acp_table[idx]) {
if (regions_overlap(inst->dst, inst->size_written,
entry->dst, entry->size_written))
* sources.
*/
for (int i = 0; i < num_acp; i++) {
- unsigned idx = acp[i]->src.nr & (acp_table_size - 1);
+ unsigned idx = reg_space(acp[i]->src) & (acp_table_size - 1);
acp_table[idx].push_tail(acp[i]);
}
foreach_block (block, cfg) {
foreach_inst_in_block(fs_inst, inst, block) {
- if (inst->dst.file != VGRF)
+ if (inst->dst.file != VGRF &&
+ inst->dst.file != FIXED_GRF)
continue;
- unsigned idx = inst->dst.nr & (acp_table_size - 1);
+ unsigned idx = reg_space(inst->dst) & (acp_table_size - 1);
foreach_in_list(acp_entry, entry, &acp_table[idx]) {
if (regions_overlap(inst->dst, inst->size_written,
entry->src, entry->size_read))