How to JUMP on one PE in SIMD mode?
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?
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
Thanks
Please log in to reply.