Skip to content

Latest commit

 

History

History
45 lines (27 loc) · 1.74 KB

lt.md

File metadata and controls

45 lines (27 loc) · 1.74 KB

lt (less than)

Takes 2 operands from the stack of the same numeric type and compares them.

Places an i32 on the stack representing the result of the comparison: either 1 if the first operand is less than the second, or 0 otherwise 1 2 3.

For integer types, there are two opcodes per type, to indicate whether to treat the operands as signed or unsigned for the comparison 4.

$$ T.\mathsf{lt}_s^? \enspace (a: T, b: T) \to \begin{cases} 1_\mathsf{i32} &\text{if } a < b \\ 0_\mathsf{i32} &\text{if } a \ge b \end{cases} $$

Instructions

Opcode Instruction Stack Arity
0x48 i32.lt_s $[ \mathsf{i32}, \mathsf{i32} ] \to [ \mathsf{i32} ]$
0x49 i32.lt_u $[ \mathsf{i32}, \mathsf{i32} ] \to [ \mathsf{i32} ]$
0x56 i64.lt_s $[ \mathsf{i64}, \mathsf{i64} ] \to [ \mathsf{i32} ]$
0x57 i64.lt_u $[ \mathsf{i64}, \mathsf{i64} ] \to [ \mathsf{i32} ]$
0x5D f32.lt $[ \mathsf{f32}, \mathsf{f32} ] \to [ \mathsf{i32} ]$
0x63 f64.lt $[ \mathsf{f64}, \mathsf{f64} ] \to [ \mathsf{i32} ]$

WAT Examples

todo

References

WebAssembly Core Specification

Footnotes

  1. Execution, Numerics, Integer Operations, ilt_u - https://www.w3.org/TR/wasm-core-2/exec/numerics.html#op-ilt-u

  2. Execution, Numerics, Integer Operations, ilt_s - https://www.w3.org/TR/wasm-core-2/exec/numerics.html#op-ilt-s

  3. Execution, Numerics, Floating-Point Operations, flt - https://www.w3.org/TR/wasm-core-2/exec/numerics.html#op-flt

  4. Structure, Numeric Instructions - https://www.w3.org/TR/wasm-core-2/syntax/instructions.html#numeric-instructions