Hi !
Le 2013-03-23 14:34, Timothy Normand Miller a écrit :
On Sat, Mar 23, 2013 at 12:13 AM, <[email protected] [3]> wrote:
I would advise adding a ANDN instruction : AND with one inverted
operand. it speeds up boolean MUX sequences for example.
You mean like how this is done with SSE, where we make masks and AND
and OR vectors together? Yeah. The thing is, since this is not a
vector machine, can we accomplish the same thing with the same or
better performance using conditional MOV?
I'm not thinking about vectors here, but raw boolean.
I've used it quite a LOT, not in SSE but MMX anyway.
Furthermore you don't seem to have a practical way
of complementing boolean values. If you use XOR,
you need to preload a register with -1.
I also think that the WR flag should be infered from the opcode.
Yeah, so the three places are the opcode, the dest register (i.e.
zero), or an explicit bit.
speaking about the dest register : I'm sure you could teach a compiler
to write to an arbitrary register and not read it back (it's "just a
matter"
of coloring a graph in such a way that it's not reused)
Im still letting my subconscious work on
that, but Im starting to really like the idea of having a 31-bit
immediate. The question is: Which register do we store it in? If
we use R0 as a bitbucket, then we cant use that; if we use the opcode
then we can. R31 is often used (by convention) for subroutine return
address.
conventions are configured into compilers.
Remember one of the meanings of RISC :
"Relegate the Important Stuff to the Compiler"
and if you have to develop a compiler for your arch,
then you are full RISC. Don't let a compiler
(or what you think it can do or not) dictate your
architecture.
How do we inform a compiler of the fact that this is
special-purpose? They have had to deal with the fact that x86 has
special-purpose registers, like how CX is used for iteration count
implicitly for some instructions, so probably not a big deal.
in GCC there are files that configure that.
in other compilers... it's just "exceptions" to add
when handling the IR graph.
Otherwise, well, nice job :-)
Thanks. :)
I hope you can continue to do your thing :-)
_______________________________________________
Open-graphics mailing list
[email protected]
http://lists.duskglow.com/mailman/listinfo/open-graphics
List service provided by Duskglow Consulting, LLC (www.duskglow.com)