The decompiler comes in 9 different flavors:
x86 decompiler (32-bit code)
x64 decompiler (64-bit code)
ARM decompiler (32-bit code)
ARM64 decompiler (64-bit code)
PowerPC decompiler (32-bit code)
PowerPC64 decompiler (64-bit code)
MIPS decompiler (O32 and N32 ABI)
MIPS64 decompiler (N64 ABI)
ARC Decompiler (32-bit code)
Currently the decompiler can handle compiler generated code. Manually crafted code may be decompiled too but the results are usually worse than for compiler code. Support for other processors will eventually be added (no deadlines are available, sorry).
Below are the most important limitations of our decompilers (all processors):
exception handling is not supported
type recovery is not performed
global program analysis is not performed
Limitations specific to x86:
only 32-bit code can be analyzed with ida32
Limitations specific to x64:
only 64-bit code can be analyzed with ida64
Limitations specific to ARM32:
only 32-bit code can be analyzed with ida32
hard-float abi is not supported
Limitations specific to ARM64:
only 64-bit code can be analyzed with ida64
Limitations specific to PPC:
only 32-bit code can be analyzed with ida32
Vector/DFP/VSX/SPE instructions are not supported
Limitations specific to MIPS:
only 32-bit code can be analyzed
only O32 and N32 ABI are supported
only 32-bit FPR in O32 and 64-bit FPR in N32 are supported
Limitations specific to MIPS64:
only 64-bit code can be analyzed
only N64 ABI is supported
only 64-bit FPR are supported
Limitations specific to ARC:
only 32-bit code can be analyzed with ida32