Landing: d9d078c21615

Project / Subsystem

gcc / gcc/bitintlower

Date

2026-09-18

Author

Jakub Jelinek

Commit

d9d078c216150bbe0397ded72f035c35b476e88e

Source

github

Perf win

No

Breaking

No

All attributes

project
gcc
subsystem
gcc/bitintlower
patch_id
—
commit_hash
d9d078c216150bbe0397ded72f035c35b476e88e
source_type
github
headline
Fix big-endian separate_ext loop condition for bit integers
tldr
Corrects loop bounds for sign extension of bit integers on big-endian systems.
author
Jakub Jelinek
outcome
committed
performance_win
false
breaking_change
false
series_id
—
series_parts
[]
tags
  • • compiler bug
  • • bit-integer
  • • endianness
  • • powerpc
discussion_id_link
—
bugzilla_pr
—
date
2026-09-18T00:00:00.000Z

This commit fixes an issue in GCC’s bit-integer lowering pass where the loop condition for sign extension on big-endian architectures was incorrect. The problem, observed on powerpc64-linux, caused the loop to iterate over the wrong set of limbs, leading to incorrect code generation. The fix adjusts the loop’s starting point and increment logic to match the expected behavior for big-endian byte order.