Landing: ca5cffec066f

Project / Subsystem

gcc / arc

Date

2026-06-24

Author

Michiel Derhaeg

Commit

ca5cffec066fb8a7edd13dd12792505739381b42

Source

github

Perf win

No

Breaking

No

All attributes

project
gcc
subsystem
arc
patch_id
—
commit_hash
ca5cffec066fb8a7edd13dd12792505739381b42
source_type
github
headline
Arc: Fix invalid register index addressing for uncached stores
tldr
GCC's Arc backend now correctly handles register-based addressing for uncached stores, fixing invalid operand issues.
author
Michiel Derhaeg
outcome
committed
performance_win
false
breaking_change
false
series_id
—
series_parts
[]
tags
  • • arc
  • • compiler
  • • backend
  • • addressing mode
discussion_id_link
—
bugzilla_pr
—
date
2026-06-24T00:00:00.000Z

A bug in GCC’s Arc backend that allowed invalid register-index addressing for uncached stores has been fixed. The stdi<mode> instruction incorrectly used a too-liberal predicate, allowing [reg,reg] operands which are not valid on Arc. This commit corrects the addressing mode by forcing the address into a register when necessary and uses a more restrictive predicate for the destination operand.