A compiler for data processing outputs lower-level code for packing multiple
signed
data elements per register into a processor's registers using the rules set forth
herein, and when executed, the code simultaneously operates on the elements in
a register in a single cycle using the same operand. The elements can be independent
of each other as defined by compiler directives, and the sizes of the elements
in a register can differ from each other. Moreover, a relatively large element
can be split across multiple registers. In an exemplary application, a data stream
representing two images can be simultaneously processed using the same number of
registers as have been required to process a single image. Or, a single image can
be processed approaching N-times faster, where N is the number of elements per
register. In any case, the present invention results in a significant increase
in processing efficiency.