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.