On Mon, Jan 5, 2015 at 12:53 PM, DJ Delorie <d...@redhat.com> wrote:
>
> Matt Godbolt <m...@godbolt.org> writes:
>> GCC's code generation uses a "load; add; store" for volatiles, instead
>> of a single "add 1, [metric]".
>
> GCC doesn't know if a target's load/add/store patterns are
> volatile-safe, so it must avoid them.  There are a few targets that have
> been audited for volatile-safe-ness such that gcc *can* use the combined
> load/add/store when the backend says it's OK.  x86 is not yet one of
> those targets.

Really?  I thought x86 was one of the few that were known to be ok
here.  What is involved with the auditing?

Reply via email to