Andrew Stubbs <[email protected]> writes:
> On 28/07/2026 12:54, Richard Biener wrote:
>> [...]
>> Just to add that (mem:<vector> ..) with unordered semantics ties us to that
>> unless we want to have a flag on the mem to have left-to-right semantics.
>> Given it in theory should be made to fit gather/scatter modelling (ignoring
>> the masking representational issue).  So I'd like at least that thought out,
>> if not documented and implemented (having the flag and printing it).

Agreed FWIW.

I think it would be good to think about the masking issue too, given
Robin's parallel discussion about having a better representation of
predication.  Again, just in terms of having a plausible approach
thought out, rather than being implemented in the first version.

> I believe the /i and /s flags are available, if we should choose to use 
> them.
>
> Would a target hook not be sufficient though? These things are likely to 
> be true always or never, for any given mode, on most architectures.
>
> Better even, as such flags are somewhat likely to "get lost" in all the 
> random places that manipulate MEM.

Please don't use a hook! :)  IMO RTL semantics should stand on their own
as far as possible.  I realise there are exceptions, like STORE_FLAG_VALUE
and SHIFT_COUNT_TRUNCATED, but even there, I think it would have been
better to make the RTL operators self-descriptive and use the macros
to control which operator is generated.

Making SHIFT_COUNT_TRUNCATED apply to all shift rtxes has been a problem
in the past and using a hook here might end up the same way.

Thanks,
Richard

Reply via email to