I’ve seen a lot of posting about whether or not code for Cell being a pain in the ass to port to another architecture and haven't seen a good technical discussion about it so maybe I can fill that void.
As I mentioned in a previous post, Cell for PS3 was a processor with a single PowerPC core (PPE) and seven SPU's (six available to programmers). Cell can do floating point calculations on both the PPE and SPUs but the processor won't choose for you you have to say what processing element you want to use in your program. This has some issues. First off, that means you have to use the right instructions for the SPEs and unless you want to being old school and write assembly code, you'll have to rely on your compiler to do it for you. That means you need to write your C/C++ code in a way that the compiler will know that it has to give the SPUs calculations to perform. The compilers themselves, both IBM XL and GCC didn't have branch prediction for the SPEs, so the pipelines would break, so that means the programmer has to be in charge of scheduling when data will go to the SPEs to not risk computational downtime. Not only do you have to worry about scheduling, you have to worry about how the data is given to the SPE. SPE's don't have direct memory management, so best practice is to feed a long sequence of data instead of loading a chunk of memory. Needless to say, this is a very unique concept to a processor and out of the common ISAs at the time, x86, AMD64, MIPS, PowerPC (IBM/Apple version), and ARM, they didn't have anything like this. So if you are programmer that is experienced with anything else, you are going to have to learn new things. You'll have to learn new things just to understand the code you're going to have to port to AMD64.
I went out trying to find the old documentation on IBM's website on how to program this thing, they removed everything from public viewing. You can't even download SDKs or the simulator anymore. There is this:
PS3 dev wiki and
this salty programmer. Which brings me to my next point, there isn't anyone knowledgeable now to port the rest of the PS3 library in an efficient and cost effective way. Naughty Dog got away with this because they had some of the smartest Cell programmers for the PS3 still around at the time they did the ports, they only left after Druckmann went full crunch on them. I wouldn't trust Konami to port Metal Gear Solid 4 given Kojima productions is staying clear of them. There just isn't anyone left to understand how to reverse engineer this code correctly, let alone be interested in helping out a port for a remaster.
I will say this again, Cell is an extremely interesting processor and would be really cool for scientific computing but this thing was a solution looking for a problem when it came to video games.