[LLVMdev] __atomic_fetch_add on ARM

Renato Golin renato.golin at linaro.org
Fri May 10 08:32:31 PDT 2013

On 10 May 2013 16:21, Rafael EspĂ­ndola <rafael.espindola at gmail.com> wrote:

> * In ABIs that don't use external functions for atomics (linux hard
> float at least), we incorrectly decide to use function calls.

This seems to be the problem in my box, and Benjamin's hint did solve the
problem (setting MaxAtomicInlineWidth). However, I'm not sure what relation
that variable has to do with choosing library calls or not. If it's just a
matter of variable sizes (allowing direct atomic calls on 64-bit VFP
instructions), that it's possible that the fix is correct.

I have applied it and Clang compiles code that it wouldn't previously, but
I'm waiting for the build to finish to self-host Clang itself, which is the
ultimate test. I'll keep you posted.

* In ABIs that do use external function calls (non hard float linux?),
> we don't have code to actually generate the calls.

You mean in Clang? Or a library?

See the thread in
> http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20130415/078021.html
> .

>From this discussion, seems that compiler-rt is the wrong fix. Shouldn't
this be provided by libstdc++?

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130510/0d8aa07e/attachment.html>

More information about the llvm-dev mailing list