How to use "y" constraint in GCC inline powerpc assembly ?

Segher Boessenkool segher at kernel.crashing.org
Sun Apr 19 07:39:53 AEST 2020


Hi!

On Sat, Apr 18, 2020 at 08:28:53AM +0000, Christophe Leroy wrote:
> I'd like to use cr instead of gpr to return error condition from 
> __get_user().
> 
> I saw in GCC doc 
> (https://gcc.gnu.org/onlinedocs/gcc/Machine-Constraints.html) that it is 
> possible to use "y" as constraint to refer to "Any condition register 
> field, cr0…cr7".
> 
> I tried the test below, but it fails with "error: impossible register 
> constraint in 'asm'"
> 
> How does "y" has to be used ?

The same as "x".  You cannot really use these constraints in asm, it's
internal only.  I'll remove it from the inline asm documentation.  Thanks!

(You should put the cr fields you use in an inline asm in its clobber
list, i.e. "cr0" or "cr7").


Segher


More information about the Linuxppc-dev mailing list