This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]