suricata icon indicating copy to clipboard operation
suricata copied to clipboard

Implement Memcmp SIMD for arm64 NEON and SVE

Open AGSaidi opened this issue 5 months ago • 4 comments

Make sure these boxes are checked accordingly before submitting your Pull Request -- thank you.

Contribution style:

  • [X] I have read the contributing guide lines at https://docs.suricata.io/en/latest/devguide/contributing/contribution-process.html

Our Contribution agreements:

  • [X] I have signed the Open Information Security Foundation contribution agreement at https://suricata.io/about/contribution-agreement/ (note: this is only required once)

Changes (if applicable):

  • [X] I have updated the User Guide (in doc/userguide/) to reflect the changes made
  • [X] I have updated the JSON schema (in etc/schema.json) to reflect all logging changes (including schema descriptions)
  • [X] I have created a ticket at https://redmine.openinfosecfoundation.org/projects/suricata/issues

Link to ticket: https://redmine.openinfosecfoundation.org/issues/7245

Describe changes:

  • Increase testing to have values wide enough to use SIMD
  • Add a arm64 instruction for timing
  • Add both a NEON and SVE implementation for of SCMemcmp (for SVE, the libc version already uses NEON) and SCMemcmpLowercase (for both NEON and SVE)
  • Resubmission of https://github.com/OISF/suricata/pull/8764 which has been closed after rebasing

Provide values to any of the below to override the defaults.

  • To use an LibHTP, Suricata-Verify or Suricata-Update pull request, link to the pull request in the respective _BRANCH variable.
  • Leave unused overrides blank or remove.

SV_REPO= SV_BRANCH= SU_REPO= SU_BRANCH= LIBHTP_REPO= LIBHTP_BRANCH=

AGSaidi avatar Sep 06 '24 22:09 AGSaidi