madd

Multiply-accumulate signed

Multiplies $t1 by $t2 (signed) to form a 64-bit product, then adds that product to the current 64-bit value in HI:LO.

Forms

  • madd ,

Operands

$t1
Any general-purpose register, $0 to $31, using its numeric or named spelling, such as $8 or $t0 ($zero is $0; $ra is $31).
$t2
A general-purpose register. It may be the same register as $t1.

Useful for computing dot-products or sums of products without extra move instructions.

# Start HI:LO at zero, then accumulate 6 times 7. Inspect HI:LO: 42.
mtlo $zero
mthi $zero
li $t0, 6
li $t1, 7
madd $t0, $t1
mflo $t2
mfhi $t3