Things like writing 'unrolled loop' code and making sure
there are multiple things to be done at once (making good
multi-pipelining possible) are also nice things to do.
But I agree that we really should be working on gcc/egcs
to:
- add machine descriptions for AMD/Rise/Cyrix/Centaur/etc.
so the compiler can choose the proper instructions on the
proper chip (different cost for operands on different chips)
- have the compiler do more efficient multipipelining, this
will be especially useful for the Rise chip
- replace one expensive opcode by multiple (parallelizible)
cheap ones when useful (-frisc for pgcc???)
- make egcs do better instruction scheduling by avoiding
unneeded branches and/or doing predicative branching
(a'la Merced) in software (if it's worth it at all:-)
Rik -- slowly getting used to dvorak kbd layout...
+-------------------------------------------------------------------+
| Linux memory management tour guide. H.H.vanRiel@phys.uu.nl |
| Scouting Vries cubscout leader. http://www.phys.uu.nl/~riel/ |
+-------------------------------------------------------------------+
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/