A small anomaly of the CIL instruction set is why the ceq, cgt
, cgt.un, clt and clt.un
instructions are 2-byte op-codes.
2-byte op-codes would normally be used for instructions that are not commonly used, as they (obviously) take up more space than 1-byte op-codes.
But the group of op-codes listed above are commonly used, and
there appears to be plenty of space in the 1-byte op-code space for them to only use 1 byte - e.g. 0xBB - 0xBF.
So why do they use 2 bytes?