aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-12-03 08:24:33 -0800
committerGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-12-03 08:26:53 -0800
commitbc028168a815977830460983f28aefa4f7605c5e (patch)
tree466462513a304bee688aee73c0bcc09283da33c2 /src
parent00f428b62722b28b31ae6cd118aa68d88b331fe6 (diff)
downloadbun-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.zig3
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