On Fri, Mar 20, 2015 at 4:14 PM, Ian Romanick <i...@freedesktop.org> wrote: > On 03/20/2015 02:51 PM, Matt Turner wrote: >> On Fri, Mar 20, 2015 at 1:58 PM, Ian Romanick <i...@freedesktop.org> wrote: >>> From: Ian Romanick <ian.d.roman...@intel.com> >>> >>> An expression like -(x * 8) becomes (x * -8). >>> >>> Much of the hurt caused by this change appears to be from CSE not being >>> able to see (x * -8) and (x * 8) as common. Previously -(x * 8) and (x >>> * 8) would have had a common subexpression. Later patches address this >>> at the GLSL IR level, but additional work will be needed in NIR and the >>> i965 backend. >> >> I've got patches that do the opposite of this: pull the negate out of >> the multiplication. > > Why is pulling the negation off a constant useful?
Because shaders do x * -4.0 and x * 4.0 and if we just calculate x * 4.0 once we can negate its use for free. > This patch only pushes the negation onto a constant, and constant > folding will eliminate that. There's even an assertion in the code to > be sure. :) > > You have links (or a branch) to those patches? I'd like to compare the > results with these patches. Pushed to git://people.freedesktop.org/~mattst88/mesa mul-neg _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev