Skip to content

Commit 934d666

Browse files
committed
wip
1 parent dc02eac commit 934d666

File tree

4 files changed

+9
-12
lines changed

4 files changed

+9
-12
lines changed

portable/Cargo.toml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,3 @@ std = [] # fixme: needed?
1212

1313
# expose SIMD implementations in basic::imp::* and compat::imp::*
1414
public_imp = []
15-
16-
# use 256-bit vectors
17-
simd256 = []

portable/src/basic.rs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -195,7 +195,11 @@ pub mod imp {
195195
}
196196

197197
/// Best for current target
198-
pub use v128 as auto;
198+
pub mod auto {
199+
pub use crate::implementation::simd::auto::validate_utf8_basic as validate_utf8;
200+
pub use crate::implementation::simd::auto::ChunkedUtf8ValidatorImp;
201+
pub use crate::implementation::simd::auto::Utf8ValidatorImp;
202+
}
199203

200204
/// Includes the validation implementation using 128-bit portable SIMD.
201205
pub mod v128 {

portable/src/implementation/mod.rs

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,7 @@ pub(crate) fn validate_utf8_basic(input: &[u8]) -> Result<(), crate::basic::Utf8
1616

1717
#[inline(never)]
1818
fn validate_utf8_basic_simd(input: &[u8]) -> Result<(), crate::basic::Utf8Error> {
19-
#[cfg(not(feature = "simd256"))]
20-
return simd::v128::validate_utf8_basic(input);
21-
#[cfg(feature = "simd256")]
22-
return simd::v256::validate_utf8_basic(input);
19+
simd::auto::validate_utf8_basic(input)
2320
}
2421

2522
#[inline]
@@ -32,10 +29,7 @@ pub(crate) fn validate_utf8_compat(input: &[u8]) -> Result<(), crate::compat::Ut
3229
}
3330

3431
fn validate_utf8_compat_simd(input: &[u8]) -> Result<(), crate::compat::Utf8Error> {
35-
#[cfg(not(feature = "simd256"))]
36-
return simd::v128::validate_utf8_compat(input);
37-
#[cfg(feature = "simd256")]
38-
return simd::v256::validate_utf8_compat(input);
32+
simd::auto::validate_utf8_compat(input)
3933
}
4034

4135
// fallback method implementations

portable/src/implementation/simd.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -819,6 +819,8 @@ impl basic::imp::ChunkedUtf8Validator for ChunkedUtf8ValidatorImp {
819819
}
820820
}
821821

822+
pub(crate) use v128 as auto; // FIXME: select based on target feature
823+
822824
pub(crate) mod v128 {
823825
pub use super::validate_utf8_basic;
824826
pub use super::validate_utf8_compat;

0 commit comments

Comments
 (0)