linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* How to use "y" constraint in GCC inline powerpc assembly ?
@ 2020-04-18  8:28 Christophe Leroy
  2020-04-18 21:39 ` Segher Boessenkool
  0 siblings, 1 reply; 2+ messages in thread
From: Christophe Leroy @ 2020-04-18  8:28 UTC (permalink / raw)
  To: Segher Boessenkool; +Cc: linuxppc-dev@lists.ozlabs.org

Hi Segher,

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 ?

int test(char *p)
{
	struct {
		int r:1;
	} res = {0};

	asm("crnot %0 * 4 + eq, %0 * 4 + eq": "=&y"(res.r));

	if (res.r)
		return -14;
	return 0;
}

Christophe

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2020-04-18 21:42 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-04-18  8:28 How to use "y" constraint in GCC inline powerpc assembly ? Christophe Leroy
2020-04-18 21:39 ` Segher Boessenkool

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).