Float (signed) number comparisons compiled to unsigned version of instruction
Why does
compile to
whereas
compiles to the same thing but with
sharplab: https://sharplab.io/#v2:EYLgxg9gTgpgtADwGwBYA0AXEBLANgHwAEAmARgFgAoQgZgAIS6BhOgbyrs4fuAglzoA7CBgAUAM1wQAhhjrS0dSTLnAAlGw5dthAOx0AhKOl0AfHXUBuLZwC+N7hb4DcGGAEcJU2fMXKf6pqU2jr6JgA8ALwW1sFc9pS2QA
compile to
whereas
compiles to the same thing but with
cgt instead of cgt.un? Are these two expressions not equivalent? I'm also confused why it's using .un for two signed numbers that are orderedsharplab: https://sharplab.io/#v2:EYLgxg9gTgpgtADwGwBYA0AXEBLANgHwAEAmARgFgAoQgZgAIS6BhOgbyrs4fuAglzoA7CBgAUAM1wQAhhjrS0dSTLnAAlGw5dthAOx0AhKOl0AfHXUBuLZwC+N7hb4DcGGAEcJU2fMXKf6pqU2jr6JgA8ALwW1sFc9pS2QA
C#/VB/F# compiler playground.