Landing: 32160061ca6d
Project / Subsystem
gcc / bitintlower
Date
2026-04-29
Author
Jakub Jelinek
Commit
32160061ca6d0fc9588b3dea41ced503907f79ca
Source
github
Perf win
No
Breaking
No
All attributes
- project
- gcc
- subsystem
- bitintlower
- patch_id
- —
- commit_hash
- 32160061ca6d0fc9588b3dea41ced503907f79ca
- source_type
- github
- headline
- bitintlower: Padding bit fixes, part 6 [PR123635]
- tldr
- This commit fixes an issue in bitintlower on big-endian architectures related to padding bits and overflow handling in multiplication.
- author
- Jakub Jelinek
- outcome
- committed
- performance_win
- false
- breaking_change
- false
- series_id
- —
- series_parts
- []
- tags
-
- • bitint
- • middle-end
- • bugfix
- • s390x
- discussion_id_link
- —
- bugzilla_pr
- —
- date
- 2026-04-29T00:00:00.000Z
This commit addresses a failure in the bitintlower pass on big-endian architectures, specifically s390x-linux. The issue occurred during the handling of __builtin_mul_overflow for bitint types, where the code incorrectly extended the most significant limb due to an incorrect offset calculation. The fix involves recomputing obj_nelts before extending the bitint and adjusting the arguments passed to limb_access for big-endian systems, resolving the incorrect memory access and assertion failures.