A system for performing floating point arithmetic operations including a
plurality of stages making up a pipeline, the stages including a first
stage and a last stage. The system also includes a register file adapted
for receiving a store instruction for input to the pipeline, where the
data associated with the store instruction is dependent on a previous
operation still in the pipeline. The system further includes a store
register adapted for outputting the data associated with the store
instruction to memory and a control unit having instructions. The
instructions are directed to inputting the store instruction into the
pipeline and to providing a path for forwarding the data associated with
the store instruction from the last stage in the pipeline to the store
register for use by the store instruction if the previous operation
immediately precedes the store operation in the pipeline and if there is
a data type match between the store instruction and the previous
operation. In addition, the instructions are directed to inputting the
store instruction into the pipeline and to providing a path for
forwarding the data associated with the store instruction from the first
stage in the pipeline to the store register for use by the store
instruction if the previous operation precedes the store operation by one
or more stage in the pipeline and if there is a data type match between
the store instruction and the previous operation.