-
- Downloads
gccrs: intrinsics: Add early implementation for atomic_store_{seqcst, relaxed, release}
gcc/rust/ChangeLog: * backend/rust-builtins.cc (BuiltinsContext::setup_atomic_fns): New function. (BuiltinsContext::setup): Call `setup_atomic_fns`. * backend/rust-builtins.h: Declare `setup_atomic_fns`. * backend/rust-compile-intrinsic.cc (atomic_store_handler_inner): New function. (atomic_store_handler): New handler. (make_unsigned_long_tree): Add helper around making unsigned long trees. (prefetch_data_handler): Use `make_unsigned_long_tree`. (build_atomic_builtin_name): New function. gcc/testsuite/ChangeLog: * rust/compile/torture/intrinsics-4.rs: New test. * rust/compile/torture/intrinsics-5.rs: New test. * rust/execute/torture/atomic_store.rs: New test.
Showing
- gcc/rust/backend/rust-builtins.cc 36 additions, 0 deletionsgcc/rust/backend/rust-builtins.cc
- gcc/rust/backend/rust-builtins.h 1 addition, 1 deletiongcc/rust/backend/rust-builtins.h
- gcc/rust/backend/rust-compile-intrinsic.cc 144 additions, 21 deletionsgcc/rust/backend/rust-compile-intrinsic.cc
- gcc/testsuite/rust/compile/torture/intrinsics-4.rs 20 additions, 0 deletionsgcc/testsuite/rust/compile/torture/intrinsics-4.rs
- gcc/testsuite/rust/compile/torture/intrinsics-5.rs 35 additions, 0 deletionsgcc/testsuite/rust/compile/torture/intrinsics-5.rs
- gcc/testsuite/rust/execute/torture/atomic_store.rs 32 additions, 0 deletionsgcc/testsuite/rust/execute/torture/atomic_store.rs
Loading
Please register or sign in to comment