beautypg.com

Smpylh, Multiply signed 16 lsb – Texas Instruments TMS320C67X/C67X+ DSP User Manual

Page 284

background image

SMPYLH

Multiply Signed 16 LSB x Signed 16 MSB With Left Shift and Saturation

3-224

Instruction Set

SPRU733

Multiply Signed 16 LSB

y

Signed 16 MSB With Left Shift and Saturation

SMPYLH

Syntax

SMPYLH (.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 1 0 0 1 0 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

slsb16
xsmsb16
sint

.M1, .M2

Description

The src1 operand is multiplied by the src2 operand. The result is left shifted
by 1 and placed in dst. If the left-shifted result is 8000 0000h, then the result
is saturated to 7FFF FFFFh. If a saturation occurs, the SAT bit in CSR is set
one cycle after dst is written.

Execution

if (cond)

{
if (((src1

src2)

<<

1) != 8000 0000h)

((src1

src2)

<<

1)

dst

else

7FFF FFFFh

dst

}

else nop

Pipeline
Stage

E1

E2

Read

src1, src2

Written

dst

Unit in use

.M

Instruction Type

Single-cycle (16 × 16)

Delay Slots

1

See Also

MPYLH, SMPY, SMPYH, SMPYHL

Pipeline