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
