i965/vec4: Emit MADs from (x + -(y * z)).
authorMatt Turner <mattst88@gmail.com>
Sat, 20 Dec 2014 05:35:56 +0000 (21:35 -0800)
committerMatt Turner <mattst88@gmail.com>
Wed, 11 Feb 2015 01:47:37 +0000 (17:47 -0800)
commit3d581f99963dea7e93a2f8fd819410da02c1cb7f
treeb30d021ab257b1211701883b2afbcc3ba8115b26
parent5b29b2922afe2b8167a589fc2896a071fc85b693
i965/vec4: Emit MADs from (x + -(y * z)).

Same as commit c4fab711 to the fs backend.

total instructions in shared programs: 5945998 -> 5945788 (-0.00%)
instructions in affected programs:     74665 -> 74455 (-0.28%)
helped:                                399
HURT:                                  180

It hurts some programs because we make no attempts in the vec4 backend
to avoid MADs if they have constant (or vector uniform) arguments.

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