diff options
author | 2022-12-03 08:24:33 -0800 | |
---|---|---|
committer | 2022-12-03 08:26:53 -0800 | |
commit | bc028168a815977830460983f28aefa4f7605c5e (patch) | |
tree | 466462513a304bee688aee73c0bcc09283da33c2 /src | |
parent | 00f428b62722b28b31ae6cd118aa68d88b331fe6 (diff) | |
download | bun-bc028168a815977830460983f28aefa4f7605c5e.tar.gz bun-bc028168a815977830460983f28aefa4f7605c5e.tar.zst bun-bc028168a815977830460983f28aefa4f7605c5e.zip |
simdutf ascii validation is about 20% faster on arm64 than our zig simd @Vector version
Diffstat (limited to 'src')
-rw-r--r-- | src/string_immutable.zig | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/string_immutable.zig b/src/string_immutable.zig index f89e6d12f..618764072 100644 --- a/src/string_immutable.zig +++ b/src/string_immutable.zig @@ -2639,6 +2639,9 @@ pub const AsciiVectorU16U1 = std.meta.Vector(ascii_u16_vector_size, u1); pub const AsciiU16Vector = std.meta.Vector(ascii_u16_vector_size, u16); pub const max_4_ascii = @splat(4, @as(u8, 127)); pub fn isAllASCII(slice: []const u8) bool { + if (bun.FeatureFlags.use_simdutf) + return bun.simdutf.validate.ascii(slice); + var remaining = slice; // The NEON SIMD unit is 128-bit wide and includes 16 128-bit registers that can be used as 32 64-bit registers |