1. A system comprising: means for analyzing a software program written in a high level language; and means for automatically generating an instruction set architecture optimized for executing that program based on the analysis, wherein the generated instruction set architecture contains at least one vector instruction.