URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Only display areas with differences |
Details |
Blame |
View Log
Rev 297 |
Rev 338 |
struct A {
|
struct A {
|
long a;
|
long a;
|
};
|
};
|
|
|
static inline void foo(struct A *x)
|
static inline void foo(struct A *x)
|
{
|
{
|
__asm__ __volatile__("" : "+m"(x->a) : "r"(x) : "memory", "cc");
|
__asm__ __volatile__("" : "+m"(x->a) : "r"(x) : "memory", "cc");
|
}
|
}
|
|
|
static inline void bar(struct A *x)
|
static inline void bar(struct A *x)
|
{
|
{
|
foo(x);
|
foo(x);
|
}
|
}
|
|
|
struct B { char buf[640]; struct A a; };
|
struct B { char buf[640]; struct A a; };
|
struct B b[32];
|
struct B b[32];
|
|
|
int baz(void)
|
int baz(void)
|
{
|
{
|
int i;
|
int i;
|
struct B *j;
|
struct B *j;
|
for (i = 1; i < 32; i++)
|
for (i = 1; i < 32; i++)
|
{
|
{
|
j = &b[i];
|
j = &b[i];
|
bar(&j->a);
|
bar(&j->a);
|
}
|
}
|
return 0;
|
return 0;
|
}
|
}
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.