Patent ID: 8136107

Claim:
A method implemented for execution on a machine, the method comprising: processing multiple values assigned to a single variable during various stages of a software pipeline, wherein in the software pipeline, order of execution of instructions in a logical loop in a program code is modified so that independent instructions are executed in parallel on multiple processors; storing in a first slot in a vector register, a first value assigned to a first variable, during a first stage of the software pipeline; storing in a second slot in the vector register, a second value assigned to the first variable, during a second stage of the software pipeline; storing in a third slot in the vector register, an instruction applicable to said at least first value and the second value, such that execution of the instruction during a single processing cycle of the software pipeline, results in rotating of values stored in one or more slots of the vector register, so that the second value assigned to the first variable is moved from the second slot into the first slot, and wherein the rotating of the values stored in the slots of the vector register takes place during a single execution cycle.