diff options
author | Andrew Stubbs <ams@codesourcery.com> | 2023-07-31 17:52:06 +0100 |
---|---|---|
committer | Andrew Stubbs <ams@codesourcery.com> | 2023-12-13 15:30:42 +0000 |
commit | 392f70cc11089f6da2611177de5f3e8baad6d327 (patch) | |
tree | e4261951c70f9e61bbdfa988736b7fb277b76713 /libcpp | |
parent | e6bb4d997953d3ad28082a1dccb69657c6f441d9 (diff) | |
download | gcc-392f70cc11089f6da2611177de5f3e8baad6d327.zip gcc-392f70cc11089f6da2611177de5f3e8baad6d327.tar.gz gcc-392f70cc11089f6da2611177de5f3e8baad6d327.tar.bz2 |
amdgcn: Support XNACK mode
The XNACK feature allows memory load instructions to restart safely following
a page-miss interrupt. This is useful for shared-memory devices, like APUs,
and to implement OpenMP Unified Shared Memory.
To support the feature we must be able to set the appropriate meta-data and
set the load instructions to early-clobber. When the port supports scheduling
of s_waitcnt instructions there will be further requirements.
gcc/ChangeLog:
* config/gcn/gcn-hsa.h (NO_XNACK): Ignore missing -march.
(XNACKOPT): Match on/off; ignore any.
* config/gcn/gcn-valu.md (gather<mode>_insn_1offset<exec>):
Add xnack compatible alternatives.
(gather<mode>_insn_2offsets<exec>): Likewise.
* config/gcn/gcn.cc (gcn_option_override): Permit -mxnack for devices
other than Fiji and gfx1030.
(gcn_expand_epilogue): Remove early-clobber problems.
(gcn_hsa_declare_function_name): Obey -mxnack setting.
* config/gcn/gcn.md (xnack): New attribute.
(enabled): Rework to include "xnack" attribute.
(*movbi): Add xnack compatible alternatives.
(*mov<mode>_insn): Likewise.
(*mov<mode>_insn): Likewise.
(*mov<mode>_insn): Likewise.
(*movti_insn): Likewise.
* config/gcn/gcn.opt (-mxnack): Change the default to "any".
* doc/invoke.texi: Remove placeholder notice for -mxnack.
Diffstat (limited to 'libcpp')
0 files changed, 0 insertions, 0 deletions