------- Comment #6 from matz at suse dot de 2005-11-21 14:25 ------- Something is fishy. Iff registers are used for passing then it would have to be %rdi and %rsi (not %rax)! So the high part of this struct (where the bitfield lies) is not passed at all here. Per ABI this whole struct should be passed in registers (it's not larger than two eightbytes, and both eightbytes have class INTEGER (they contain no unaligned fields or other fancy stuff)).
-- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24969