A method of supporting out-of-order completion of multiple instructions in a microprocessor, including at least one multi-register instruction that either stores or loads data from more than one register of a plurality of general purpose registers to memory, the processor having a dispatcher, a plurality of general purpose registers, a plurality of floating-point registers, and a plurality of execution units including a load/store unit and a floating-point execution unit, the method comprising the steps of:
- dispatching a multi-register instruction from the dispatcher to the load/store unit, wherein the load/store unit begins executing the multi-register instruction when dispatched;
- dispatching a floating-point instruction that is subsequent to the dispatched multi-register instruction in program order, and which is dependent upon source operand data stored in one or more floating point registers of the plurality of floating point registers, from the dispatcher to the floating-point execution unit, which executes the floating-point instruction;
- and
- completing execution of the floating point instruction after the multi-register instruction is dispatched to the load/store unit but prior to the multi-register instruction finishing execution, wherein said completing step comprising the step of storing result data of said floating-point instruction within at least one of said plurality of floating-point registers.