Skip to content

Implement rotate_elements_{left,right} on masks - #360

Open
Shnatsel wants to merge 1 commit into
linebender:mainfrom
Shnatsel:mask-movement-methods
Open

Implement rotate_elements_{left,right} on masks#360
Shnatsel wants to merge 1 commit into
linebender:mainfrom
Shnatsel:mask-movement-methods

Conversation

@Shnatsel

Copy link
Copy Markdown
Contributor

Pretty straightforward: forward either to the vector rotate_elements_* for vector-backed masks, or to rotate_* on std scalars for AVX-512.

Since lowerings into slide() caused issues with compile time before, I measured how this impacts the build, and it's within measurement noise. I've experimented with implementing it as a default trait without re-emitting basically the same body into individual implementation methods, but that created more IR for LLVM dead code elimination to chew through, and slowed down compilation of code that actually uses and instantiates this without meaningfully changing the frontend costs. So I believe this is the best way to implement this.

@Shnatsel Shnatsel mentioned this pull request Aug 29, 2026
22 tasks
@Shnatsel
Shnatsel force-pushed the mask-movement-methods branch from bec1909 to 1d89c39 Compare August 30, 2026 09:56
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