Skip to content

Latest commit

 

History

History
45 lines (27 loc) · 1.75 KB

gt.md

File metadata and controls

45 lines (27 loc) · 1.75 KB

gt (greater 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 greater 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{gt}_s^? \enspace (a: T, b: T) \to \begin{cases} 1_\mathsf{i32} &\text{if } a > b \\ 0_\mathsf{i32} &\text{if } a \le b \end{cases} $$

Instructions

Opcode Instruction Stack Arity
0x4A i32.gt_s $[ \mathsf{i32}, \mathsf{i32} ] \to [ \mathsf{i32} ]$
0x4B i32.gt_u $[ \mathsf{i32}, \mathsf{i32} ] \to [ \mathsf{i32} ]$
0x58 i64.gt_s $[ \mathsf{i64}, \mathsf{i64} ] \to [ \mathsf{i32} ]$
0x59 i64.gt_u $[ \mathsf{i64}, \mathsf{i64} ] \to [ \mathsf{i32} ]$
0x5E f32.gt $[ \mathsf{f32}, \mathsf{f32} ] \to [ \mathsf{i32} ]$
0x64 f64.gt $[ \mathsf{f64}, \mathsf{f64} ] \to [ \mathsf{i32} ]$

WAT Examples

todo

References

WebAssembly Core Specification

Footnotes

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

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

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

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