gccrs: intrinsics: Implement atomic_load intrinsics
authorArthur Cohen <arthur.cohen@embecosm.com>
Wed, 26 Oct 2022 15:00:55 +0000 (17:00 +0200)
committerArthur Cohen <arthur.cohen@embecosm.com>
Tue, 21 Feb 2023 11:36:43 +0000 (12:36 +0100)
commit5b5a0ca771797e99de80876b5504e1792bbca7ce
tree8d703f616f65fbfda712ee4e6cb5ac94b438cfc4
parentf4c818c623c049a33d7cd3313c6859dee88b9e22
gccrs: intrinsics: Implement atomic_load intrinsics

gcc/rust/ChangeLog:

* backend/rust-builtins.cc (BuiltinsContext::setup_atomic_fns): Declare atomic
load intrinsics.
* backend/rust-compile-intrinsic.cc (atomic_load_handler_inner): New handler.
(atomic_load_handler): Likewise.
(unchecked_op_handler): Remove `static` function qualifier.
(build_atomic_builtin_name): Handle load intrinsics.
(atomic_store_handler_inner): New handler.

gcc/testsuite/ChangeLog:

* rust/compile/torture/intrinsics-3.rs:
* rust/execute/torture/atomic_load.rs: New test.
gcc/rust/backend/rust-builtins.cc
gcc/rust/backend/rust-compile-intrinsic.cc
gcc/testsuite/rust/compile/torture/intrinsics-3.rs
gcc/testsuite/rust/execute/torture/atomic_load.rs [new file with mode: 0644]