ΣSigmaStudio Ask AI Русский Log in

How to JUMP on one PE in SIMD mode?

Processors & DSP dishant19 Apr 28, 2016 00:00 2 replies Original on forum ↗
Subscribe
dishant19 Question
Apr 28, 2016 00:00

When we compute a condition in SIMD mode, it checks for status registers in both ASTATx and ASTATy. For eg. in below mentioned code:

bit set MODE1 BITM_REGF_MODE1_PEYEN;

NOP;

btst r8 by 0;

if sz jump .label

Here it perfroms Logical AND of ASTATx.sz and ASTATy.sz. I want it to check for PEx only. How can it be achieved?

ADIApproved Reply
May 9, 2016 00:00

Hi,

In conditional computation and data move (IF ... compute/move) instructions, each processing element executes the computation/move based on evaluating the condition in that processing element

But in conditional branch (if ... jump/call) instructions, the program sequencer executes the jump/call based on the logical AND of the conditions in both processing elements.

In ADSP-SC58x processor, there is an option for conditional execution by selecting the processing unit X or Y, but this is not applicable to Conditional branch instructions.

Hence it is not possible to check for a single PE status for a conditional branch instauction in SIMD mode.

Refer to SHARC+ Programming Reference Manual Pg 4.54 for more details

http://www.analog.com/media/en/dsp-documentation/processor-manuals/SC58x-2158x-prm.pdf

Regards,

Mahesh

dishant19 Reply
May 10, 2016 00:00

Thanks