Operations:

Format

Syntax:

Operation:

Operands:

Architecture revision

Opcode

1

psubadd.h Rd, Rx:<part>, Ry:<part>

If (Rx-part == t) then operand1 = Rx[31:16] else operand1 = Rx[15:0];
If (Ry-part == t) then operand2 = Ry[31:16] else operand2 = Ry[15:0];
Rd[31:16] = operand1 - operand2;
Rd[15:0] = operand1 + operand2;
{d, x, y} ∈ {0, 1, …, 15}
part ∈ {t,b}

Rev1+

111

Rx

00000

Ry

0010000101

X

Y

Rd

3

4

5

4

10

1

1

4

Description

Perform an subtraction and addition on the same halfword operands which are selected from the source registers. The two halfword results are packed into the destination register without per- forming any saturation.

Status Flags:

Q:

Not affected.

V:

Not affected.

N:

Not affected.

Z:

Not affected.

C:

Not affected.