Bug 263734

Summary: Accelerate WTF::equal using NEON intrinsics
Product: WebKit Reporter: David Degazio <d_degazio>
Component: Web Template FrameworkAssignee: David Degazio <d_degazio>
Status: RESOLVED FIXED    
Severity: Normal CC: Hironori.Fujii, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   

Description David Degazio 2023-10-26 10:56:16 PDT
rdar://117541948

Currently, our implementation of WTF::equal batches characters into 8-byte chunks whenever possible, with a tail checking for remaining 4-byte, 2-byte, and 1-byte suffixes. Given NEON is supported on all ARM64 chips, we should be able to improve comparison speed by using 16-byte SIMD vectors to compare whenever we have a long-enough string.
Comment 1 David Degazio 2023-10-26 11:25:12 PDT
Pull request: https://github.com/WebKit/WebKit/pull/19599
Comment 2 EWS 2023-10-27 14:10:52 PDT
Committed 269866@main (661be0f9c16d): <https://commits.webkit.org/269866@main>

Reviewed commits have been landed. Closing PR #19599 and removing active labels.
Comment 3 Fujii Hironori 2023-10-27 18:57:14 PDT
Windows port regressed:
  Bug 263816 – REGRESSION(269866@main): StringCommon.h(87) : equal : SHOULD NEVER BE REACHED for Windows port