URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [gcc.c-torture/] [execute/] [20030613-1.c] - Rev 774
Go to most recent revision | Compare with Previous | Blame | View Log
/* PR optimization/10955 */ /* Originator: <heinrich.brand@fujitsu-siemens.com> */ /* This used to fail on SPARC32 at -O3 because the loop unroller wrongly thought it could eliminate a pseudo in a loop, while the pseudo was used outside the loop. */ extern void abort(void); #define COMPLEX struct CS COMPLEX { long x; long y; }; static COMPLEX CCID (COMPLEX x) { COMPLEX a; a.x = x.x; a.y = x.y; return a; } static COMPLEX CPOW (COMPLEX x, int y) { COMPLEX a; a = x; while (--y > 0) a=CCID(a); return a; } static int c5p (COMPLEX x) { COMPLEX a,b; a = CPOW (x, 2); b = CCID( CPOW(a,2) ); return (b.x == b.y); } int main (void) { COMPLEX x; x.x = -7; x.y = -7; if (!c5p(x)) abort(); return 0; }
Go to most recent revision | Compare with Previous | Blame | View Log