blob: f08bbec96e51ab09408d1b89e9e2ba1f430a6cf4 [file] [log] [blame]
/* { dg-require-effective-target int32plus } */
/* { dg-options "-O1 -ffast-math -floop-nest-optimize" } */
int adler32(int adler, char *buf, int n)
{
int sum = 0;
do {
adler += buf[0];
sum += adler;
adler += buf[1];
sum += adler;
adler += buf[2];
sum += adler;
adler += buf[3];
sum += adler;
} while (--n);
return adler | (sum << 16);
}