Software optimized for a particular processor is today's tech. In the future we may see CPUs that alter themselves to better serve the needs of software. I can see a day where a "cpu" was actually a bunch of different processors connected via a FPGA so that the software could reconfigure the CPU on the fly.