On 01/22/2018 11:15 AM, Alex Bennée wrote:
>>>  typedef struct TCGLabelPoolData {
>>>      struct TCGLabelPoolData *next;
>>> -    tcg_target_ulong data;
>>>      tcg_insn_unit *label;
>>> -    intptr_t addend;
>>> -    int type;
>>> +    int addend  : 32;
>>> +    int rtype   : 16;
>>> +    int nlong   : 16;
>>> +    tcg_target_ulong data[];
>>>  } TCGLabelPoolData;
>>>
>>
>> Seems a bit odd to use bitfields for 32 and 16 bit values, but whatever.
>> (My default reaction to bitfields is "be suspicious" :-))
> 
> I'm guessing this is the same reason as the softfloat re-factor. By
> manually forcing stuff into a bitfield the compiler does a better job of
> passing multiple structure elements in a single register?
> 
> It would be nice if the compiler could spot this itself though.

You're probably right that I could just use int16_t etc.


r~

Reply via email to