/* { dg-do compile } */ | |
/* { dg-options "-O1" } */ | |
/* { dg-final { scan-assembler-times "imull\[ \t\]" "1" } } */ | |
/* { dg-final { scan-assembler-times "(?:addl|subl)\[ \t\]" "1" { target { ! ia32 } } } } */ | |
void | |
__attribute__((noipa)) | |
foo (unsigned a[256], unsigned b[256]) | |
{ | |
int i; | |
for (i = 0; i < 256; ++i) | |
{ | |
unsigned tmp = a[i] + 12345U; | |
tmp *= 914237U; | |
tmp += 12332U; | |
tmp *= 914237U; | |
tmp += 12332U; | |
tmp *= 914237U; | |
tmp -= 13U; | |
tmp *= 8000U; | |
b[i] = tmp; | |
} | |
} |