Probably a stupid question but I am in the following situation:
our development machines are currently all 64-bit Intel-based systems, where we produce 32-bit and 64-bit versions of our applications. We also recommend our customers to use Intel-based systems (as opposed to AMD-based systems).
Now our IT-manager wants to buy some new development systems and to cut the costs he is looking into buying (64-bit) AMD-based systems. Visual Studio (2010) probably doesn’t care which processor it is running on, and the generated code is probably the same, but just to be sure: does it make any difference for the generated executable on which processor (AMD vs. Intel) it is built?
The .NET and Visual Studio compilers don’t really care AFAIK since I have experimented with this before and the assembly that it spits out is the same no matter what. In the case of ICC and GCC there are certain callpaths that must be differentiated for AMD and for Intel (very specific things) which you probably shouldn’t worry about to begin with. GCC not as much as ICC (Intel C Compiler) which will attempt to optimize with a lot of SSE and branch prediction hints on Intel but leave some out on AMD which may not support certain features.
There are also libraries out there that rely on specific architecture types such as Intel or AMD but they are very specialized (and I have only seen them used in research purposes) such as very complicated floating point parallel libraries and complex threading libraries.