General purpose flags (ACFs) are defined and encoded utilizing a hierarchical
one-, two- or three-bit encoding. Each added bit provides a superset of the previous
functionality. With condition combination, a sequential series of conditional branches
based on complex conditions may be avoided and complex conditions can then be used
for conditional execution. ACF generation and use can be specified by the programmer.
By varying the number of flags affected, conditional operation parallelism can
be widely varied, for example, from mono-processing to octal-processing in VLIW
execution, and across an array of processing elements (PE)s. Multiple PEs can generate
condition information at the same time with the programmer being able to specify
a conditional execution in one processor based upon a condition generated in a
different processor using the communications interface between the processing elements
to transfer the conditions. Each processor in a multiple processor array may independently
have different units conditionally operate based upon their ACFs.