Bug 263734 - Accelerate WTF::equal using NEON intrinsics
Summary: Accelerate WTF::equal using NEON intrinsics
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Web Template Framework (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: David Degazio
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2023-10-26 10:56 PDT by David Degazio
Modified: 2023-10-27 18:57 PDT (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
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