I would also recommend to everybody to read the 5 documents (well, at least the first 3) about compilation in Cell, that you can find in http://www.research.ibm.com/cell/
Clearly, together with ISA analysis, SPEs are designed for single precision fp vector calculation. Any other usage, like integers, is a workaround of the floating point vector capabilities. You can find something like a = b[i+1]+c[i+2] can be extremely dangerous for performance (by the way, it is something I think it was already discussed by DeanoC and aaaaa00 or ERP long time ago).
There are no magic tricks in Cell, it is the same technology we can find in other top-of-the-line products. Just it has been tuned for a very specific usage, sacrificing other areas. Integer operations are significantly slower in SPEs than in any other similar core (Xenon, P4 or AMD64). However, fp vector calculation is very strong. It is a very interesting pay-off.
SPEs can execute almost everything. But nobody has said it can be done efficiently. Even more, IBM is saying it can not be in many cases.
Clearly, together with ISA analysis, SPEs are designed for single precision fp vector calculation. Any other usage, like integers, is a workaround of the floating point vector capabilities. You can find something like a = b[i+1]+c[i+2] can be extremely dangerous for performance (by the way, it is something I think it was already discussed by DeanoC and aaaaa00 or ERP long time ago).
There are no magic tricks in Cell, it is the same technology we can find in other top-of-the-line products. Just it has been tuned for a very specific usage, sacrificing other areas. Integer operations are significantly slower in SPEs than in any other similar core (Xenon, P4 or AMD64). However, fp vector calculation is very strong. It is a very interesting pay-off.
SPEs can execute almost everything. But nobody has said it can be done efficiently. Even more, IBM is saying it can not be in many cases.