URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Only display areas with differences |
Details |
Blame |
View Log
Rev 297 |
Rev 338 |
/* { dg-options "-fmodulo-sched" } */
|
/* { dg-options "-fmodulo-sched" } */
|
|
|
|
|
extern long *x1, *x2, *x3;
|
extern long *x1, *x2, *x3;
|
|
|
int
|
int
|
foo ()
|
foo ()
|
{
|
{
|
/* Switching the following two lines prevents the ICE. */
|
/* Switching the following two lines prevents the ICE. */
|
long *p1, *p2;
|
long *p1, *p2;
|
long m, n, i;
|
long m, n, i;
|
|
|
p1 = x1;
|
p1 = x1;
|
p2 = x2;
|
p2 = x2;
|
n = 0;
|
n = 0;
|
for (i = *x3; 0 < i; i--)
|
for (i = *x3; 0 < i; i--)
|
{
|
{
|
m = (*p1++) ^ (*p2++);
|
m = (*p1++) ^ (*p2++);
|
m = (m & 0x55555555) + ((m >> 1) & 0x55555555);
|
m = (m & 0x55555555) + ((m >> 1) & 0x55555555);
|
m = (m & 0x33333333) + ((m >> 2) & 0x33333333);
|
m = (m & 0x33333333) + ((m >> 2) & 0x33333333);
|
m = (m + (m >> 4)) & 0x0f0f0f0f;
|
m = (m + (m >> 4)) & 0x0f0f0f0f;
|
m = (m + (m >> 8));
|
m = (m + (m >> 8));
|
n += m;
|
n += m;
|
}
|
}
|
return n;
|
return n;
|
}
|
}
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.