aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/gcn/gcn.c
diff options
context:
space:
mode:
authorAndrew Stubbs <ams@codesourcery.com>2020-02-20 14:44:04 +0000
committerAndrew Stubbs <ams@codesourcery.com>2020-02-21 14:11:34 +0000
commitb5fb73b6bed11aaa87919c3885349e6f1ca0349f (patch)
treea8dda1b1c1ccf8aa0cad7b8dafd181288de1bdf5 /gcc/config/gcn/gcn.c
parent4d6bf96b583d77336cf6ca643d92d068a88414fa (diff)
downloadgcc-b5fb73b6bed11aaa87919c3885349e6f1ca0349f.zip
gcc-b5fb73b6bed11aaa87919c3885349e6f1ca0349f.tar.gz
gcc-b5fb73b6bed11aaa87919c3885349e6f1ca0349f.tar.bz2
amdgcn: Use correct offset mode for gather/scatter
The scatter/gather pattern names changed for GCC 10, but I hadn't noticed. This switches the patterns to the new offset mode scheme. 2020-02-21 Andrew Stubbs <ams@codesourcery.com> gcc/ * config/gcn/gcn-valu.md (gather_load<mode>): Rename to ... (gather_load<mode>v64si): ... this and set operand 2 to V64SI. (scatter_store<mode>): Rename to ... (scatter_store<mode>v64si): ... this and set operand 1 to V64SI. (scatter<mode>_exec): Delete. Move contents ... (mask_scatter_store<mode>): ... here, and rename that to ... (mask_gather_load<mode>v64si): ... this. Set operand 2 to V64SI. Remove mode conversion. (mask_gather_load<mode>): Rename to ... (mask_scatter_store<mode>v64si): ... this. Set operand 1 to V64SI. Remove mode conversion. * config/gcn/gcn.c (gcn_expand_scaled_offsets): Remove mode conversion.
Diffstat (limited to 'gcc/config/gcn/gcn.c')
-rw-r--r--gcc/config/gcn/gcn.c9
1 files changed, 0 insertions, 9 deletions
diff --git a/gcc/config/gcn/gcn.c b/gcc/config/gcn/gcn.c
index 531f47a..a8fd7d6 100644
--- a/gcc/config/gcn/gcn.c
+++ b/gcc/config/gcn/gcn.c
@@ -1861,15 +1861,6 @@ rtx
gcn_expand_scaled_offsets (addr_space_t as, rtx base, rtx offsets, rtx scale,
bool unsigned_p, rtx exec)
{
- /* Convert the offsets to V64SImode.
- TODO: more conversions will be needed when more types are vectorized. */
- if (GET_MODE (offsets) == V64DImode)
- {
- rtx tmp = gen_reg_rtx (V64SImode);
- emit_insn (gen_truncv64div64si2 (tmp, offsets));
- offsets = tmp;
- }
-
rtx tmpsi = gen_reg_rtx (V64SImode);
rtx tmpdi = gen_reg_rtx (V64DImode);
rtx undefsi = exec ? gcn_gen_undef (V64SImode) : NULL;