1 /* { dg-do compile } */
2 /* { dg-options "-O2 -fdump-rtl-reload-details" } */
3 
4 #define R1(X, Y) X (Y##0) X (Y##1) X (Y##2) X (Y##3) \
5                  X (Y##4) X (Y##5) X (Y##6) X (Y##7)
6 #define R2(X) R1 (X, 0) R1 (X, 1) R1 (X, 2) R1 (X, 3)
7 
8 #define DEFINE(N) extern int x##N;
9 R2 (DEFINE)
10 
11 void b1 (int *);
12 
13 void
foo(int n)14 foo (int n)
15 {
16   for (int i = 0; i < n; ++i)
17     {
18 #define CALL(N) b1 (&x##N);
19       R2 (CALL);
20       R2 (CALL);
21     }
22 #define INC(N) x##N += 1;
23   R2 (INC);
24 }
25 
26 /* { dg-final { scan-rtl-dump-not "DI 32 v0" "reload" } } */
27