[Mesa-dev] [PATCH] i965/fs: Don't disable SIMD16 when using the pixel interpolator

Kenneth Graunke kenneth at whitecape.org
Sun Jul 5 17:39:29 PDT 2015


On Monday, July 06, 2015 02:45:59 AM Francisco Jerez wrote:
> Matt Turner <mattst88 at gmail.com> writes:
> > On Fri, Jul 3, 2015 at 3:46 AM, Francisco Jerez <currojerez at riseup.net> wrote:
[snip]
> Yeah.  I did in fact try to implement uaddCarry last Friday without
> using the accumulator by doing something like:
> 
> | CMP.o tmp, src0, -src1
> | MOV dst, -tmp
> 
> ...what of course didn't work because of the extra argument precision
> post-source modifiers and also because the .o condmod doesn't work at
> all on CMP, but...
> 
> > Ideally, we'd recognize merge the addition and carry operations into a
> > single ADDC instruction, but it's pretty unimportant. It's all pretty
> > academic -- I've never seen an application use either operation (or
> > [iu]mulExtended either).
> 
> ...if we did the following instead:
> 
> | ADD tmp, src0, src1
> | CMP.l tmp, tmp, src0
> | MOV dst, -tmp
> 
> the ADD could be easily CSE'ed with the original ADD instruction (and
> the source modifier of the last MOV can also be easily propagated into
> some other instruction), so even though it seems like one instruction
> more than what we emit now it might be a net win (aside from it working
> on SIMD16).  usubBorrow is even easier:
> 
> | CMP.l tmp, src0, src1
> | MOV dst, -tmp
> 
> I was planning to run it through shader-db tomorrow but if you say
> you've never seen them used I guess I shouldn't get my hopes too high? :P

Yeah, there's nothing in shader-db that uses them, so I wouldn't bother.

I'm definitely a huge fan of avoiding the accumulator - it's always been
a total pain to deal with.  If you guys come up with a solution that
uses normal registers and avoids MACH, that sounds great to me.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20150705/7ad2f9b0/attachment.sig>


More information about the mesa-dev mailing list