Re: Inline assembly queries [2]

From: Andreas Schwab
Date: Fri Jul 03 2009 - 16:57:27 EST


Brad Boyer <flar@xxxxxxxxxxxxx> writes:

> On Fri, Jul 03, 2009 at 12:14:41PM +0530, kernel mailz wrote:
>> b. using m or Z with a memory address. I tried replacing m/Z but no change
>> Is there some guideline ?
>> gcc documentation says Z is obsolete. Is m/Z replaceable ?
>
> No idea. I don't remember ever seeing 'Z' used in anything. Maybe somebody
> else remembers what it used to mean.

The 'Z' constraint is required for a memory operand for insns that don't
have an update form (which would be selected by the %U modifier). It
should only be used together with the %y operand modifier, which makes
sure that the first register is never 0. If the 'm' constraint were
used the operand could contain a pre-in/decrement operation, and without
%U the side effect would be lost.

Andreas.

--
Andreas Schwab, schwab@xxxxxxxxxxxxxx
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/