This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Register constraints + and =
On May 4, 2012, at 11:39 AM, Ian Lance Taylor wrote:
> <Paul_Koning@Dell.com> writes:
>
>> I thought that the "operand" in a mem:BLK is the pointer to the block,
>> not the block itself. So if the instruction(s) generated don't touch
>> the pointer -- a likely answer for a block-move instruction -- then
>> the operand would be read-only. Is that the right interpretation?
>
> Yes.
>
> But many block move instructions do in fact touch the pointer, in that
> they update the registers pointing to the starts of the blocks to point
> to the ends after the instruction completes.
I interpreted + to mean that the operand is written with a value known to the compiler, as opposed to clobber which means that the value is not known (or not one that can be described to the compiler). So I take it that for mem:BLK a + operand is interpreted as final value == end of the buffer? Or byte after the buffer?
paul