Landing: ca800bd07d2d

Project / Subsystem

gcc / aarch64

Date

2026-09-22

Author

Wilco Dijkstra

Commit

ca800bd07d2d0eb1f00dcb3314aaf34df8230053

Source

github

Perf win

Yes

Breaking

No

All attributes

project
gcc
subsystem
aarch64
patch_id
—
commit_hash
ca800bd07d2d0eb1f00dcb3314aaf34df8230053
source_type
github
headline
AArch64: Use specific operand for atomic_store
tldr
Improves common subexpression elimination for atomic stores by using a more specific operand.
author
Wilco Dijkstra
outcome
committed
performance_win
true
breaking_change
false
series_id
—
series_parts
[]
tags
  • • aarch64
  • • optimization
  • • atomics
  • • cse
discussion_id_link
—
bugzilla_pr
—
date
2026-09-22T00:00:00.000Z

The generic atomic_store<mode> pattern in the AArch64 backend used general_operand, which prevented common subexpression elimination (CSE) when the store value was an immediate. This commit replaces general_operand with aarch64_reg_or_zero, a more specific operand that allows CSE to function correctly, potentially leading to more optimized code.