Patent ID: 8555035

Claim:
A method for aligning input operands stored in a multi-bank register file with function unit inputs, comprising: receiving an input program including an instruction specifying a first operand and at least one additional operand, wherein the first operand and the at least one additional operand are each allocated to a register that is stored in a different bank of the multi-bank register file; determining that the first input operand is allocated to a first register that is stored in a first bank of the multi-bank register file and that the first bank is not coupled to a first input of a function unit configured to perform an operation specified by the instruction; allocating a second register in a second bank of the multi-bank register file, wherein the second bank is coupled to the first input of the function unit; inserting a copy instruction into before the instruction to copy the first input operand from the first register to the second register and produce an aligned input operand; and replacing the first input operand with the aligned input operand to produce an output program corresponding to the input program having aligned input operands.