So I far I have been using Snowman for PowerPC
decompilation. It is bad though but better than nothing. However, right now it doesn't support floating point instructions. They are simply written down as inline assembly which is of course kinda useless since you already had that in the disassembly:
void RadiusFromBoundsSq() {
__asm__("lfs f10, 8(r3)");
__asm__("lfs f5, (r3)");
__asm__("frsp f11, f10");
__asm__("lfs f6, (r4)");
__asm__("frsp f10, f5");
__asm__("frsp f12, f6");
__asm__("lfs f13, 4(r3)");
__asm__("fabs f11, f11");
__asm__("lfs f8, 4(r4)");
__asm__("frsp f0, f13");
__asm__("frsp f8, f8");
__asm__("lfs f9, 8(r4)");
__asm__("fabs f12, f12");
__asm__("frsp f13, f9");
__asm__("fabs f8, f8");
__asm__("fabs f0, f0");
__asm__("fabs f13, f13");
__asm__("fabs f10, f10");
__asm__("fsubs f7, f8, f0");
__asm__("fsubs f9, f13, f11");
__asm__("fsubs f6, f12, f10");
__asm__("fsel f8, f7, f8, f0");
__asm__("fsel f11, f9, f13, f11");
__asm__("fsel f0, f6, f12, f10");
__asm__("fmuls f13, f8, f8");
__asm__("fmadds f7, f0, f0, f13");
__asm__("fmadds f1, f11, f11, f7");
return;
}
Is there any "better" plugin for this task besides HexRays
?