delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1996/05/03/11:34:37

Message-Id: <199605031526.LAA01425@mv.mv.com>
Date: Fri, 03 May 96 18:13:19 LIT
From: Martynas Kunigelis <martynas DOT kunigelis AT VM DOT KTU DOT LT>
Subject: Re: register calling convention
To: Alexander Lehmann <alexlehm AT rbg DOT informatik DOT th-darmstadt DOT de>,
DJGPP mailing list <djgpp AT delorie DOT com>
In-Reply-To: Your message of 2 May 1996 16:37:22 GMT

I would like to ask somebody with knowledge on this: does register calling
convention really *improve* the code speed??? I mean I spent a lot of time
trying to imlement it in DJGPP. I would dare to update the assembly parts
of DJGPP libc if we come to a conclusion that it is worth it.

One more thing: you must use __attribute__ ((cdecl)) to make sure your
function gets called like a standard C declaration (i.e. parms on stack).
Attribute `stdcall' means something completely different, check the docs.
Another rhing is that GCC currently has a bug, which doesn't let you assign
more than one attribute to a function. If you do, only the last one is taken
into account. I think for short simple functions __attribute__ ((regparm(3),
stdcall)) would be the best, but the bug... Actually I've implemented
attribute (fastcall), but that neads a patch to GCC sources.
OK, I hope to hear opinions if regparm convention is really worth implementing
it.... x86 really has so few registers.

Martynas

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019