1. A method, comprising: decoding a macroinstruction of a computer, the decoding generating a plurality of iterations of a sequence of one or more microinstructions, including: a pattern of microinstructions implementing a basic operation, and a branch instruction predicted not taken; on detecting that an iteration completes operation of the macroinstruction, adding a marker indicating an end of the macroinstruction to a microinstruction in a pipeline downstream of an instruction decoder; after reaching a termination condition of the macroinstruction, partially executing an iteration beyond the termination, the partial execution committing at least one side-effect to an architecturally-visible resource of the computer, and raising an exception to transfer control to a second microinstruction stream; and in the second microinstruction stream, unwinding the side-effects committed by the post-termination iteration.