Skip to content

Fix signedness in NEON int8 L1 distance - #322

Open
ariannamethod wants to merge 1 commit into
asg017:mainfrom
ariannamethod:fix/neon-l1-int8-signedness
Open

ariannamethod wants to merge 1 commit into
asg017:mainfrom
ariannamethod:fix/neon-l1-int8-signedness

Conversation

@ariannamethod

Copy link
Copy Markdown

Fixes #299.
Reinterpret absolute int8 differences as unsigned before widening, and use unsigned NEON accumulators and reduction. Preserves differences up to 255. Adds boundary tests for vector blocks and scalar leftovers.

Testing:

  • AArch64 GCC 13.3 with -fno-lax-vector-conversions: original fails, patched extension builds.
  • QEMU AArch64: 76 cases match a scalar reference.
  • pytest -q tests/test-*.py: 239 passed, 66 skipped.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Compile issue with Neon optimizations on ARM Fedora GCC 15

1 participant