1/* { dg-options "-O1 -ffast-math -floop-interchange" } */ 2 3int adler32(int adler, char *buf, int n) 4{ 5 int sum = 0; 6 do { 7 adler += buf[0]; 8 sum += adler; 9 adler += buf[1]; 10 sum += adler; 11 adler += buf[2]; 12 sum += adler; 13 adler += buf[3]; 14 sum += adler; 15 } while (--n); 16 return adler | (sum << 16); 17} 18