i965/fs: Perform CSE on load_payload instructions if it's not a copy.
authorMatt Turner <mattst88@gmail.com>
Sun, 30 Mar 2014 19:41:55 +0000 (12:41 -0700)
committerMatt Turner <mattst88@gmail.com>
Tue, 17 Jun 2014 16:40:30 +0000 (09:40 -0700)
commit31ae9c25ff07681f59e6ffc53c039e842cb39464
treec68208779c15050d2966b23f7d9a1fd24517cccc
parent8f4e324be257c1bf63660fba1f01da67cb56da84
i965/fs: Perform CSE on load_payload instructions if it's not a copy.

Since CSE creates instructions, if we let CSE generate things register
coalescing can't remove, bad things will happen. Only let CSE combine
non-copy load_payloads.

E.g., allow CSE to handle this

   load_payload vgrf4+0, vgrf5, vgrf6

but not this

   load_payload vgrf4+0, vgrf5+0, vgrf5+1
src/mesa/drivers/dri/i965/brw_fs_cse.cpp