mulhd.
Multiply High Doubleword
Multiplies the contents of two registers and places the high-order 64 bits of the product into a target register.
Details
For mulhd., the product of the contents of register RA and RB is computed, and the high-order 64 bits of this product are placed into register RT.
Pseudocode Operation
if 'mulhd.' then
RT <- (RA) * (RB)
Programming Note
The mulhd. instruction multiplies two 64-bit integers and stores the high 64 bits of the result in a destination register. It does not affect any special registers like CR0 or XER, so developers should be cautious when relying on carry flags or overflow conditions. This instruction is commonly used in cryptographic algorithms where large integer multiplication is required without needing the lower half of the product.
Example
Encoding
Operands
-
RT
Target General Purpose Register -
RA
Source General Purpose Register -
RB
Source General Purpose Register