Skip to content

[C++] bpacking relies on a left shift by the full lane width returning zero #51492

Closed

Description

@domibel

Describe the bug, including details regarding any error messages, version, and platform.

Arrow's bpacking large kernel asks xsimd for a left shift by the full width of the lane, and depends on the answer being zero.

xsimd does not promise that. SSE2, AVX2 and NEON produce zero, while other instruction sets (e.g. LSX, LASX) take the amount modulo the lane width and return the lane untouched.

The bits then survive the mask and the value decodes incorrectly, with no error reported.

Component(s)

C++

Activity

  1. changed the title [-]bpacking relies on a left shift by the full lane width returning zero[/-] [+][C++] bpacking relies on a left shift by the full lane width returning zero[/+] on Sep 25, 2026
  2. added a commit that references this issue on Sep 25, 2026
  3. added a commit that references this issue on Sep 25, 2026
  4. added a commit that references this issue on Sep 29, 2026
  5. added this to the 26.0.0 milestone on Sep 29, 2026
  6. pitrou commented on Sep 29, 2026

    @pitrou
    Member

    Issue resolved by pull request 51493
    #51493

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

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions