1. A method for combining instructions, performed by a compiler, the method comprising: obtaining a plurality of first instructions, wherein each first instruction performs one of a calculation operation, a comparison operation, a logic operation, a selection operation, a branching operation, a LD/ST (Load/Store) operation, a SMP (sampling) operation and a complicated mathematics operation; combining the first instructions according to data dependencies between the first instructions; obtaining a second instruction, wherein the second instruction is used for sending data from a CR (Common Register) or a CB (Constant Buffer) to another CR or a post-processing unit; combining a combined result for the first instructions with the second instruction as one combined instruction; and sending the combined instruction to a SP (Stream Processor), wherein a performance of an operation of the first instructions by the SP is in parallel of a performance of an operation of the second instruction by the SP, wherein the SP comprises: a DF (Data Fetch) unit; a bypass-pipe, coupled to a CR (Common Register), a CB (Constant Buffer) and the DF unit; and a main-pipe, coupled to the DF unit and the bypass-pipe, comprising an ALG (Algorithm) unit, a comparison/logic unit and a post-PROC (Process) unit, wherein the ALG, comparison/logic and post-PROC units are coupled in series and each of the ALG, comparison/logic and post-PROC units is coupled to the bypass-pipe, and wherein a first computation unit of the ALG unit is coupled to the bypass-pipe and the DF unit for obtaining operands from the bypass-pipe and/or the DF unit.