In the CLI specifications (ECMA-335, page 329), and also on MSDN, it is stated that the CIL opcode bge is equivalent to performing a clt.un followed by a brfalse.
This baffles me. I don't understand why the equivalent is the unordered clt.un, and not the regular clt. Especially considering there is also a bge.un, which does not state an equivalent set of instructions. I whould have expected bge to be equivalent to [clt, brfalse], and bge.un to be equivalent to [clt.un, brfalse].
Is this an error in the specifications or am I missing something?
That PDF states:
The effect of a
bge targetinstruction is identical to:
- If stack operands are integers, then
cltfollowed by abrfalsetarget- If stack operands are floating-point, then
clt.unfollowed by abrfalsetarget
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With