9.3.7.12 Integer Arithmetic Instructions

Instruction: uadd s8:dst s8:a s8:b
Instruction: uadd/immediate s8:dst s8:a c8:b

Add the u64 values a and b, and store the u64 result to dst. Overflow will wrap.

Instruction: usub s8:dst s8:a s8:b
Instruction: usub/immediate s8:dst s8:a c8:b

Subtract the u64 value b from a, and store the u64 result to dst. Underflow will wrap.

Instruction: umul s8:dst s8:a s8:b
Instruction: umul/immediate s8:dst s8:a c8:b

Multiply the u64 values a and b, and store the u64 result to dst. Overflow will wrap.

Instruction: ulogand s8:dst s8:a s8:b

Place the bitwise and of the u64 values a and b into the u64 local dst.

Instruction: ulogior s8:dst s8:a s8:b

Place the bitwise inclusive or of the u64 values a and b into the u64 local dst.

Instruction: ulogxor s8:dst s8:a s8:b

Place the bitwise exclusive or of the u64 values a and b into the u64 local dst.

Instruction: ulogsub s8:dst s8:a s8:b

Place the bitwise and of the u64 values a and the bitwise not of b into the u64 local dst.

Instruction: ulsh s8:dst s8:a s8:b
Instruction: ulsh/immediate s8:dst s8:a c8:b

Shift the unboxed unsigned 64-bit integer in a left by b bits, also an unboxed unsigned 64-bit integer. Truncate to 64 bits and write to dst as an unboxed value. Only the lower 6 bits of b are used.

Instruction: ursh s8:dst s8:a s8:b
Instruction: ursh/immediate s8:dst s8:a c8:b

Shift the unboxed unsigned 64-bit integer in a right by b bits, also an unboxed unsigned 64-bit integer. Truncate to 64 bits and write to dst as an unboxed value. Only the lower 6 bits of b are used.

Instruction: srsh s8:dst s8:a s8:b
Instruction: srsh/immediate s8:dst s8:a c8:b

Shift the unboxed signed 64-bit integer in a right by b bits, also an unboxed signed 64-bit integer. Truncate to 64 bits and write to dst as an unboxed value. Only the lower 6 bits of b are used.