how to specify individual registers as constraints for the operands

李力 <[email protected]>
Newsgroups gmane.linux.ports.arm.general
Message-ID <[email protected]>
Dear all,
 
I am a newbie in this and I would like to know how to specify individual registers as constraints for the operands.
For example;
 
int foo(int x, int y)
{
           int z = x + y;
 
           printf("foo:  x = %d  y= %d\n ", x, y);
           return z;
}
 
void call_foo(void)
{
         int result;
         int arg1 =1, arg2=2;          
 
         asm("foo" : "=r"(result) : "r"(arg1),"r"(arg2));
         printf("call_foo result = %d\n",result);        
}
 
How can I ask gcc to put arg1 into r0 and arg2 into r1?
 
please help me what to do.
 
Regards,
 
Ming     
 		 	   		  
_________________________________________________________________
SkyDrive电子画册,带你领略精彩照片,分享“美”时“美”刻!
http://www.windowslive.cn/campaigns/e-magazine/ngmchina/?a=c
_______________________________________________
linux-arm mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/linux-arm
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.