CPU architectures often gain interesting new instructions as they
evolve, but application developers often find it difficult to take
advantage of those instructions.
Reluctance to lose backward-compatibility
is one of the main roadblocks slowing developers from using advancements
in newer computing architectures.
Function multi-versioning (...