Landing: 8f8968aa70a4

Project / Subsystem

gcc / sh

Date

2026-06-29

Author

Oleg Endo

Commit

8f8968aa70a455fa55d267a4d448af094639838c

Source

github

Perf win

No

Breaking

No

All attributes

project
gcc
subsystem
sh
patch_id
commit_hash
8f8968aa70a455fa55d267a4d448af094639838c
source_type
github
headline
SH: Add movv2sf patterns to support LRA
tldr
New patterns for `movv2sf` and related instructions are added to the SH backend to prevent LRA from entering reload cycles.
author
Oleg Endo
outcome
committed
performance_win
false
breaking_change
false
series_id
series_parts
[]
tags
  • sh
  • register allocation
  • compiler patterns
discussion_id_link
bugzilla_pr
date
2026-06-29T00:00:00.000Z

The SH backend introduces new patterns for the movv2sf instruction and its variations to properly handle splits after register allocation. Without these patterns, the Long-Range Addresser (LRA) can get stuck in infinite reload cycles. The primary use case identified for V2SF mode is the FSCA instruction.