On 04/13/2015 01:11 PM, Matt Turner wrote: > a * b is equivalent to -a * -b, and the previous code was failing at > that. > > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89961 > --- > src/mesa/drivers/dri/i965/brw_fs_cse.cpp | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/src/mesa/drivers/dri/i965/brw_fs_cse.cpp > b/src/mesa/drivers/dri/i965/brw_fs_cse.cpp > index f2c4098..c1d0616 100644 > --- a/src/mesa/drivers/dri/i965/brw_fs_cse.cpp > +++ b/src/mesa/drivers/dri/i965/brw_fs_cse.cpp > @@ -145,7 +145,7 @@ operands_match(const fs_inst *a, const fs_inst *b, bool > *negate) > xs[1].fixed_hw_reg.dw1.f = xs1_imm; > ys[1].fixed_hw_reg.dw1.f = ys1_imm; > > - *negate = (xs0_negate + xs1_negate) != (ys0_negate + ys1_negate); > + *negate = (xs0_negate != xs1_negate) != (ys0_negate != ys1_negate);
Any idea whether adding support for the double negation to the regular operands_match path helps anything? When I tried it at the GLSL IR level it didn't make any difference. If you didn't already push this patch, Reviewed-by: Ian Romanick <ian.d.roman...@intel.com> > return ret; > } else if (!a->is_commutative()) { > bool match = true; > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev