[aarch64] add target feature outline-atomics
Enable outline-atomics by default as enabled in clang by the following commit https://reviews.llvm.org/rGc5e7e649d537067dec7111f3de1430d0fc8a4d11 Performance improves by several orders of magnitude when using the LSE instructions instead of the ARMv8.0 compatible load/store exclusive instructions. Tested on Graviton2 aarch64-linux with x.py build && x.py install && x.py test
This commit is contained in:
parent
3e8f32e1c5
commit
0f9f241aac
2 changed files with 21 additions and 0 deletions
|
@ -416,6 +416,11 @@ pub fn llvm_global_features(sess: &Session) -> Vec<String> {
|
|||
// -Ctarget-features
|
||||
features.extend(sess.opts.cg.target_feature.split(',').flat_map(&filter));
|
||||
|
||||
// FIXME: Move outline-atomics to target definition when earliest supported LLVM is 12.
|
||||
if get_version() >= (12, 0, 0) && sess.target.llvm_target.contains("aarch64-unknown-linux") {
|
||||
features.push("+outline-atomics".to_string());
|
||||
}
|
||||
|
||||
features
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue