This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: calculation of pi


On 11/02/2012 07:11 PM, Ian Lance Taylor wrote:
On Fri, Nov 2, 2012 at 8:13 AM, Mischa Baars <mjbaars1977@gmail.com> wrote:
I have been writing this piece of example code, but it seems that someone
has been modifying the compiler in the meantime such that arguments are now
passed in xmm registers instead of over the stack. Also the npx top of stack
pointer isn't handled alike for all three different types of real numbers on
function return any more.
I have not looked at your code.  However, I can tell you that on
32-bit x86 floating point function arguments are normally passed on
the stack and on 64-bit x86 floating point arguments are normally
passed in the xmm registers.  There are various ways that you can
change this default behaviour, but if you are seeing an unexpected
change then I would guess that you changed from 32-bit compilation to
64-bit compilation.

Ian

By the way, it seems this only holds for single and double real numbers. These are indeed passed in xmm registers, the long double however is still passed over the stack.


Do we have any compiler options that change this behaviour back to the original? The default behaviour in 64-bit mode is not even the same for all real number types.

Mischa.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]