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
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" } } */