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.