1. A method for dynamically determining which instructions from a plurality of available instructions issue in each clock cycle in a multithreaded processor capable of issuing a plurality of instructions in each clock cycle, the method comprising the steps of: determining a highest priority instruction from the plurality of available instructions; determining a compatibility of the highest priority instruction with each of the available instructions; and issuing the highest priority instruction together with other instructions compatible with the highest priority instruction in the same clock cycle, wherein the highest priority instruction cannot be a speculative instruction, the speculative instruction being defined as an instruction fetched and/or issued that may not be necessary because an outcome of an earlier program instruction is not yet known.