AW: AW: AW: setmemsi, movmemsi and post_inc

Jeff Law
Fri Mar 26 14:08:13 GMT 2021

On 3/26/2021 12:47 AM, Stefan Franke wrote:
>> Von: Gcc-help <> Im Auftrag von Jeff Law via
>> On 3/25/2021 2:16 PM, Stefan Franke wrote:
>>> At least it seems possible to use auto_inc inside an emitted loop, since that
>> yields a separate bb...
>> I wouldn't rely on that.
> What about using (parallel ) as envelope for the loop body?

If you mean a parallel where you've got the memory reference as well as 
an update of the base register as distinct sets, yes that will work as 
the RTL pattern is fully describing the operation. This is documented in 
the manual:

An instruction that can be represented with an embedded side effect
could also be represented using @code{parallel} containing an additional
@code{set} to describe how the address register is altered.  This is not
done because machines that allow these operations at all typically
allow them wherever a memory address is called for.  Describing them as
additional parallel stores would require doubling the number of entries
in the machine description.

> Or even create a pseudo insn which yield the loop body as asm template?

I wouldn't recommend this.


More information about the Gcc-help mailing list