i965/fs: Fix split_virtual_grfs() when delta_xy not in a virtual register.
This patch modifies the special case in fs_visitor::split_virtual_grfs() that prevents splitting from being applied to the delta_x/delta_y register pair (this register pair needs to remain contiguous so that it can be used by the PLN instruction). When gen>=6, this register pair is in a fixed location, not a virtual register, so it was in no danger of being split. And split_virtual_grfs' attempt not to split it was preventing some other unrelated register from being split. Reviewed-by: Eric Anholt <eric@anholt.net>
This commit is contained in:
parent
baf7f99fd7
commit
102bdd26e1
|
@ -768,7 +768,7 @@ fs_visitor::split_virtual_grfs()
|
|||
split_grf[i] = false;
|
||||
}
|
||||
|
||||
if (brw->has_pln) {
|
||||
if (brw->has_pln && this->delta_x.file == GRF) {
|
||||
/* PLN opcodes rely on the delta_xy being contiguous. */
|
||||
split_grf[this->delta_x.reg] = false;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue