google / highway

Performance-portable, length-agnostic SIMD with runtime dispatch
Apache License 2.0
4.13k stars 315 forks source link

Made fixes to generic_ops-inl.h BitShuffle impl on big-endian #2232

Closed johnplatts closed 4 months ago

johnplatts commented 4 months ago

Fixed the default BitShuffle implementation on big-endian targets in generic_ops-inl.h, which fixes bugs with BitShuffle on EMU128 on big-endian.

The behavior of BitShuffle in generic_ops-inl.h now matches the behavior of BitShuffle in ppc_vsx-inl.h on big-endian PPC/Z14 with the fixes in this pull request.

TestAllBitShuffle now passes on big-endian EMU128 with the fixes in this pull request.