1  /* PR target/95798 */
       2  /* { dg-do compile } */
       3  /* { dg-options "-O2 -fno-tree-vectorize -masm=att -fomit-frame-pointer" } */
       4  /* { dg-final { scan-assembler "1, 8\\\(%rsp,%r\[a-z0-9]*,8\\\)" { target lp64 } } } */
       5  /* { dg-final { scan-assembler "2, 16\\\(%rsp,%r\[a-z0-9]*,8\\\)" { target lp64 } } } */
       6  /* { dg-final { scan-assembler "3, 24\\\(%rsp,%r\[a-z0-9]*,8\\\)" { target lp64 } } } */
       7  /* { dg-final { scan-assembler "4, 32\\\(%rsp,%r\[a-z0-9]*,8\\\)" { target lp64 } } } */
       8  /* { dg-final { scan-assembler "5, 40\\\(%rsp,%r\[a-z0-9]*,8\\\)" { target lp64 } } } */
       9  /* { dg-final { scan-assembler "6, 48\\\(%rsp,%r\[a-z0-9]*,8\\\)" { target lp64 } } } */
      10  /* { dg-final { scan-assembler "7, 56\\\(%rsp,%r\[a-z0-9]*,8\\\)" { target lp64 } } } */
      11  
      12  void bar (unsigned long long *, int);
      13  
      14  void
      15  foo (unsigned int y, unsigned long long z)
      16  {
      17    unsigned long long x[1024];
      18    unsigned long long i = y % 127;
      19    __builtin_memset (x, -1, sizeof (x));
      20    x[i] = 0;
      21    x[i + 1] = 1;
      22    x[i + 2] = 2;
      23    x[i + 3] = 3;
      24    x[i + 4] = 4;
      25    x[i + 5] = 5;
      26    x[i + 6] = 6;
      27    x[i + 7] = 7;
      28    bar (x, y);
      29  }