In both cranelift and v8, unsigned integer comparison are lowered to more than 1instruction: - unsigned greater/less-than takes 4 instructions; e.g. [cranelift](https://github.com/bytecodealliance/cranelift/blob/48029b4a16264672ce24afbee1050b37e1e68020/cranelift-codegen/meta/src/isa/x86/legalize.rs#L525-L532) and [v8](https://github.com/v8/v8/blob/19be4913881bb02c5d9b4f1c7547ee2d1273120b/src/compiler/backend/x64/code-generator-x64.cc#L3071-L3081) - both unsigned and signed greater/less-than-or-equal take 2 instructions; e.g. [cranelift](https://github.com/bytecodealliance/cranelift/blob/48029b4a16264672ce24afbee1050b37e1e68020/cranelift-codegen/meta/src/isa/x86/legalize.rs#L533-L542) and [v8](https://github.com/v8/v8/blob/19be4913881bb02c5d9b4f1c7547ee2d1273120b/src/compiler/backend/x64/code-generator-x64.cc#L3082-L3089) These seem like high-use instructions and I wonder if there is any good way to get around this inefficiency.
In both cranelift and v8, unsigned integer comparison are lowered to more than 1instruction:
These seem like high-use instructions and I wonder if there is any good way to get around this inefficiency.