.Net seems to target architecture families (such as x86, amd64, and ia64) rather than individual architectures. Adding optimization for the various options and extensions of the three basic architectural families is an implementation detail that may or may not improve performance, but is not required to create executable code; these optimizations may be skipped in point versions, but Microsoft does not seem to be very committed to updating its JIT to get an extra percentage point of speed from the latest chip.
Edit: It seems like the answer is 'it depends' . JIT performs some processor-specific optimizations, but they are only added by Microsoft when they see clear pain points at work; Compiling in "on-time" mode with NGen never includes processor-specific optimizations.
Jeffrey hantin
source share