------- Additional Comments From schlie at comcast dot net 2005-06-26 15:06 ------- (In reply to comment #7) > (In reply to comment #6) > > The problem here is that gcc is using a DImode register to handle 6 byte > > (int+long) structure. Why I have no idea! > This is so it does not store it on the stack. As I said in comment #5, this > is a target issue and have > nothing to do with DImode.
It would seem more desireable given the intended purpose to avoid pushing it on the stack so that it's elements may be more effeciencly accessed, that it's coresponding elements be allocated within the register file (as opposed to the whole struct remaining packed into an alllocated DI mode integer), so that it's elements may be effeciently accessed without needing to rip them out or reassemble them into the otherwise packed monolithic structure? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11180