Thanks -mgeneral-regs-only is the solution. Almost because it does not allow to compile all sources with the same setting. Inlining is not a problem, because VFP enable/disable state is not function related but process related. Including LTO. Just for record: we really need to sort processes to float / non-float. Reason is simple. Save content of the VFP unit took additional time ~+25% on every content switch. It is a significant difference when most processes don't need VFP and ve have >40000 context switches per second Jiri This notion becomes ill-defined when you consider inlining, and LTO might > make it possible that VFP-using functions are candidates for inlining into > a larger function that does not have VFP enabled throughout. > > There's -mgeneral-regs-only command-line option that disallows use of VFP > (please see GCC manual for further info), so you can move functions that > need VFP to separate translation units, and pass the option to the rest. > > AFAICT this will work with LTO as well (GCC will consider functions > without the flag as not eligible for inlining into functions with it), > but you might want to work out an explicit way to prevent inlining if you > don't want to rely on this implicit (and undocumented) behavior. > > Alexander >