1  /* PR target/70728 */
       2  /* { dg-do compile } */
       3  /* { dg-options "-S -Ofast -march=knl" } */
       4  
       5  short a = -15726;
       6  int b = (int)-7003557328690506537LL;
       7  short c[5][5][3][6];
       8  char d[2][5][3][2][4];
       9  void fn1() {
      10    for (int e = 0; e < 3; e = e + 1)
      11      for (int f = 0; f < 2; f = f + 1)
      12        for (int g = 0; g < 4; g = g + 1)
      13          for (int h = 0; h < 3; h = h + 1)
      14            for (int i = 0; i < 2; i = i + 1)
      15              for (int j = 0; j < 4; j = j + 1)
      16                d[f][g][h][i][j] =
      17                    7 << (1236110361944357083 >> a + 15728) - 309027590486089270 >>
      18                    (c[e][f][h][j] + 2147483647 << ~b - 7003557328690506536) -
      19                        2147480981;
      20  }
      21  int main() {
      22    for (int k = 0; k < 5; ++k)
      23      for (int l = 0; l < 5; ++l)
      24        for (int m = 0; m < 3; ++m)
      25          for (int n = 0; n < 4; ++n)
      26            c[k][l][m][n] = -2639;
      27    fn1();
      28  }
      29  
      30  /* { dg-final { scan-assembler-not "sll\[ \\t\]+\[^\n\]*%\.mm(?:1\[6-9\]|\[2-3\]\[0-9\])" } } */