| /* PR target/95798 */ |
| /* { dg-do compile } */ |
| /* { dg-options "-O2 -fno-tree-vectorize -masm=att -fomit-frame-pointer" } */ |
| /* { dg-final { scan-assembler "1, 8\\\(%rsp,%r\[a-z0-9]*,8\\\)" { target lp64 } } } */ |
| /* { dg-final { scan-assembler "2, 16\\\(%rsp,%r\[a-z0-9]*,8\\\)" { target lp64 } } } */ |
| /* { dg-final { scan-assembler "3, 24\\\(%rsp,%r\[a-z0-9]*,8\\\)" { target lp64 } } } */ |
| /* { dg-final { scan-assembler "4, 32\\\(%rsp,%r\[a-z0-9]*,8\\\)" { target lp64 } } } */ |
| /* { dg-final { scan-assembler "5, 40\\\(%rsp,%r\[a-z0-9]*,8\\\)" { target lp64 } } } */ |
| /* { dg-final { scan-assembler "6, 48\\\(%rsp,%r\[a-z0-9]*,8\\\)" { target lp64 } } } */ |
| /* { dg-final { scan-assembler "7, 56\\\(%rsp,%r\[a-z0-9]*,8\\\)" { target lp64 } } } */ |
| |
| void bar (unsigned long long *, int); |
| |
| void |
| foo (unsigned int y, unsigned long long z) |
| { |
| unsigned long long x[1024]; |
| unsigned long long i = y % 127; |
| __builtin_memset (x, -1, sizeof (x)); |
| x[i] = 0; |
| x[i + 1] = 1; |
| x[i + 2] = 2; |
| x[i + 3] = 3; |
| x[i + 4] = 4; |
| x[i + 5] = 5; |
| x[i + 6] = 6; |
| x[i + 7] = 7; |
| bar (x, y); |
| } |