1  /* { dg-do compile } */
       2  /* { dg-options "-O1" } */
       3  /* { dg-final { scan-assembler-times "imull\[ \t\]" "1" } } */
       4  /* { dg-final { scan-assembler-times "(?:addl|subl)\[ \t\]" "1" { target { ! ia32 } } } } */
       5  
       6  void
       7  __attribute__((noipa))
       8  foo (unsigned a[256], unsigned b[256])
       9  {
      10    int i;
      11    for (i = 0; i < 256; ++i)
      12      {
      13        unsigned tmp = a[i] + 12345U;
      14        tmp *= 914237U;
      15        tmp += 12332U;
      16        tmp *= 914237U;
      17        tmp += 12332U;
      18        tmp *= 914237U;
      19        tmp -= 13U;
      20        tmp *= 8000U;
      21        b[i] = tmp;
      22      }
      23  }