File tree Expand file tree Collapse file tree 5 files changed +656
-3
lines changed Expand file tree Collapse file tree 5 files changed +656
-3
lines changed Original file line number Diff line number Diff line change @@ -163,6 +163,11 @@ jobs:
163
163
- target : aarch64-unknown-linux-gnu
164
164
rust : stable
165
165
166
+ # ARM64 with NEON backend
167
+ - target : aarch64-unknown-linux-gnu
168
+ rust : nightly
169
+ features : --features neon
170
+
166
171
# PPC32
167
172
- target : powerpc-unknown-linux-gnu
168
173
rust : 1.51.0 # MSRV
@@ -180,7 +185,7 @@ jobs:
180
185
profile : minimal
181
186
override : true
182
187
- run : cargo install cross
183
- - run : cross test --target ${{ matrix.target }} --release
188
+ - run : cross test --target ${{ matrix.target }} --release ${{ matrix.features }}
184
189
- run : cross test --target ${{ matrix.target }} --release --features force-soft
185
190
- run : cross test --target ${{ matrix.target }} --release --features rng
186
191
- run : cross test --target ${{ matrix.target }} --release --features std
Original file line number Diff line number Diff line change @@ -37,6 +37,7 @@ expose-core = []
37
37
force-soft = []
38
38
hchacha = [" cipher" ]
39
39
legacy = [" cipher" ]
40
+ neon = []
40
41
rng = [" rand_core" ]
41
42
std = [" cipher/std" ]
42
43
Original file line number Diff line number Diff line change 5
5
6
6
use cfg_if:: cfg_if;
7
7
8
+ pub ( crate ) mod soft;
9
+
8
10
cfg_if ! {
9
11
if #[ cfg( all(
10
12
any( target_arch = "x86" , target_arch = "x86_64" ) ,
@@ -14,12 +16,19 @@ cfg_if! {
14
16
pub ( crate ) mod autodetect;
15
17
pub ( crate ) mod avx2;
16
18
pub ( crate ) mod sse2;
17
- pub ( crate ) mod soft;
18
19
19
20
pub ( crate ) use self :: autodetect:: BUFFER_SIZE ;
20
21
pub use self :: autodetect:: Core ;
22
+ } else if #[ cfg( all(
23
+ feature = "neon" ,
24
+ target_arch = "aarch64" ,
25
+ target_feature = "neon" ,
26
+ not( feature = "force-soft" )
27
+ ) ) ] {
28
+ pub ( crate ) mod neon;
29
+ pub ( crate ) use self :: neon:: BUFFER_SIZE ;
30
+ pub use self :: neon:: Core ;
21
31
} else {
22
- pub ( crate ) mod soft;
23
32
pub ( crate ) use self :: soft:: BUFFER_SIZE ;
24
33
pub use self :: soft:: Core ;
25
34
}
You can’t perform that action at this time.
0 commit comments