Landing: 67ec3f521529
Project / Subsystem
gcc / rtl-optimization
Date
2026-08-13
Author
Roger Sayle
Commit
67ec3f5215298dd7f3177ed16c10c84392db8bb6
Source
github
Perf win
Yes
Breaking
No
All attributes
- project
- gcc
- subsystem
- rtl-optimization
- patch_id
- —
- commit_hash
- 67ec3f5215298dd7f3177ed16c10c84392db8bb6
- source_type
- github
- headline
- ARM: Fix missed optimization for lsls instruction
- tldr
- Corrects a regression in GCC's ARM backend that prevented the use of the efficient 'lsls' instruction on Thumb.
- author
- Roger Sayle
- outcome
- committed
- performance_win
- true
- breaking_change
- false
- series_id
- —
- series_parts
- []
- tags
-
- • arm
- • rtl-optimization
- • gcc
- discussion_id_link
- —
- bugzilla_pr
- —
- date
- 2026-08-13T00:00:00.000Z
A recent change intended to fix PR tree-optimization/123236 inadvertently caused a regression in GCC’s ARM backend, specifically affecting Thumb code. The compiler now fails to emit the shorter lsls instruction for a particular optimization pattern, leading to less efficient code. This commit disables the offending transformation in the combine pass, resolving the issue and allowing GCC to generate the expected, more optimal RTL that matches ARM’s Thumb instruction set.