rust/library/stdarch
Alex Crichton 11f7b7e38e
Verify intrinsics don't leak to i686 (#305)
Some intrinsics take `i64` or `u64` arguments which typically means that they're
using 64-bit registers and aren't actually available on x86. This commit adds a
check to stdsimd-verify to assert this and moves around some intrinsics that I
believe should only be available on x86_64.

This commit was checked in many places against gcc/clang/MSVC using godbolt.org
to ensure that we're agreeing with what other compilers are doing.

Closes #304
2018-01-28 22:31:31 -06:00
..
ci Migrate the i586::avx module to vendor types (#286) 2018-01-18 11:21:03 -06:00
coresimd Verify intrinsics don't leak to i686 (#305) 2018-01-28 22:31:31 -06:00
examples Remove Into/From between x86 and portable types (#292) 2018-01-19 20:15:07 -06:00
src Update target_feature syntax (#283) 2018-01-17 09:45:02 -06:00
stdsimd-test Fix tests for a future nightly (#297) 2018-01-25 12:13:48 -06:00
stdsimd-verify Verify intrinsics don't leak to i686 (#305) 2018-01-28 22:31:31 -06:00
tests More run-time detection improvements (#242) 2018-01-09 09:23:45 -06:00
.appveyor.yml Attempt to fix CI (#108) 2017-10-11 11:28:02 -04:00
.gitignore Use workspaces and fix tests 2017-11-22 13:42:58 +01:00
.travis.yml Move travis workaround earlier 2018-01-11 08:24:11 -08:00
Cargo.toml Add an example of SIMD-powered hex encoding (#291) 2018-01-19 16:53:38 -06:00
CONTRIBUTING.md [Docs] Improve documentation (#87) 2017-10-04 11:15:39 +02:00
LICENSE-APACHE Add license files 2017-09-25 12:43:06 -07:00
LICENSE-MIT Add license files 2017-09-25 12:43:06 -07:00
QUESTIONS.md refactor 2017-06-19 17:06:53 -04:00
README.md [readme] point always to latests docs (#206) 2017-11-21 15:05:46 -06:00
rustfmt.toml [fmt] remove fn_call_width option (was removed upstream) 2017-12-22 00:24:23 +01:00

stdsimd

Travis-CI Status Appveyor Status Latest Version docs

Experimental support for SIMD destined to eventually become part of Rust's standard library

This is a work in progress.

Approach

The main goal is to expose APIs defined by vendors with the least amount of abstraction possible. On x86, for example, the API should correspond to that provided by emmintrin.h.

License

stdsimd is primarily distributed under the terms of both the MIT license and the Apache License (Version 2.0), with portions covered by various BSD-like licenses.

See LICENSE-APACHE, and LICENSE-MIT for details.