Landing: 9d60af6d3e3b

Project / Subsystem

gcc / gcc/i386

Date

2026-05-05

Author

Jakub Jelinek

Commit

9d60af6d3e3bcaf37f44312569e15163af2ec598

Source

github

Perf win

No

Breaking

No

All attributes

project
gcc
subsystem
gcc/i386
patch_id
commit_hash
9d60af6d3e3bcaf37f44312569e15163af2ec598
source_type
github
headline
i386: Don't split volatile memory tests into 8-bit tests.
tldr
Avoids undesirable splitting of 16/32-bit volatile memory tests into 8-bit tests when `-ffuse-ops-with-volatile-access` is enabled.
author
Jakub Jelinek
outcome
committed
performance_win
false
breaking_change
false
series_id
series_parts
[]
tags
  • i386
  • volatile
  • optimization
discussion_id_link
bugzilla_pr
date
2026-05-05T00:00:00.000Z

When -ffuse-ops-with-volatile-access is enabled, the compiler could split 16 or 32-bit volatile memory tests into 8-bit volatile memory tests. This change prevents this splitting, as it can lead to misbehavior, especially when accessing memory-mapped hardware registers. A new test case is added to verify the fix.