GCC Newspaper
OCTOBER 6, 2026
Date
/
Architectures
Components
Topics
News & Policy
Other
amdgcn

amdgcn: Handle XNACK in pre-split mov instructions

Ensures load instructions on AMD GPUs handle XNACK correctly even before splitting.

This commit addresses a latent bug in the AMD GCN (Graphics Core Next) backend by ensuring that load instructions are restartable and marked as no-clobber when XNACK is enabled. This is necessary even for instructions that will be split later, guaranteeing correct behavior in the presence of XNACK acknowledgments.

In Details

Adds XNACK alternatives for mov<mode>_exec and mov<mode>_sgprbase in config/gcn/gcn-valu.md. This ensures that loads, even those split later by the VLIW/SIMD packer, are correctly marked as no-clobber and restartable when XNACK is enabled, preventing potential data corruption.

For Context
amdgcn
The GCC backend for AMD's Graphics Core Next (GCN) GPU architecture.
XNACK
An acknowledgment mechanism used in some hardware (like AMD GPUs) to signal that a memory transaction has completed or requires retries.
mov instructions
Instructions that move data between registers or between registers and memory.
no-clobber
An instruction property indicating that it does not modify the destination operand, allowing for more optimization opportunities.
config/gcn/gcn-valu.md
The GCC machine description file for AMD GCN VALUE instructions.
Filed Under: amdgcngpuhardwaredriver