about summary refs log tree commit diff
path: root/src/stdsimd
AgeCommit message (Collapse)AuthorLines
2019-07-15Update the stdarch submodulegnzlbg-0/+0
2019-04-22Breaking update of stdsimdgnzlbg-0/+0
This commit updates stdsimd and contains two breaking changes: * https://github.com/rust-lang-nursery/stdsimd/pull/733 * https://github.com/rust-lang-nursery/stdsimd/pull/586 We already did a crater run of 586 but we should do another one here.
2019-04-18Update stdsimdTaiki Endo-0/+0
2019-04-14bump stdsimd; make intra_doc_link_resolution_failure an error againRalf Jung-0/+0
2019-03-30update stdsimdRalf Jung-0/+0
2019-03-28Update stdsimdgnzlbg-0/+0
2019-02-24Update stdsimdgnzlbg-0/+0
2019-02-17update stdsimdRalf Jung-0/+0
2019-02-14update stdsimdRalf Jung-0/+0
2019-02-14update stdsimdRalf Jung-0/+0
2019-01-29Update stdsimdgnzlbg-0/+0
2019-01-08Update stdsimd submoduleGuillaume Gomez-0/+0
2019-01-02Update the stdsimd submoduleAlex Crichton-0/+0
Add a new cmpxchg16b intrinsics for x86_64!
2018-12-17Update the stdsimd submoduleAlex Crichton-0/+0
This brings in a few updates: * Update wasm intrinsic naming for atomics * Update and reimplement most simd128 wasm intrinsics * Other misc improvements here and there, including a small start to AVX-512 intrinsics
2018-12-10Update the stdsimd submoduleAlex Crichton-0/+0
Includes some new stabilized intrinsics for the wasm32 target! Closes #56292
2018-12-07Add x86_64-fortanix-unknown-sgx target to libstd and dependenciesJethro Beekman-0/+0
The files src/libstd/sys/sgx/*.rs are mostly copied/adapted from the wasm target. This also updates the dlmalloc submodule to the very latest version.
2018-11-02Update stdsimdgnzlbg-0/+0
2018-10-23Update stdsimd submoduleKaz Wesley-0/+0
Fixes a SSE2 bug.
2018-10-09Update stdsimd submoduleAlex Crichton-0/+0
Should hopefully bring documentation for wasm intrinsics online!
2018-09-24std: Start implementing wasm32 atomicsAlex Crichton-0/+0
This commit is an initial start at implementing the standard library for wasm32-unknown-unknown with the experimental `atomics` feature enabled. None of these changes will be visible to users of the wasm32-unknown-unknown target because they all require recompiling the standard library. The hope with this is that we can get this support into the standard library and start iterating on it in-tree to enable experimentation. Currently there's a few components in this PR: * Atomic fences are disabled on wasm as there's no corresponding atomic op and it's not clear yet what the convention should be, but this will change in the future! * Implementations of `Mutex`, `Condvar`, and `RwLock` were all added based on the atomic intrinsics that wasm has. * The `ReentrantMutex` and thread-local-storage implementations panic currently as there's no great way to get a handle on the current thread's "id" yet. Right now the wasm32 target with atomics is unfortunately pretty unusable, requiring a lot of manual things here and there to actually get it operational. This will likely continue to evolve as the story for atomics and wasm unfolds, but we also need more LLVM support for some operations like custom `global` directives for this to work best.
2018-07-24update the stdsimd submoduleJorge Aparicio-0/+0
to bring in the doc generation fix
2018-07-20Update stdsimd to undo an accidental stabilizationAlex Crichton-0/+0
Closes #52403
2018-07-02Update stdsimdest31-0/+0
2018-05-14Update stdsimd module to include ↵steveklabnik-0/+0
https://github.com/rust-lang-nursery/stdsimd/commit/a19ca1cd91cf97777af8268a6136bd2e4648e189
2018-05-08Update the Cargo/stdsimd submodulesAlex Crichton-0/+0
Hopefully brining in a few fixes to Cargo regressions as well as some new stdsimd functions!
2018-04-19Update stdsimd submoduleGuillaume Gomez-0/+0
2018-04-16Separately gate each target_feature featureAlex Crichton-0/+0
Use an explicit whitelist for what features are actually stable and can be enabled.
2018-04-16Stabilize x86/x86_64 SIMDAlex Crichton-0/+0
This commit stabilizes the SIMD in Rust for the x86/x86_64 platforms. Notably this commit is stabilizing: * The `std::arch::{x86, x86_64}` modules and the intrinsics contained inside. * The `is_x86_feature_detected!` macro in the standard library * The `#[target_feature(enable = "...")]` attribute * The `#[cfg(target_feature = "...")]` matcher Stabilization of the module and intrinsics were primarily done in rust-lang-nursery/stdsimd#414 and the two attribute stabilizations are done in this commit. The standard library is also tweaked a bit with the new way that stdsimd is integrated. Note that other architectures like `std::arch::arm` are not stabilized as part of this commit, they will likely stabilize in the future after they've been implemented and fleshed out. Similarly the `std::simd` module is also not being stabilized in this commit, only `std::arch`. Finally, nothing related to `__m64` is stabilized in this commit either (MMX), only SSE and up types and intrinsics are stabilized. Closes #29717 Closes #44839 Closes #48556
2018-03-21update stdsimdQuietMisdreavus-0/+0
2018-03-11Update stdsimd moduleAlex Crichton-0/+0
Pulls in a redesigned `std::simd` module as well as a replacement for the `is_target_feature_detected!` macro
2018-03-02std: Add `arch` and `simd` modulesAlex Crichton-0/+0
This commit imports the `stdsimd` crate into the standard library, creating an `arch` and `simd` module inside of both libcore and libstd. Both of these modules are **unstable** and will continue to be so until RFC 2335 is stabilized. As a brief recap, the modules are organized as so: * `arch` contains all current architectures with intrinsics, for example `std::arch::x86`, `std::arch::x86_64`, `std::arch::arm`, etc. These modules contain all of the intrinsics defined for the platform, like `_mm_set1_epi8`. * In the standard library, the `arch` module also exports a `is_target_feature_detected` macro which performs runtime detection to determine whether a target feature is available at runtime. * The `simd` module contains experimental versions of strongly-typed lane-aware SIMD primitives, to be fully fleshed out in a future RFC. The main purpose of this commit is to start pulling in all these intrinsics and such into the standard library on nightly and allow testing and such. This'll help allow users to easily kick the tires and see if intrinsics work as well as allow us to test out all the infrastructure for moving the intrinsics into the standard library.