atomic accesses
Robert Dewar
dewar@adacore.com
Tue Mar 4 12:31:00 GMT 2008
Segher Boessenkool wrote:
>>>>> The Linux kernel, and probably some user-space applications and
>>>>> libraries
>>>>> as well, depend on GCC guaranteeing (a variant of) the following:
>>>>> "any access to a naturally aligned scalar object in memory
>>>>> that is not a bit-field will be performed by a single machine
>>>>> instruction whenever possible"
>>>>> and it seems the current compiler actually does work like this.
>>>> Seems a pity to have the bit-field exception here, why is it there?
>>> Bit-fields will generally require a read-modify-write instruction,
>>> and I don't think we actually guarantee to generate one right now.
>> Well if they do require more than one instruction, the rule has
>> no effect ("whenever possible"). If they can be done in one
>> instruction (as on the x86), then why not require this, why
>> make a special case?
>
> Because current GCC doesn't work like this AFAIK. I'm aiming for
> a documentation-only change here, we can always extend it later.
Fair enough, we don't want to document something we don't do!
Does this rule extend to the use of floating-point instructions
to guarantee atomic access to 64-bit long_long_integer, as
written it does!
>
>
> Segher
More information about the Gcc
mailing list