POOL32A 000000 |
rt |
rs |
PRECEQU.PH.QBLA 0111001100 |
POOL32Axf 111100 |
6 |
5 |
5 |
10 |
6 |
SPECIAL3 011111 |
0 00000 |
rt |
rd |
PRECEQU.PH.QBLA 00110 |
ABSQ_S.PH 010010 |
6 |
5 |
5 |
5 |
5 |
6 |
PRECEQU.PH.QBLA rdt, rts |
microMIPSDSP |
Precision Expand two Unsigned Bytes to Fractional Halfword Values |
Precision Expand two Unsigned Bytes to Fractional Halfword Values
Expand the precision of two unsigned byte values taken from the two left-alternate aligned elements of a quad b yte vector to create two Q15 fractional halfword values.
rdt = sign_extend(expand_prec(rts31..24) || expand_prec(rts15..8))
The two left-alternate aligned unsigned integer byte values from the four right-most byte elements in register rts are expanded to create two Q15 fractional values that are then written to destination register rdt. The precision expansion is achieved by pre-pending a single zero bit (for positive sign) to the original byte value and appending seven leastsignificant zeros to generate each 16-bit fractional value.
The sign of the left-most result is extended into the 32 most-significant bits of the destination register.
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.
tempB15..0 = 01 || GPR[rts]31..24 || 07 tempA15..0 = 01 || GPR[rts]15..8 || 07 GPR[rdt]63..0 = (tempB15)32 || tempB15..0 || tempA15..0
Reserved Instruction, DSP Disabled