From bc028168a815977830460983f28aefa4f7605c5e Mon Sep 17 00:00:00 2001 From: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> Date: Sat, 3 Dec 2022 08:24:33 -0800 Subject: [PATCH] simdutf ascii validation is about 20% faster on arm64 than our zig simd @Vector version --- src/string_immutable.zig | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/string_immutable.zig b/src/string_immutable.zig index f89e6d12ff..6187640729 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