We've been looking recently at some object code from an Ada compiler for the PowerPC e500v2 core. As part of this, we examined the distribution of instruction mnemonics in the code generated by this particular use of the compiler on a suite of example programs.

The split by type of instruction is roughly as follows:

Interestingly, there aren't as many compare operations as we might otherwise expect. This is because xor tends to be used for this instead.

As is usually the case, there are some opcodes that are favoured and some that are never used, and as is also usually the case, the interesting stuff is in between.

Below is a list of instructions that were only used once in the generated output (out of over 100k instructions).