--- Comment #10 from hjl dot tools at gmail dot com 2009-08-18 04:49
---
(In reply to comment #3)
Btw, the documentation claims regparm only affects integral parameters.
Agreed, -regparm=N should only apply to integer parameters. I will take
a look when I find time.
BTW,
--- Comment #8 from mikulas at artax dot karlin dot mff dot cuni dot cz
2009-08-11 20:38 ---
Created an attachment (id=18341)
-- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=18341action=view)
A patch for -freg-struct-return
Another patch that makes -freg-struct-return consistent.
--- Comment #9 from mikulas at artax dot karlin dot mff dot cuni dot cz
2009-08-11 20:40 ---
The Basic rule implemented in both patches is: when you have aggregate type,
you MUST NOT look at mode to infer parameter or return method. It is
unreliable.
--
--- Comment #5 from ubizjak at gmail dot com 2009-08-10 08:05 ---
(In reply to comment #4)
If you want to change it to be consistent with the documentation (not with
existing implementation) and pass structures always on stack, I wouldn't
object
against it. Just don't change it
--- Comment #6 from ubizjak at gmail dot com 2009-08-10 08:06 ---
Adding H.J. to CC.
--
ubizjak at gmail dot com changed:
What|Removed |Added
CC|
--- Comment #7 from mikulas at artax dot karlin dot mff dot cuni dot cz
2009-08-10 19:36 ---
Worse, try to return these structures with -freg-struct-return and it also
follows this inconsistent pattern, some are returned in EAX:EDX, some are
returned in ST(0).
It is even inconsistent
--- Comment #1 from mikulas at artax dot karlin dot mff dot cuni dot cz
2009-08-09 18:40 ---
Created an attachment (id=18331)
-- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=18331action=view)
a proposed patch. Fixed bug 41013 as well.
Change it so that all the aggregate types take
--- Comment #2 from rguenth at gcc dot gnu dot org 2009-08-09 19:10 ---
Can you check if regparm(3) behavior ever changed during the gcc releases?
Hardly anyone deliberately designed it this way. Gcc internals are exposed to
the ABI!
well, regparm(n) is certainly out of the psABI
--- Comment #3 from rguenth at gcc dot gnu dot org 2009-08-09 19:13 ---
Btw, the documentation claims regparm only affects integral parameters.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41017
--- Comment #4 from mikulas at artax dot karlin dot mff dot cuni dot cz
2009-08-09 21:16 ---
Regparm changed between gcc 3.x - 4.x (I remember it too painfully, I had to
rewrite some assembler files). In 3.x, all arguments were incrementing register
count, even if they were on stack,
10 matches
Mail list logo