Mpyhsu, Multiply signed 16 msb, Unsigned 16 msb mpyhsu – Texas Instruments TMS320C67X/C67X+ DSP User Manual
Page 213

Multiply Signed 16 MSB x Unsigned 16 MSB
MPYHSU
3-153
Instruction Set
SPRU733
Multiply Signed 16 MSB
y
Unsigned 16 MSB
MPYHSU
Syntax
MPYHSU (.unit) src1, src2, dst
.unit = .M1 or .M2
Compatibility
C62x, C64x, C67x, and C67x+ CPU
Opcode
31
29
28
27
23
22
18
17
13
12
11
7
6
5
4
3
2
1
0
creg
z
dst
src2
src1
x 0 0 0 1 1 0 0 0 0 0 s p
3
1
5
5
5
1
1
1
Opcode map field used...
For operand type...
Unit
src1
src2
dst
smsb16
xumsb16
sint
.M1, .M2
Description
The signed operand src1 is multiplied by the unsigned operand src2. The result
is placed in dst. The S is needed in the mnemonic to specify a signed operand
when both signed and unsigned operands are used.
Execution
if (cond)
msb16(src1) × msb16(src2)
→
dst
else nop
Pipeline
Stage
E1
E2
Read
src1, src2
Written
dst
Unit in use
.M
Instruction Type
Multiply (16 × 16)
Delay Slots
1
See Also
MPYH, MPYHU, MPYHUS
Example
MPYHSU .M1 A1,A2,A3
Before instruction
2 cycles after instruction
A1 0023 0000h
35
†
A1 0023 0000h
A2 FFA7 FFFFh
65447
‡
A2 FFA7 FFFFh
A3 xxxx xxxxh
A3 0022 F3D5h
2290645
†
Signed 16-MSB integer
‡
Unsigned 16-MSB integer
Pipeline