Skip to content

Add Highway CRC implementation

cc-wvda requested to merge fas-cc/ral-highway:main into dev/highway

Description

This MR adds a Highway ported implementation of the armral CRC function set. The merge includes the following changes:

  1. Added a Google Highway submodule
  2. Updated the build process to compile Google Highway, when selected
  3. Split the acle and highway build targets using custom cmake files: armral_acle.cmake.in and armral_hwy.cmake.in
  4. Added a Highway implementation for the functions in crc_common.hpp, this was done by moving the acle implementation to its own subfolder and adding the Highway implementation to a highway subdirectory. A common crc_common.hpp selects the appropriate implementation.
  5. Added a hwy_types.hpp header file.
  6. Benchmarks and unit-tests have been added.

Checklist

For any items that are not checked, please provide details.

Merge request reports