Skip to content

Fix 32-bit x86 build of hash.cc - #2177

Open
jaipaulcheernam wants to merge 1 commit into
abseil:masterfrom
jaipaulcheernam:fix-32bit-x86-hash-simd
Open

jaipaulcheernam wants to merge 1 commit into
abseil:masterfrom
jaipaulcheernam:fix-32bit-x86-hash-simd

Conversation

@jaipaulcheernam

Copy link
Copy Markdown

The x86 AES SIMD path in absl/hash/internal/hash.cc uses the 64-bit-only _mm_cvtsi128_si64 and _mm_extract_epi64 intrinsics but is gated only on SSE4_2 && AES, so 32-bit x86 builds fail to compile.

Require x86_64/_M_X64 for that path, matching the existing guard in absl/crc/internal/crc32_x86_arm_combined_simd.h.

Fixes: #2176

Thank you for your contribution to Abseil!

Before submitting this PR, please be sure to read our contributing
guidelines
.

If you are a Googler, please also note that it is required that you send us a
Piper CL instead of using the GitHub pull-request process. The code propagation
process will deliver the change to GitHub.

@google-cla

google-cla Bot commented Sep 24, 2026

Copy link
Copy Markdown

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

The x86 AES SIMD path in absl/hash/internal/hash.cc uses the 64-bit-only
_mm_cvtsi128_si64 and _mm_extract_epi64 intrinsics but is gated only on
__SSE4_2__ && __AES__, so 32-bit x86 builds fail to compile.

Require __x86_64__/_M_X64 for that path, matching the existing guard in
absl/crc/internal/crc32_x86_arm_combined_simd.h.

Fixes: abseil#2176
@mkruskal-google mkruskal-google self-assigned this Sep 25, 2026
@mkruskal-google
mkruskal-google self-requested a review September 25, 2026 06:12
@mkruskal-google mkruskal-google removed their assignment Sep 25, 2026
@mkruskal-google
mkruskal-google removed their request for review September 25, 2026 06:13
@google-cla google-cla Bot added cla: yes and removed cla: no labels Sep 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: hash.cc doesn't build for 32-bit x86 (uses _mm_cvtsi128_si64 / _mm_extract_epi64)

2 participants