Hi.

I think the FABS instruction has some spare bits (7), so we should encode
the bit to clear in those bits (don't assume bit 31).
This really makes the instruction a "bit-clear" instruction that can get
used for FABS.

Adding a similar bit toggle instruction could be useful?  (that would give
us fsign, but seems like it would be more useful than that).

The only difference between mulu and muls is that the flags will be set
differently - is this correct?
I'm not sure we need both?  I also don't see any difference between mului
and mulsi?

(The low n-bits of a n-bit by n-bit multiplication don't depend on whether
the numbers are signed or not).

If you wanted to use fewer opcodes all of SHLI, LSRI & ASRI could be given
the same opcode
and the type of shift could be encoded in some spare bits of the constant
(we only need 5-6 bits).

I also wonder about how we load a 32-bit constant.  Maybe the LI
instruction should allow loading a 21-bit number
and either right or left justifying it.  Then to load a 32-bit number you
can use the LI instruction to load the high
bits and load the low bits with an ori.


MM


On 24 March 2013 01:38, Timothy Normand Miller <[email protected]> wrote:

> Here's another version.
> http://www.cs.binghamton.edu/~millerti/ins-formats3.pdf
>
> * This time, I've gotten rid of the WR bit and made R0 the bitbucket.
> * The top bit of the instruction is 1 for an LL instruction that loads a
> 31-bit immediate into R1.  For all others, it's 0.
> * I added some more RX type instructions that may be convenient, like
> FABS, and NOT.
> * FNEG is really just FSUB(R0,x)
> * I'd like to group the RX type instructions together, so maybe they
> should be renumbered, and I realized that, well, there are unused bits, so
> I could group all RX types into a single function type and then have a
> function2 field for more of those.  But I'll put that off until we decide
> that the RR function space is crowded.
> * I just realized that we can now ditch the MOV instruction altogether and
> replace it with OR(R0,X), but I didn't make that change yet.
> * I renamed the R1 instruction type to RX to avoid confusion with the
> register R1.
>
> --
> Timothy Normand Miller, PhD
> Assistant Professor of Computer Science, Binghamton University
> http://www.cs.binghamton.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)
>
_______________________________________________
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