Hi Joey Here I forward you the email that I have posted to GCC help mailing list recently. Ilija On 24.09.2012 12:30, Ilija Kocho wrote: > Hi colleagues > > In a course of implementing lazy context switching I the following link > come to me: > http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dai0298a/DAFIFGGE.html > > Here is a quote in case the link renders broken (in future): > -- Quote ------------ > > > GNUC C compiler (gcc) > > If a program is compiled with the FPU option, gcc might make use of the > floating-point registers if register pressure is high, and running low > on available registers for data processing. In some cases, the memory > copy might also utilize floating-point registers to hold data. > > It is possible to avoid the use of floating-point instructions in > non-floating-point code by using |-mfloat-abi=soft|. > > By default, libraries are built with |-mfloat-abi=soft|. So they must > not contain floating-point instructions. However, because there are > various gcc vendors with different build options, you might have to > check with your gcc tool chain supplier to find out the status of the > libraries. > > -- end of quote --------- > > I did some research, googling and searching GCC mailing lists, and found > no other reference that would confirm/deny or put some light on above text. > > Therefore here are my questions: > > 1) Does GCC use VFP registers for holding data other than floating point > values (unsolicited VFP usage)? > > If (1) is true: > 1.1) What conditions, in addition to selecting -mfloat-abi=hard (or > softfp) shall cause such behaviour. I would appreciate some test case. > 1.2) Any pointer to source code responsible for this [optimization]? I > would appreciate this. > 1.4) Can it be disabled? I found no such command line option for ARM > targets. > > 2) Above quote states that -mfloat-abi=soft should be used for libs, but > ld refuses to link them with code produced with -mfloat-abi=hard even if > the libs do not use floating point operations. Is there a waay to tweak > this? > > I am especially intersted for Cortex-M4F architecture, but also I would > like to know about ARMv7 in general. > > Regards > Ilija >