aboutsummaryrefslogtreecommitdiff
path: root/gcc/cppdefault.h
diff options
context:
space:
mode:
authorAndrew Stubbs <ams@baylibre.com>2025-06-12 16:58:33 +0000
committerAndrew Stubbs <ams@baylibre.com>2025-07-30 13:00:37 +0000
commit4ff3d0d40af181140ecad42fb23047e374967f4d (patch)
treeb0e462b57d1586fd2dc1719ceb879c1994440b39 /gcc/cppdefault.h
parent9ebe1b5d26fda4fffb014d55c84db4239a955e27 (diff)
downloadgcc-4ff3d0d40af181140ecad42fb23047e374967f4d.zip
gcc-4ff3d0d40af181140ecad42fb23047e374967f4d.tar.gz
gcc-4ff3d0d40af181140ecad42fb23047e374967f4d.tar.bz2
amdgcn: add DImode offsets for gather/scatter
Add new variant of he gather_load and scatter_store instructions that take the offsets in DImode. This is not the natural width for offsets in the instruction set, but we can use them to compute a vector of absolute addresses, which does work. This enables the autovectorizer to use gather/scatter in a number of additional scenarios (one of which shows up in the SPEC HPC lbm benchmark). gcc/ChangeLog: * config/gcn/gcn-valu.md (gather_load<mode><vndi>): New. (scatter_store<mode><vndi>): New. (mask_gather_load<mode><vndi>): New. (mask_scatter_store<mode><vndi>): New. * config/gcn/gcn.cc (gcn_expand_scaled_offsets): Support DImode. (cherry picked from commit 351fa55c58a036f148d13bca972e687a0bacd113)
Diffstat (limited to 'gcc/cppdefault.h')
0 files changed, 0 insertions, 0 deletions