4
4
5
5
[ ![ Travis-CI Status]] [ travis ] [ ![ Appveyor Status]] [ appveyor ] [ ![ Latest Version]] [ crates.io ] [ ![ docs]] [ master_docs ]
6
6
7
- > This aims to be a 100% conforming implementation of Rust RFC 2366 for stabilization.
8
-
9
- ** WARNING** : this crate only supports the most recent nightly Rust toolchain.
7
+ ** WARNING** : this crate only supports the most recent nightly Rust toolchain
8
+ and will be superceded by [ stdsimd] ( https://github.com/rust-lang/stdsimd ) .
10
9
11
10
## Documentation
12
11
@@ -38,17 +37,6 @@ Most of the examples come with both a scalar and a vectorized implementation.
38
37
vector type as those of another vector type safely by just using the
39
38
` .into_bits() ` method.
40
39
41
- * ` core_arch ` (default: disabled): enable this feature to recompile ` core::arch `
42
- for the target-features enabled. ` packed_simd ` includes optimizations for some
43
- target feature combinations that are enabled by this feature. Note, however,
44
- that this is an unstable dependency, that rustc might break at any time.
45
-
46
- * ` sleef-sys ` (default: disabled - ` x86_64 ` only): internally uses the [ SLEEF]
47
- short-vector math library when profitable via the [ ` sleef-sys ` ] [ sleef_sys ]
48
- crate. [ SLEEF] is licensed under the [ Boost Software License
49
- v1.0] [ boost_license ] , an extremely permissive license, and can be statically
50
- linked without issues.
51
-
52
40
## Performance
53
41
54
42
The following [ ISPC] examples are also part of ` packed_simd ` 's
@@ -74,60 +62,40 @@ slowdown:
74
62
75
63
## Platform support
76
64
77
- The following table describes the supported platforms: ` build ` shows whether the
78
- library compiles without issues for a given target, while ` run ` shows whether
79
- the full testsuite passes on the target.
80
-
81
- | Linux targets: | build | run |
82
- | -----------------------------------| -----------| ---------|
83
- | ` i586-unknown-linux-gnu ` | ✓ | ✓ |
84
- | ` i686-unknown-linux-gnu ` | ✓ | ✓ |
85
- | ` x86_64-unknown-linux-gnu ` | ✓ | ✓ |
86
- | ` arm-unknown-linux-gnueabi ` | ✗ | ✗ |
87
- | ` arm-unknown-linux-gnueabihf ` | ✓ | ✓ |
88
- | ` armv7-unknown-linux-gnueabi ` | ✓ | ✓ |
89
- | ` aarch64-unknown-linux-gnu ` | ✓ | ✓ |
90
- | ` mips-unknown-linux-gnu ` | ✓ | ✓ |
91
- | ` mipsel-unknown-linux-musl ` | ✓ | ✓ |
92
- | ` mips64-unknown-linux-gnuabi64 ` | ✓ | ✓ |
93
- | ` mips64el-unknown-linux-gnuabi64 ` | ✓ | ✓ |
94
- | ` powerpc-unknown-linux-gnu ` | ✗ | ✗ |
95
- | ` powerpc64-unknown-linux-gnu ` | ✗ | ✗ |
96
- | ` powerpc64le-unknown-linux-gnu ` | ✗ | ✗ |
97
- | ` s390x-unknown-linux-gnu ` | ✓ | ✓* |
98
- | ` sparc64-unknown-linux-gnu ` | ✓ | ✓* |
99
- | ` thumbv7neon-unknown-linux-gnueabihf ` | ✓ | ✓ |
100
- | ** MacOSX targets:** | ** build** | ** run** |
101
- | ` x86_64-apple-darwin ` | ✓ | ✓ |
102
- | ` i686-apple-darwin ` | ✓ | ✓ |
103
- | ** Windows targets:** | ** build** | ** run** |
104
- | ` x86_64-pc-windows-msvc ` | ✓ | ✓ |
105
- | ` i686-pc-windows-msvc ` | ✓ | ✓ |
106
- | ` x86_64-pc-windows-gnu ` | ✗ | ✗ |
107
- | ` i686-pc-windows-gnu ` | ✗ | ✗ |
108
- | ** WebAssembly targets:** | ** build** | ** run** |
109
- | ` wasm32-unknown-unknown ` | ✓ | ✓ |
110
- | ** Android targets:** | ** build** | ** run** |
111
- | ` x86_64-linux-android ` | ✓ | ✓ |
112
- | ` arm-linux-androideabi ` | ✓ | ✓ |
113
- | ` aarch64-linux-android ` | ✓ | ✗ |
114
- | ` thumbv7neon-linux-androideabi ` | ✓ | ✓ |
115
- | ** iOS targets:** | ** build** | ** run** |
116
- | ` i386-apple-ios ` | ✓ | ✗ |
117
- | ` x86_64-apple-ios ` | ✓ | ✗ |
118
- | ` armv7-apple-ios ` | ✓ | ✗** |
119
- | ` aarch64-apple-ios ` | ✓ | ✗** |
120
- | ** xBSD targets:** | ** build** | ** run** |
121
- | ` i686-unknown-freebsd ` | ✗ | ✗** |
122
- | ` x86_64-unknown-freebsd ` | ✗ | ✗** |
123
- | ` x86_64-unknown-netbsd ` | ✗ | ✗** |
124
- | ** Solaris targets:** | ** build** | ** run** |
125
- | ` x86_64-sun-solaris ` | ✗ | ✗** |
126
-
127
- [ * ] most of the test suite passes correctly on these platform but
128
- there are correctness bugs open in the issue tracker.
129
-
130
- [ ** ] it is currently not easily possible to run these platforms on CI.
65
+ The following table describes the supported platforms: ` build ` shows whether
66
+ the library compiles without issues for a given target, while ` run ` shows
67
+ whether the test suite passes for a given target.
68
+
69
+ | ** Linux** | ** build** | ** run** |
70
+ | ---------------------------------------| -----------| ---------|
71
+ | ` i586-unknown-linux-gnu ` | ✓ | ✗ |
72
+ | ` i686-unknown-linux-gnu ` | ✓ | ✗ |
73
+ | ` x86_64-unknown-linux-gnu ` | ✓ | ✓ |
74
+ | ` arm-unknown-linux-gnueabi ` | ✗ | ✗ |
75
+ | ` arm-unknown-linux-gnueabihf ` | ✓ | ✓ |
76
+ | ` armv7-unknown-linux-gnueabi ` | ✓ | ✓ |
77
+ | ` aarch64-unknown-linux-gnu ` | ✓ | ✓ |
78
+ | ` mips-unknown-linux-gnu ` | ✓ | ✗ |
79
+ | ` mipsel-unknown-linux-musl ` | ✓ | ✗ |
80
+ | ` mips64-unknown-linux-gnuabi64 ` | ✓ | ✗ |
81
+ | ` mips64el-unknown-linux-gnuabi64 ` | ✓ | ✗ |
82
+ | ` powerpc-unknown-linux-gnu ` | ✗ | ✗ |
83
+ | ` powerpc64-unknown-linux-gnu ` | ✗ | ✗ |
84
+ | ` powerpc64le-unknown-linux-gnu ` | ✓ | ✓ |
85
+ | ` s390x-unknown-linux-gnu ` | ✗ | ✗ |
86
+ | ` sparc64-unknown-linux-gnu ` | ✓ | ✗ |
87
+ | ` thumbv7neon-unknown-linux-gnueabihf ` | ✓ | ✓ |
88
+ | ** MacOSX** | ** build** | ** run** |
89
+ | ` x86_64-apple-darwin ` | ✓ | ✓ |
90
+ | ** Android** | ** build** | ** run** |
91
+ | ` x86_64-linux-android ` | ✓ | ✓ |
92
+ | ` arm-linux-androideabi ` | ✓ | ✓ |
93
+ | ` aarch64-linux-android ` | ✓ | ✓ |
94
+ | ` thumbv7neon-linux-androideabi ` | ✗ | ✗ |
95
+ | ** iOS** | ** build** | ** run** |
96
+ | ` x86_64-apple-ios ` | ✓ | ✗ |
97
+ | ` aarch64-apple-ios ` | ✓ | ✗ |
98
+
131
99
132
100
## Machine code verification
133
101
0 commit comments