For DEC Alpha, you'd want at minimum two versions of all compiled code since the byte-word extension isn't present in the earlier Alphas, and they need multiple instructions to load/save bytes and 16-bit words compared to later Alphas with BWX support (or other CPUs).
32-bit SPARC didn't ship with multiply/divide instructions, added later (SPARC V8). Any type of SIMD or math extension is going to make it worthwhile to compile the code both ways, perhaps in the same binary to select at runtime.