diff options
| author | bjorn3 <17426603+bjorn3@users.noreply.github.com> | 2022-11-28 13:03:47 +0000 |
|---|---|---|
| committer | bjorn3 <17426603+bjorn3@users.noreply.github.com> | 2022-11-28 13:03:47 +0000 |
| commit | 052d5ccf5dc83db14917f4a52329a3bf2465af74 (patch) | |
| tree | 06ce6195f2aea7185cddbe6dd5350df42255fd56 | |
| parent | 26d48c9a378f20f817e779328affc6c2643a3505 (diff) | |
| download | rust-052d5ccf5dc83db14917f4a52329a3bf2465af74.tar.gz rust-052d5ccf5dc83db14917f4a52329a3bf2465af74.zip | |
Implement __isb for AArch64
This is necessary for the mutex implementation of libstd when there is contention. Seems like I hadn't hit this before by sheer luck.
| -rw-r--r-- | src/intrinsics/llvm_aarch64.rs | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/intrinsics/llvm_aarch64.rs b/src/intrinsics/llvm_aarch64.rs index 7959176ac85..b431158d269 100644 --- a/src/intrinsics/llvm_aarch64.rs +++ b/src/intrinsics/llvm_aarch64.rs @@ -16,6 +16,10 @@ pub(crate) fn codegen_aarch64_llvm_intrinsic_call<'tcx>( // llvm.aarch64.neon.sqshl.v*i* match intrinsic { + "llvm.aarch64.isb" => { + fx.bcx.ins().fence(); + } + _ if intrinsic.starts_with("llvm.aarch64.neon.abs.v") => { intrinsic_args!(fx, args => (a); intrinsic); |
