Multiply 2 unsigned 64-bit values together. Place the high-order 64 bits of the result into a register.
|mulhdu||RT, RA, RB (Rc=0)|
|mulhdu.||RT, RA, RB (Rc=1)|
Both the operands and the product are interpreted as unsigned integers, except that if Rc = 1 (the mulhw. instruction) the first three bits of the condition register 0 field are set by signed comparison of the result to zero.
The 64-bit operands are the contents of RA and RB. The low-order 64 bits of the 128-bit product of the operands are placed into RT.
Other registers altered:
Affected: LT, GT, EQ, SO (if Rc = 1)
Note: The setting of CR0 bits LT, GT, and EQ is mode-dependent, and reflects overflow of the 64-bit result.
This instruction may execute faster on some implementations if RB contains the operand having the smaller absolute value.
|RT||Specifies target general-purpose register for the result of the computation.|
|RA||Specifies source general-purpose register for the multiplicand.|
|RB||Specifies source general-purpose register for the multiplier.|
This instruction is defined only for 64-bit implementations. Using it on a 32-bit implementation will cause the system illegal instruction error handler to be invoked.