aboutsummaryrefslogtreecommitdiff
path: root/libcpp
diff options
context:
space:
mode:
authorAndrew Stubbs <ams@codesourcery.com>2023-07-31 17:52:06 +0100
committerAndrew Stubbs <ams@codesourcery.com>2023-12-13 15:30:42 +0000
commit392f70cc11089f6da2611177de5f3e8baad6d327 (patch)
treee4261951c70f9e61bbdfa988736b7fb277b76713 /libcpp
parente6bb4d997953d3ad28082a1dccb69657c6f441d9 (diff)
downloadgcc-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