Result and
operand forwarding is provided between differently sized operands in a
superscalar processor by grouping a first set of instructions for
operand forwarding, and grouping a second set of instructions for result forwarding, the first set of instructions comprising a first source instruction having a first
operand and a first dependent instruction having a second operand, the first dependent instruction depending from the first source instruction; the second set of instructions comprising a
second source instruction having a third operand and a second dependent instruction having a fourth operand, the second dependent instruction depending from the
second source instruction, performing operand forwarding by forwarding the first operand, either whole or in part, as it is being read to the first dependent instruction prior to execution; performing result forwarding by forwarding a result of the
second source instruction, either whole or in part, to the second dependent instruction, after execution; wherein the operand forwarding is performed by executing the first source instruction together with the first dependent instruction; and wherein the result forwarding is performed by executing the second source instruction together with the second dependent instruction.