1. A method comprising: executing original software code compiled targeting a first instruction set; detecting a hot spot in the original software code with a performance measuring unit of processor hardware; passing control to a binary translation translator after detecting the hot spot; determining a hot spot region for translation, wherein the determined hot spot region for translation is a loop, wherein determining the loop comprises identifying the loop with binary translation software, and wherein the binary translation software analyzes code in the loop and vectorizes the loop to use wider hardware vector instructions; generating translated code; and storing the translated code in a translation cache; executing the translated code from the translation cache, wherein the translated code includes both instructions that are included in the first instruction set and instructions that are not included in the first instruction set, and wherein the instructions that are not included in the first instruction set represent an extension of the first instruction set; and transitioning back to executing the original software code compiled targeting the first instruction set.