intel/fs: Use shuffle_from_32bit_read for 64-bit gs_input_load
authorJose Maria Casanova Crespo <jmcasanova@igalia.com>
Sat, 9 Jun 2018 09:46:01 +0000 (11:46 +0200)
committerJose Maria Casanova Crespo <jmcasanova@igalia.com>
Sat, 16 Jun 2018 20:39:08 +0000 (22:39 +0200)
commit152bffb69bdb13e63a9112ddab78dc86855d9687
treeb0a39c299e6f8d136a8ae66576f939cf2f123da6
parent8b26a2d96d5806d698f827d5521cf75504dc3a85
intel/fs: Use shuffle_from_32bit_read for 64-bit gs_input_load

This implementation avoids two unneeded MOVs for each 64-bit
component. One was done in the old shuffle, to avoid cases of
src/dst overlap but this is not the case. And the removed MOV
was already being being done in the shuffle.

Copy propagation wasn't able to remove them because shuffle
destination values are defined with partial writes because they
have stride == 2.

v2: Reword commit log summary (Jason Ekstrand)

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
src/intel/compiler/brw_fs_nir.cpp