URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Only display areas with differences |
Details |
Blame |
View Log
Rev 297 |
Rev 338 |
extern void abort (void);
|
extern void abort (void);
|
|
|
int
|
int
|
main ()
|
main ()
|
{
|
{
|
int i, j;
|
int i, j;
|
unsigned long u, r1, r2;
|
unsigned long u, r1, r2;
|
|
|
i = -16;
|
i = -16;
|
j = 1;
|
j = 1;
|
u = i + j;
|
u = i + j;
|
|
|
/* no sign extension upon shift */
|
/* no sign extension upon shift */
|
r1 = u >> 1;
|
r1 = u >> 1;
|
/* sign extension upon shift, but there shouldn't be */
|
/* sign extension upon shift, but there shouldn't be */
|
r2 = ((unsigned long) (i + j)) >> 1;
|
r2 = ((unsigned long) (i + j)) >> 1;
|
|
|
if (r1 != r2)
|
if (r1 != r2)
|
abort ();
|
abort ();
|
|
|
return 0;
|
return 0;
|
}
|
}
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.