On Fri, Mar 23, 2018 at 3:44 PM, Ian Romanick <i...@freedesktop.org> wrote: > On 03/23/2018 11:39 AM, Matt Turner wrote: >> On Wed, Mar 21, 2018 at 5:58 PM, Ian Romanick <i...@freedesktop.org> wrote: >>> From: Ian Romanick <ian.d.roman...@intel.com> >>> >>> Now that i965 recognizes that a-b generates the same conditions as 'a < >>> b', there is no reason to condition this transformation on 'is not used >>> by conditional.' >>> >>> Since this was the only user of the is_not_used_by_conditional function, >>> delete it. >>> >>> All Gen6+ platforms had similar results. (Skylake shown) >>> total instructions in shared programs: 14400775 -> 14400595 (<.01%) >>> instructions in affected programs: 36712 -> 36532 (-0.49%) >>> helped: 182 >>> HURT: 26 >> >> Looked at why these are hurt? :) > > I should have known you were going to ask that. :) Since the changes > were small, I tried to avoid looking at them so that I wouldn't get > distracted again. But since you asked... > > Shaders from 4 apps were hurt. All but one of the hurt sharders was an > ARB_fragment_program. I looked at a shader from each of the four apps, > and in all of those cases a ffma / compare with zero became a multiply / > compare with something else. > > We already have a general case of this transformation in last > optimizations. So, I tried making this transformation more general (by > removing the fneg) and added a transformation to strip the fnegs from -a > < -b. The results on SKL are below. I'm not excited about the "max: 27 > x̄: 2.26". > > I think I'd like to land this patch as-is. I'm also going to play with > moving all the comparison munging out of late optimizations. I have > some patches in the queue that add some more transformations, so it will > be interesting to see the effect of moving them earlier.
Okay. Works for me. Reviewed-by: Matt Turner <matts...@gmail.com> _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev