> Am 24.10.2022 um 18:51 schrieb Andrew Stubbs <a...@codesourcery.com>: > > I've committed this to the OG12 branch to remove some test failures. We > probably ought to have something on mainline also, but a proper fix would be > better. > > Without this. the libgomp.oacc-c-c++-common/private-variables.c testcase > fails to compile due to an ICE. The OpenACC worker broadcasting code is > creating SLP optimizable loads and stores in amdgcn address-space-4. > Previously this was "ok" as SLP didn't work with less that 64-lane vectors, > but the newly implemented smaller vectors are working as intended and > optimizing this. > > Unfortunately the vectorizer is losing the address-space data from the > intermediate types, and it all falls apart during expand when it tries the > convert a 32-bit address into a 64-bit address and that's not something that > works. At first sight it looks like we could possibly make that work with > POINTERS_EXTEND_UNSIGNED, but that only changes the error message. > Fundamentally we need to make sure that various instances of "vectype" have > the correct address space, but my attempts to do so showed that that's a > larger task than I have time for right now. Istr there were issues like this in the past that I fixed, so any testcase that exposes this with just a gcn cc1 would be nice to have. Richard > > This patch simply prevents the vectorizer working in the case where it would > break. This should not be a regression because this code didn't vectorize at > all, previously. > > Andrew > <221024-workarround-vec-addrspace-bug.patch>
Re: [OG12 commit] vect: WORKAROUND vectorizer bug
Richard Biener via Gcc-patches Mon, 24 Oct 2022 11:06:31 -0700
- [OG12 commit] vect: WORKAROUND vectorizer b... Andrew Stubbs
- Re: [OG12 commit] vect: WORKAROUND vec... Richard Biener via Gcc-patches
- Re: [OG12 commit] vect: WORKAROUND... Andrew Stubbs