SPRUI30H November 2015 – May 2024 DRA745 , DRA746 , DRA750 , DRA756
Assembly syntax: | VEXITNZ level, src1 |
Operation: | Exit upon non-zero |
Classification: | special |
Bit width: | 40-bit |
Delay slot: | no |
C statement: | As follows |
VEXITNZ is for early termination of VLOOP or in the repeat-loop level. The designated src1 register’s 0th way is examined every time the instruction executes, and if it is not zero, the hardware terminates either at VLOOP level or at VRPT level, as indicated by the level parameter.
Parameter src1 is examined at the time the instruction executes, and an exit/no-exit decision is made. However, any exit/no-exit action is not taken immediately. For VEXITNZ VLOOP, subsequent instructions in the same iteration, remaining operations and all the stores, are executed, then the loop terminates. For VEXITNZ VRPT; all subsequent instructions in the same loop are executed, including the rest of the iteration, and all remaining iterations until i1, i2, i3, i4 all run to respective end counts, then the repeated loop terminates.
There can only be one VEXITNZ in each vector command; no mixing of VEXITNZ VLOOP and VEXITNZ VRPT. When the vector command is not repeated (RPT_END = 0), VEXITNZ VRPT behaves like VEXITNZ VLOOP.