Barrel Shifter (Shifter)
The operand type determines the correct bits to extract from the Accumu-
lator and deposit in the 16-bit destination register. See
Accumulate" on page
R3 = (A1 += R1.H * R2.L), R2 = (A0 += R1.L * R2.L) ;
In this instruction, the 40-bit Accumulators are packed into two 32-bit
registers. The registers must be register pairs (
).
R[7:6]
R3.H = (A1 += R1.H * R2.L), A0 += R1.L * R2.L ;
This instruction is an example of one Accumulator—but not the other—
being transferred to a register. Either a 16- or 32-bit register may be speci-
fied as the destination register.
Barrel Shifter (Shifter)
The shifter provides bitwise shifting functions for 16-, 32-, or 40-bit
inputs, yielding a 16-, 32-, or 40-bit output. These functions include
arithmetic shift, logical shift, rotate, and various bit test, set, pack,
unpack, and exponent detection functions. These shift functions can be
combined to implement numerical format control, including full float-
ing-point representation.
Shifter Operations
The shifter instructions (
ious ways, depending on the underlying arithmetic requirements. The
and
ASHIFT
>>>
, and
instructions represent the logical shift.
<<
>>
2-48
ADSP-BF53x/BF56x Blackfin Processor Programming Reference
2-44.
,
,
>>>
>>
<<
instructions represent the arithmetic shift. The
,
R[1:0]
,
,
,
ASHIFT
LSHIFT
ROT
"Multiply Without
R[3:2], R[5:4],
) can be used var-
,
LSHIFT
Need help?
Do you have a question about the ADSP-BF53x Blackfin and is the answer not in the manual?