Operations:

Format

Syntax:

Operation:

Operands:

Architecture revision

Opcode

1

psubxh.sh Rd, Rx, Ry

Rd[31:16] = ASR(SE(Rx[31:16], 17) - SE(Ry[15:0], 17), 1);
Rd[15:0] = ASR(SE(Rx[15:0], 17) - SE(Ry[31:16], 17), 1);
{d, x, y} ∈ {0, 1, …, 15}

Rev1+

111

Rx

00000

Ry

001000001111

Rd

3

4

5

4

12

4

Description

Subtract the bottom halfword of Ry from the top halfword of Rx and the top halfword of Ry from the bottom halfword of Rx. The resulting halfwords are halved in order to avoid any overflow and then packed together in the destination register.

Status Flags:

Q:

Not affected.

V:

Not affected.

N:

Not affected.

Z:

Not affected.

C:

Not affected.