1 /* { dg-require-effective-target lp64 } */
2 /* { dg-options "-O1 -g -fomit-frame-pointer -fdump-rtl-vartrack-details-slim" } */
3
4 static volatile int vv = 1;
5
6 extern long foo (long x);
7
8 int
main()9 main ()
10 {
11 long x = vv;
12 foo (x);
13 foo (x + 1);
14 return 0;
15 }
16
17 /* Before adjust_insn:
18 26: [--sp:DI]=bx:DI
19 29: bx:DI=[sp:DI++]
20
21 after adjust_insn:
22 26: {[argp:DI-0x10]=bx:DI;sp:DI=argp:DI-0x10;}
23 29: {bx:DI=[argp:DI-0x10];sp:DI=argp:DI-0x8;} */
24
25 /* { dg-final { scan-rtl-dump-times {[0-9][0-9]*: \{\[argp:DI-0x10\]=bx:DI;sp:DI=argp:DI-0x10;\}} 1 "vartrack" } } */
26
27 /* { dg-final { scan-rtl-dump-times {[0-9][0-9]*: \{bx:DI=\[argp:DI-0x10\];sp:DI=argp:DI-0x8;\}} 1 "vartrack" } } */
28
29