On Don, 2013-02-14 at 14:35 +0100, Michel Dänzer wrote: 
> On Don, 2013-02-14 at 11:43 +0100, Christian König wrote: 
> > 
> > +    // Only one literal allowed
> > +    break;
> 
> The same literal could be used for several operands though. :)

Basically, it seems like we're pretty close to allowing VSrc for all
VOP* source operands, and doing something like the following
pseudo-code:

for (each VSrc operand) {
if (can be encoded as inline constant)
use inline constant;

if (is immediate &&
    (no literal or SGPR yet || value matches literal))
use literal;

if (is VGPR || (is SGPR && no SGPR or literal yet))
use operand directly;

copy immediate/SGPR to VGPR and use the latter;
}

And the corresponding simpler logic for SSrc. But I'm not sure if all of
that can be done in this function.


-- 
Earthling Michel Dänzer           |                   http://www.amd.com
Libre software enthusiast         |          Debian, X and DRI developer
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to