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.