I've been giving this a little more thought. If I'm not mistaken the difference between virtualization and emulation is the first one executes as direct ops on the host CPU (sandboxed to some extent tho) whereas emulation translates (or interprets) the original ops into sets of different ops that can run natively on the host CPU thus likely introducing some overhead.
But even if Wii is 32bit vs 64bit of CellBe, shouldn't it virtualize just fine? I think on x86_64 (or amd64 if you will, whatever the 64bit winner was for x86) the ops are made to extend upon x86, meaning MOV AX, 0x8 will just work the same moving a value of eight into a 32bit register because in order to make use of 64bit registers one would need to specifically use EAX. I'm talking from the back of my mind so I could be very wrong but that's how I remember it. So I would assume these PPC and PPC64 to work in a similar way? Then it could really be virtualized, right? Memory addressing wouldn't be an issue either. Or am I just flying?
Also if virtualizing Wii is impossible, what about some sort of binary source cross-compiler, which essentially acts as an interpreter but dumps the interpreted code to file and gets rid of the live interpreting overhead?
Lastly if my posts do not belong here, and this thread is only about GC emulation, apologies and feel free to move them over.