Landing: 2b2e5f661dcb

Project / Subsystem

gcc / sh

Date

2026-06-23

Author

Kaz Kojima

Commit

2b2e5f661dcbea7136229494148c8e0897496613

Source

github

Perf win

No

Breaking

No

All attributes

project
gcc
subsystem
sh
patch_id
commit_hash
2b2e5f661dcbea7136229494148c8e0897496613
source_type
github
headline
SH: Adjust fp-reg move insns for LRA compatibility
tldr
SH backend modifies floating-point move instructions to better integrate with the LRA register allocator.
author
Kaz Kojima
outcome
committed
performance_win
false
breaking_change
false
series_id
series_parts
[]
tags
  • sh
  • register allocation
  • floating-point
discussion_id_link
bugzilla_pr
date
2026-06-23T00:00:00.000Z

The SH backend adjusts floating-point move instructions to accommodate the Long-Range Addresser (LRA) register allocator. Modifications include splitting the movsf_ie_ra instruction, introducing new sub-patterns for movdf constant loads, and creating a movsf_ie_rffr pattern. These changes aim to remove match_scratch constraints that LRA struggles with, improving its reliability for floating-point operations.