i965/fs: Recognize and emit ld_lz, sample_lz, sample_c_lz.
authorMatt Turner <mattst88@gmail.com>
Wed, 4 May 2016 22:37:02 +0000 (15:37 -0700)
committerMatt Turner <mattst88@gmail.com>
Fri, 20 May 2016 00:27:49 +0000 (17:27 -0700)
commit8a65b5135a167d4f12cef19408e0ca52fffe06bc
tree44be2800a984972827bbcc89f799353e3308d0a7
parent75dccf5ac2af716175990ae9eac44cc2c99b7e9c
i965/fs: Recognize and emit ld_lz, sample_lz, sample_c_lz.

Ken suggested instead of a big and complicated optimization pass, to
just recognize the operations here. It's certainly less code and a lot
prettier, but it seems to actually perform worse for currently unknown
reasons.

total instructions in shared programs: 8923452 -> 8904108 (-0.22%)
instructions in affected programs: 814563 -> 795219 (-2.37%)
helped: 3336
HURT: 10

total cycles in shared programs: 66970734 -> 66651476 (-0.48%)
cycles in affected programs: 10582686 -> 10263428 (-3.02%)
helped: 2438
HURT: 691

total spills in shared programs: 1811 -> 1789 (-1.21%)
spills in affected programs: 85 -> 63 (-25.88%)
helped: 4

total fills in shared programs: 3143 -> 3109 (-1.08%)
fills in affected programs: 167 -> 133 (-20.36%)
helped: 4

LOST:   2
GAINED: 36

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/mesa/drivers/dri/i965/brw_fs.cpp