Landing: cfe20dd118f5

Project / Subsystem

gcc / xtensa

Date

2026-09-12

Author

Takayuki 'January June' Suwa

Commit

cfe20dd118f5b83cb5dfac890e02b5b0a169abc1

Source

github

Perf win

No

Breaking

No

All attributes

project
gcc
subsystem
xtensa
patch_id
—
commit_hash
cfe20dd118f5b83cb5dfac890e02b5b0a169abc1
source_type
github
headline
XTENSA: Exclude A0 from RL_REGS when Windowed ABI is active
tldr
Xtensa target excludes A0 register from preferred reload set when using Windowed ABI.
author
Takayuki 'January June' Suwa
outcome
committed
performance_win
false
breaking_change
false
series_id
—
series_parts
[]
tags
  • • xtensa
  • • register allocation
  • • ABI
discussion_id_link
—
bugzilla_pr
—
date
2026-09-12T00:00:00.000Z

On Xtensa targets using the Windowed Register ABI, the A0 register is reserved for return addresses and cannot be used for general purposes. This commit modifies the xtensa_conditional_register_usage function to exclude the A0 register from the RL_REGS register class, which represents preferred reload registers. This ensures that the compiler does not attempt to use A0 for reloads, preventing potential conflicts with its dedicated role for return addresses.