Andrew Stubbs <a...@codesourcery.com> writes:
> Hi all,
>
> I'm in the process of trying to update our AMD GCN port from GCC 7 to 
> GCC 8+, but I've hit a problem ...
>
> It seems there's a new assumption that pointers and addresses will be 
> scalar, but GCN load instructions require vectors of pointers. 
> Basically, machine_mode has been replaced with scalar_int_machine mode 
> in many places, and we were relying on vector modes being allowed.
>
> The changes are all coming from the Richard Sandiford's SVE patches.

FWIW, I think that assumption was always there.  The scalar_int_mode
patches just made it more explicit (as in, more code would fail to
build if it wasn't honoured, rather than just potentially ICEing).

Is this mostly about the RTL level concept of an address or pointer?
If so, in what situations do you need the address or pointer itself to
be a vector?  SVE and AVX use unspecs for gathers and scatters, and I
don't think in practice we lose anything by doing that.

Thanks,
Richard

Reply via email to