Longword Remainder Unsigned (remlu)

Syntax

remlu $s_reg1, $s_reg2, $d_reg

remlu $d_reg/$s_reg1, $s_reg2

remlu $s_reg1, val_immed, $d_reg

remlu $d_reg/$s_reg1, val_immed

Description

Longword Remainder Unsigned computes the remainder of the division of two unsigned 32-bit values. The remainder remlu (i, j) is defined as i-(j*divlu (i, j)) where j !=0. This instruction divides the contents of $s_reg1 by the contents of $s_reg2 or the immediate value and then puts the remainder in the destination register.

For divide-by-zero, an error is signaled and a call_pal PAL_gentrap instruction may be issued.

Note   The assembler destroys the contents of temporary registers $at, $t9, $t10, $t11, and $t12 for this instruction.