On Tue, Jun 14, 2011 at 5:44 PM, Joern Rennecke <amyl...@spamcop.net> wrote: > Quoting Bernd Schmidt <ber...@codesourcery.com>: > >> * Most sane ABIs pass single-word structs in registers > > Unfortunately, the i386 SYSV ABI (used generally for i386 elf toolchains) > is half-way insane in that respect: function return of small aggregates also > goes via a caller-passed pointer to a stack slot. (You can avoid that using > -freg-struct-return, but that option is not safe unless you have a > full set of multilibs built with that option.) > >> * For the most part, gcc runs on i686 and there it doesn't make a >> difference. > > It used to make a difference for function value return. But apparently > we have lost that feature of transparent union somewhere between gcc 2.7.0 > and gcc 4.4.5 . >
Do you have a testcase for i386? -- H.J.