Skip to content

Improve xsimd::expand common implementation#1200

Merged
serge-sans-paille merged 1 commit intomasterfrom
feature/faster-default-expand
Nov 12, 2025
Merged

Improve xsimd::expand common implementation#1200
serge-sans-paille merged 1 commit intomasterfrom
feature/faster-default-expand

Conversation

@serge-sans-paille
Copy link
Copy Markdown
Contributor

Previous implementation was making the assumption of cheap xsimd::insert, and it always generated batch::size inserts.

This implementation can take advantage of smaller popcount on the bitmask.

Note to self: it would be great to have a good implementation for constant mask.

@serge-sans-paille serge-sans-paille force-pushed the feature/faster-default-expand branch 6 times, most recently from ef99535 to 5adcd11 Compare November 11, 2025 21:34
Previous implementation was making the assumption of cheap
xsimd::insert, and it always generated batch::size inserts.

This implementation can take advantage of smaller popcount on the
bitmask.

Note to self: it would be great to have a good implementation for
constant mask.
@serge-sans-paille serge-sans-paille force-pushed the feature/faster-default-expand branch from 5adcd11 to 42b96a1 Compare November 11, 2025 21:46
@DiamonDinoia
Copy link
Copy Markdown
Contributor

Can you cherry pick my masks from the masked_ops? Then you have popcount for free. I will try to fix the mased memory ops in the following couple of days.

@serge-sans-paille
Copy link
Copy Markdown
Contributor Author

@DiamonDinoia that would only be useful for constant mask, right? We currently have expand only for dynamic mask (I dislike that, I'll have to provide a generic implementation for constant mask in the future, but post-release)

@DiamonDinoia
Copy link
Copy Markdown
Contributor

Oh yes, I deleted the dynamic mask when I removed the dynamic masked ops. With rebasing the changes might be lost.

@serge-sans-paille serge-sans-paille merged commit aaec742 into master Nov 12, 2025
120 checks passed
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.

2 participants