i965/fs: Fix LOAD_PAYLOAD handling in register coalesce is_nop_mov().
authorFrancisco Jerez <currojerez@riseup.net>
Fri, 2 Sep 2016 04:36:59 +0000 (21:36 -0700)
committerFrancisco Jerez <currojerez@riseup.net>
Wed, 14 Sep 2016 21:50:55 +0000 (14:50 -0700)
commit32d67923b28e55cfe23883510509644e788003f0
tree05d27e368ca658c19583039fb2f9fd7adedf9ea4
parent5cc6425d708a9b8c660c2f43f5e277c507c98bf0
i965/fs: Fix LOAD_PAYLOAD handling in register coalesce is_nop_mov().

is_nop_mov() was broken for LOAD_PAYLOAD instructions in two ways: On
the one hand the original destination register offset wasn't being
taken into account which would give incorrect results if it was
already non-zero, and on the other hand all source registers were
being treated as if they had a size of 32B, which is almost never the
case in SIMD16 programs for non-header sources.

Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
src/mesa/drivers/dri/i965/brw_fs_register_coalesce.cpp