aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/cpp2a/lambda-targ13a.C
diff options
context:
space:
mode:
authorTobias Burnus <tburnus@baylibre.com>2025-07-25 11:24:22 +0200
committerTobias Burnus <tburnus@baylibre.com>2025-07-25 11:24:22 +0200
commit02213d07210c22fb4408b1b35b6b4261ce7d466d (patch)
treeeea5de5743be8c07527b6ded4ca1569490934e53 /gcc/testsuite/g++.dg/cpp2a/lambda-targ13a.C
parent94f896c7c6c0329077271487219e345bcdcec6ab (diff)
downloadgcc-master.zip
gcc-master.tar.gz
gcc-master.tar.bz2
gcn: Add "s_nop"s for MI300HEADtrunkmaster
MI300 requires some additional s_nop to be added between some instructions. * As 'v_readlane' and 'v_writelane' have to be distinguished, the 'laneselect' attribute was changed from no/yes to no/read/write. * Add some missing 'laneselect' attributes for v_(read,write)lane. * Replace 'delayeduse' by 'flatmemaccess' which is more explicit, especially as some uses have to destinguished more details. (Alongside, one off-by-two delayeduse has been fixed.) On the other hand, RDNA 2, 3, and 3.5 do not require any added s_nop; thus, there is no need to walk the instructions for them to insert pointless S_NOP. (RDNA4 (not yet in GCC) requires it in a few cases.) gcc/ChangeLog: * config/gcn/gcn-opts.h (TARGET_NO_MANUAL_NOPS, TARGET_CDNA3_NOPS): Define. * config/gcn/gcn.md (define_attr "laneselect): Change 'yes' to 'read' and 'write'. (define_attr "flatmemaccess"): Add with values store, storex34, load, atomic, atomicwait, cmpswapx2, and no. Replacing ... (define_attr "delayeduse"): Remove. (define_attr "transop"): Add with values yes and no. (various insns): Update 'laneselect', add flatmemaccess and transop, remove delayeduse; fixing an issue for s_load_dwordx4 vs. flat_store_dwordx4 related to delayeduse (now: flatmemaccess). * config/gcn/gcn-valu.md: Update laneselect attribute and add flatmemaccess. * config/gcn/gcn.cc (gcn_cmpx_insn_p): New. (gcn_md_reorg): Update for MI300 to add additional s_nop. Skip s_nop-insertion part for RDNA{2,3}; add "VALU writes EXEC followed by VALU DPP" unconditionally for CDNA2/CDNA3/GCN5.
Diffstat (limited to 'gcc/testsuite/g++.dg/cpp2a/lambda-targ13a.C')
0 files changed, 0 insertions, 0 deletions