URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Go to most recent revision |
Only display areas with differences |
Details |
Blame |
View Log
Rev 319 |
Rev 338 |
/* { dg-do compile } */
|
/* { dg-do compile } */
|
/* { dg-options "-O2" } */
|
/* { dg-options "-O2" } */
|
|
|
int
|
int
|
foo (int x, int y)
|
foo (int x, int y)
|
{
|
{
|
if (y == 0)
|
if (y == 0)
|
{
|
{
|
register long r8 asm ("r8");
|
register long r8 asm ("r8");
|
register long r15 asm ("r15") = 1;
|
register long r15 asm ("r15") = 1;
|
long retval;
|
long retval;
|
__asm __volatile ("foo" : "=r" (r8), "=r" (r15) : "1" (r15));
|
__asm __volatile ("foo" : "=r" (r8), "=r" (r15) : "1" (r15));
|
retval = r8;
|
retval = r8;
|
y = retval;
|
y = retval;
|
}
|
}
|
|
|
{
|
{
|
register long r8 asm ("r8");
|
register long r8 asm ("r8");
|
register long r15 asm ("r15") = 2;
|
register long r15 asm ("r15") = 2;
|
long retval;
|
long retval;
|
register long _out1 asm ("out1") = x;
|
register long _out1 asm ("out1") = x;
|
register long _out0 asm ("out0") = y;
|
register long _out0 asm ("out0") = y;
|
__asm __volatile ("foo"
|
__asm __volatile ("foo"
|
: "=r" (r8), "=r" (r15) , "=r" (_out0), "=r" (_out1)
|
: "=r" (r8), "=r" (r15) , "=r" (_out0), "=r" (_out1)
|
: "1" (r15) , "2" (_out0), "3" (_out1));
|
: "1" (r15) , "2" (_out0), "3" (_out1));
|
retval = r8;
|
retval = r8;
|
return retval;
|
return retval;
|
}
|
}
|
}
|
}
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.