Encoding:

POOL32A

000000

rt

rs

PRECEU.PH.QBRA

1101001100

POOL32Axf

111100

6

5

5

10

6

SPECIAL3

011111

0

00000

rt

rd

PRECEU.PH.QBRA

11111

ABSQ_S.PH

010010

6

5

5

5

5

6

Format:

PRECEU.PH.QBRA rdt, rts

microMIPSDSP

Precision Expand Two Unsigned Bytes to Unsigned Halfword Values

Purpose:

Precision Expand Two Unsigned Bytes to Unsigned Halfword Values

Expand the precision of two unsigned byte values taken from the two right-alternate aligned positions of a quad byte vector to create two unsigned halfword values.

Description:

rdt = sign_extend(expand_prec8u16(rts23..16) || expand_prec8u16(rts7..0))

The two right-alternate aligned unsigned integer byte values from the four right-most byte elements in register rts are and writte n to des tination register rdt. The precision expansion is each expanded to unsigned halfword values achieved by pre-pending eight most-significant zero bits to the original byte value to ge nerate each 16 bit unsigned halfword value.

The sign of the left-most result is extended into the 32 most-significant bits of the destination register.

Restrictions:

No data-dependent exceptions are possible.

The operands must be values in the specified format. If they are not, the results are UNPREDICTABLE and the values of the operand vectors become UNPREDICTABLE.

Operation:

tempB15..0 = 08 || GPR[rts]23..16
tempA15..0 = 08 || GPR[rts]7..0
GPR[rdt]63..0 = (tempB15)32 || tempB15..0 || tempA15..0

Exceptions:

Reserved Instruction, DSP Disabled