A method of executing instructions in an execution unit of the type including an execution pipeline with a plurality of pipeline stages, wherein the plurality of pipeline stages includes a first pipeline stage and a second pipeline stage, wherein the first pipeline stage includes a first latch and first execution logic coupled to an output of the first latch and configured to process input data stored in the first latch, and the second pipeline stage includes a second latch and second execution logic coupled to an output of the second latch and configured to process input data stored in the second latch, and wherein the second latch is coupled intermediate to the first and second execution logic to latch output data from the first execution logic for use as input data by the second execution logic, the method comprising:
- operating the execution pipeline in a first mode by clocking the first and second latches such that the first and second pipeline stages perform steps for separate instructions in each clock cycle;
- and
- operating the execution pipeline in a second mode by setting the second latch to a transparent state to merge the first and second execution logic together such that the first and second pipeline stages perform steps for the same instruction in each clock cycle.