1. A computer program product for implementing an instruction loop buffer, the computer program product comprising: a non-transitory storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method comprising: fetching instructions from memory to generate an internal instructions to be executed; determining, by a processor, that a first instruction from the instructions corresponds to a first instruction loop; determining that a first optimized internal instruction loop corresponding to the first instruction loop is not stored in a loop buffer; optimizing one or more internal instructions of the first instruction loop; storing a resulting first optimized internal instruction loop in the loop buffer based on the determining that the first optimized internal instruction loop is not stored in the loop buffer, wherein the optimizing and storing are performed prior to executing the first instruction loop; detecting a beginning of a second instruction loop in the instructions; determining that a second optimized internal instruction loop corresponding to the second internal instruction loop is stored in the loop buffer, the second optimized internal instruction loop decoded and optimized; and based on determining that the second optimized internal instruction loop corresponding to the second internal instruction loop is stored in the loop buffer, fetching the second optimized instruction loop from the loop buffer, and executing the second and optimized instruction loop.