Visible to Intel only — GUID: iga1409765333193
Ixiasoft
Visible to Intel only — GUID: iga1409765333193
Ixiasoft
8.5.67. mulxsu
Instruction | multiply extended signed/unsigned |
Operation | rC ← ((signed) rA) x ((unsigned) rB)) 63..32 |
Assembler Syntax | mulxsu rC, rA, rB |
Example | mulxsu r6, r7, r8 |
Description | Treating rA as a signed integer and rB as an unsigned integer, mulxsu multiplies rA times rB, and stores the 32 high-order bits of the product to rC. Nios® II processors that do not implement the mulxsu instruction cause an unimplemented instruction exception. |
Usage | mulxsu can be used as part of the calculation of a 128-bit product of two 64-bit signed integers. Given two 64-bit integers, each contained in a pair of 32-bit registers, (S1 : U1) and (S2 : U2), their 128-bit product is: (U1 x U2) + ((S1 x U2) << 32) + ((U1 x S2) << 32) + ((S1 x S2) << 64). The mulxsu and mul instructions are used to calculate the two 64-bit products S1 x U2 and U1 x S2. |
Exceptions | Unimplemented instruction |
Instruction Type | R |
Instruction Fields | A = Register index of operand rA B = Register index of operand rB C = Register index of operand rC |
Bit Fields | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
A | B | C | 0x17 | ||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
0x17 | 0 | 0x3a |