c4-project / c4t

Runs concurrent C compiler tests
MIT License
1 stars 0 forks source link

Add -moutline-atomics support for GCC10, Clang12 #135

Open MattWindsor91 opened 3 years ago

MattWindsor91 commented 3 years ago

Per Arm's blog post, there is now a feature -moutline-atomics in GCC10 (and, I think, Clang12) that implements out-of-line atomics - eg, certain atomic actions in armv8 (not armv8.1) compile to runtime calls that check whether the processor is new enough to use LSE atomics (or needs LL/SC). Ideally, c4t should be able to pass -moutline-atomics or -mno-outline-atomics when on armv8 and a sufficiently recent compiler version.

This might be a turning point to consider a more principled way of teaching c4t about perturbable compiler optimisations. I'll sketch a new issue for this.