mirror of
https://github.com/nArnoSNES/tcc-65816.git
synced 2024-05-31 22:41:28 +00:00
39 lines
602 B
C
39 lines
602 B
C
/* This test is a reduced test case for a bug that caused
|
|
bootstrapping with -fmodulo-sched. Related to a broken anti-dep
|
|
that was not fixed by reg-moves. */
|
|
|
|
/* { dg-do run } */
|
|
/* { dg-options "-O2 -fmodulo-sched -fmodulo-sched-allow-regmoves" } */
|
|
|
|
#include <stdlib.h>
|
|
|
|
unsigned long long
|
|
foo (long long ixi, unsigned ctr)
|
|
{
|
|
unsigned long long irslt = 1;
|
|
long long ix = ixi;
|
|
|
|
for (; ctr; ctr--)
|
|
{
|
|
irslt *= ix;
|
|
ix *= ix;
|
|
}
|
|
|
|
if (irslt != 14348907)
|
|
abort ();
|
|
return irslt;
|
|
}
|
|
|
|
|
|
int
|
|
main ()
|
|
{
|
|
unsigned long long res;
|
|
|
|
res = foo (3, 4);
|
|
return 0;
|
|
}
|
|
|
|
|
|
|