Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AddLower, PairwiseAdd/Sub and MaskedAbsOr operations #1

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

mazimkhan
Copy link
Member

@mazimkhan mazimkhan commented Nov 18, 2024

Adding special arithmetic operations for arm_sve-inl.h and generic_ops-inl.h:

  • AddLower adds the first lane of both input vectors and passes the lanes of vector a for all other lanes.
  • PairwiseAdd adds consecutive pairs of elements in each of the vectors and interleaves the resulting lanes.
  • PairwiseSub subtracts consecutive pairs of elements in each of the vectors and interleaves the resulting lanes.
  • PairwiseAdd128 adds consecutive pairs of elements in each of the vectors and then packs the results in 128 bit blocks, such that the results of vector a are in the lower half of the block and the results of vector b are in the upper half of the block.
  • PairwiseSub128 subtracts consecutive pairs of elements in each of the vectors and then packs the results in 128 bit blocks, such that the results of vector a are in the lower half of the block and the results of vector b are in the upper half of the block.

Tests have been added for the operations.

The instruction matrix in g3doc/instruction_matrix.pdf may need to be updated, but it appears to have been generated manually.

@mazimkhan mazimkhan force-pushed the master branch 2 times, most recently from 4eb5a84 to d77be29 Compare November 18, 2024 17:17
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.

1 participant