On 8/13/07, Petter Urkedal <[EMAIL PROTECTED]> wrote:
> On 2007-08-12, Timothy Normand Miller wrote:
> > So, we have some synthesis results.  The winner is:  The multiplier.
> > To make a 32x32 multiplier, four of the 18x18's have to be bolted
> > together, and this is what we get:
>
> Thanks for the results.  Based on the pure algebra, if we don't report
> the upper 32 bits of the 64 bit result, then the synthesizer should be
> able to eliminate one of the four multipliers.  But, that will probably
> not help us, so
>
>
> Let's first consider having a single 16x16->32 multiplier.  That is, we
> have the instruction
>
>         mul/ll rX, rY, rZ
>

[snip]

I like the idea of having the 16x16 multiplier and adding code to do
larger.  I feel that 16x16 would be common, while anything larger
would be rare.  For instance, in the GPU, we will often have places
where we multiply a 16-bit Y coordinate by a 16-bit line stride, then
add a 16-bit X coordinate.

I forget.  Do we care about signed multiplies?

I like Andre's idea of (possibly) building the shifts into the mul
instructions.  Also, in response to his question, I'm targetting the
3S4000 because it's convenient.  In the real design, we'll target the
XP10, which is a little slower.  Either way, this tells us basically
what we need to know.

-- 
Timothy Normand Miller
http://www.cse.ohio-state.edu/~millerti
Open Graphics Project
_______________________________________________
Open-graphics mailing list
[email protected]
http://lists.duskglow.com/mailman/listinfo/open-graphics
List service provided by Duskglow Consulting, LLC (www.duskglow.com)

Reply via email to