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 133 commits into
base: master
Choose a base branch
from

Conversation

mazimkhan
Copy link

@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
dependabot bot and others added 25 commits November 19, 2024 13:24
Bumps [step-security/harden-runner](https://github.com/step-security/harden-runner) from 2.10.1 to 2.10.2.
- [Release notes](https://github.com/step-security/harden-runner/releases)
- [Commits](step-security/harden-runner@91182cc...0080882)

---
updated-dependencies:
- dependency-name: step-security/harden-runner
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
…step-security/harden-runner-2.10.2

PiperOrigin-RevId: 697981775
PiperOrigin-RevId: 698357330
PiperOrigin-RevId: 698685120
Also reduce #if in mainline by factoring into helper functions, share code between Linux and FreeBSD
Use anon namespace instead of static

PiperOrigin-RevId: 699906189
PiperOrigin-RevId: 699936076
The test passes with the most recent clang.

PiperOrigin-RevId: 700385250
Also split mask_test into mask_set_test,
remove unused overload in scalar,
modernize overloads (SFINAE instead of type tags).

PiperOrigin-RevId: 700701299
Also split mask_test into mask_set_test,
remove unused overload in scalar,
modernize overloads (SFINAE instead of type tags).

PiperOrigin-RevId: 700938851
Provide DFromM on all targets except SVE/RVV.
Also split mask_test into mask_set_test,
remove unused overload in scalar,
modernize overloads (SFINAE instead of type tags).
arm_sve required moving some sections earlier before their first usage.

PiperOrigin-RevId: 701919058
Bumps [actions/cache](https://github.com/actions/cache) from 4.0.2 to 4.2.0.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](actions/cache@0c45773...1bd1e32)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
…actions/cache-4.2.0

PiperOrigin-RevId: 703468488
PiperOrigin-RevId: 705134221
johnplatts and others added 28 commits January 31, 2025 07:47
…skBits_optimisation

PiperOrigin-RevId: 721750804
Remove OrZero suffix and fix MaskedOr docs
Update naming of masked table lookups to follow convention
Optimise MaskedReduceMin/Max
Add TODOs
Remove the masked table lookups
To be added alongside the platform specialisations
Remove unused macros
Rename HWY_SVE_RETV_ARGMVVZ to follow convention
Remove OrZero suffixes for consistency
Rename MaskedDIvide for consistency
Rename HWY_SVE_RETV_ARGMVVZ etc. for consistency
Undef all new macros at end of file
Remove unused macro
Remove unnecessary wrapper functions
Remove MulLower, the rest of this implementation is in google#2429
Remove docs for ops not in this branch
Add missing MaskedMax op
Consolidate MulAdd tests
…enMulPairwiseAccumulate

PiperOrigin-RevId: 722975326
…_arithmetic

PiperOrigin-RevId: 723500133
Remove AddLower, MaskedAddOr can be used instead
Rename MaskedAbsOrZero and reorder MaskedAbsOr args
wbb-ccl pushed a commit that referenced this pull request Feb 11, 2025
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.