The compiler I use has an option for producing instruction set specific output, i.e. I can select between 386, 486, Pentium and Pentium Pro. When compiling, I have always left it at the default of 386 and never looked into it in detail. My compiler is BCB, but I note that VC6 has a similiar option. Neither compiler documents this feature, except to state the obvious.
I need to know what sort of effect this has, especially with regard to emulation of certain features, such as floating point behaviour. Is possible, for example, that if I compile for 386 then my application is actually using floating point emulation rather than using the FPU? If so, where is this emulation performed?
What kind of other issues would be relevant if I were to release an app built with 'Pentium Pro' target instruction set, rather than 386?