Encoding:

SPECIAL

000000

rs

rt

0

MULTP

10001

MULTU

011001

6

5

5

5

5

6

Format:

MULTP rs, rt

SmartMIPS Crypto

Multiply Binary Polynomial Basis Word

Purpose:

Multiply Binary Polynomial Basis Word

To multiply two 32-bit binary polynomial values

Description:

(LO, HI) = BinPolyMult(GPR[rs], GPR[rt])

The 32-bit word value in GPR rt is polynomial-basis multiplied by the 32-bit value in GPR rs, treating both operands as binary polynomial values, to produce a 64-bit result. The low-order 32-bit word of the result is placed into special register LO, and the high-order 32-bit word is placed into special register HI. The special register ACX is cleared.

No arithmetic exception occurs under any circumstances.

Restrictions:

None

Operation:

prod = PolyMult(GPR[rs]31..0, GPR[rt]31..0)
LO = sign_extend(prod31..0)
HI = sign_extend(prod63..32)
ACX = 0

Exceptions:

None