Re: ARM - Unwanted local variable stored in VFP register

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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
>



[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux