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:
Paul Berry 2011-10-21 14:16:25 -07:00
parent baf7f99fd7
commit 102bdd26e1
1 changed files with 1 additions and 1 deletions

View File

@ -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;
}