xref: /aosp_15_r20/external/llvm/test/TableGen/NestedForeach.td (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker// RUN: llvm-tblgen %s | FileCheck %s
2*9880d681SAndroid Build Coastguard Worker
3*9880d681SAndroid Build Coastguard Workerclass Droid<string series, int release, string model, int patchlevel> {
4*9880d681SAndroid Build Coastguard Worker  string Series = series;
5*9880d681SAndroid Build Coastguard Worker  int Release = release;
6*9880d681SAndroid Build Coastguard Worker  string Model = model;
7*9880d681SAndroid Build Coastguard Worker  int Patchlevel = patchlevel;
8*9880d681SAndroid Build Coastguard Worker}
9*9880d681SAndroid Build Coastguard Worker
10*9880d681SAndroid Build Coastguard Workerforeach S = ["R", "C"] in {
11*9880d681SAndroid Build Coastguard Worker  foreach R = [2, 3, 4] in {
12*9880d681SAndroid Build Coastguard Worker    foreach M = ["D", "P", "Q"] in {
13*9880d681SAndroid Build Coastguard Worker      foreach P = [0, 2, 4] in {
14*9880d681SAndroid Build Coastguard Worker        def S#R#M#P : Droid<S, R, M, P>;
15*9880d681SAndroid Build Coastguard Worker      }
16*9880d681SAndroid Build Coastguard Worker    }
17*9880d681SAndroid Build Coastguard Worker  }
18*9880d681SAndroid Build Coastguard Worker}
19*9880d681SAndroid Build Coastguard Worker
20*9880d681SAndroid Build Coastguard Worker// CHECK: def C2D0
21*9880d681SAndroid Build Coastguard Worker// CHECK: def C2D2
22*9880d681SAndroid Build Coastguard Worker// CHECK: def C2D4
23*9880d681SAndroid Build Coastguard Worker// CHECK: def C2P0
24*9880d681SAndroid Build Coastguard Worker// CHECK: def C2P2
25*9880d681SAndroid Build Coastguard Worker// CHECK: def C2P4
26*9880d681SAndroid Build Coastguard Worker// CHECK: def C2Q0
27*9880d681SAndroid Build Coastguard Worker// CHECK: def C2Q2
28*9880d681SAndroid Build Coastguard Worker// CHECK: def C2Q4
29*9880d681SAndroid Build Coastguard Worker// CHECK: def C3D0
30*9880d681SAndroid Build Coastguard Worker// CHECK: def C3D2
31*9880d681SAndroid Build Coastguard Worker// CHECK: def C3D4
32*9880d681SAndroid Build Coastguard Worker// CHECK: def C3P0
33*9880d681SAndroid Build Coastguard Worker// CHECK: def C3P2
34*9880d681SAndroid Build Coastguard Worker// CHECK: def C3P4
35*9880d681SAndroid Build Coastguard Worker// CHECK: def C3Q0
36*9880d681SAndroid Build Coastguard Worker// CHECK: def C3Q2
37*9880d681SAndroid Build Coastguard Worker// CHECK: def C3Q4
38*9880d681SAndroid Build Coastguard Worker// CHECK: def C4D0
39*9880d681SAndroid Build Coastguard Worker// CHECK: def C4D2
40*9880d681SAndroid Build Coastguard Worker// CHECK: def C4D4
41*9880d681SAndroid Build Coastguard Worker// CHECK: def C4P0
42*9880d681SAndroid Build Coastguard Worker// CHECK: def C4P2
43*9880d681SAndroid Build Coastguard Worker// CHECK: def C4P4
44*9880d681SAndroid Build Coastguard Worker// CHECK: def C4Q0
45*9880d681SAndroid Build Coastguard Worker// CHECK: def C4Q2
46*9880d681SAndroid Build Coastguard Worker// CHECK: def C4Q4
47*9880d681SAndroid Build Coastguard Worker// CHECK: def R2D0
48*9880d681SAndroid Build Coastguard Worker// CHECK: def R2D2
49*9880d681SAndroid Build Coastguard Worker// CHECK: def R2D4
50*9880d681SAndroid Build Coastguard Worker// CHECK: def R2P0
51*9880d681SAndroid Build Coastguard Worker// CHECK: def R2P2
52*9880d681SAndroid Build Coastguard Worker// CHECK: def R2P4
53*9880d681SAndroid Build Coastguard Worker// CHECK: def R2Q0
54*9880d681SAndroid Build Coastguard Worker// CHECK: def R2Q2
55*9880d681SAndroid Build Coastguard Worker// CHECK: def R2Q4
56*9880d681SAndroid Build Coastguard Worker// CHECK: def R3D0
57*9880d681SAndroid Build Coastguard Worker// CHECK: def R3D2
58*9880d681SAndroid Build Coastguard Worker// CHECK: def R3D4
59*9880d681SAndroid Build Coastguard Worker// CHECK: def R3P0
60*9880d681SAndroid Build Coastguard Worker// CHECK: def R3P2
61*9880d681SAndroid Build Coastguard Worker// CHECK: def R3P4
62*9880d681SAndroid Build Coastguard Worker// CHECK: def R3Q0
63*9880d681SAndroid Build Coastguard Worker// CHECK: def R3Q2
64*9880d681SAndroid Build Coastguard Worker// CHECK: def R3Q4
65*9880d681SAndroid Build Coastguard Worker// CHECK: def R4D0
66*9880d681SAndroid Build Coastguard Worker// CHECK: def R4D2
67*9880d681SAndroid Build Coastguard Worker// CHECK: def R4D4
68*9880d681SAndroid Build Coastguard Worker// CHECK: def R4P0
69*9880d681SAndroid Build Coastguard Worker// CHECK: def R4P2
70*9880d681SAndroid Build Coastguard Worker// CHECK: def R4P4
71*9880d681SAndroid Build Coastguard Worker// CHECK: def R4Q0
72*9880d681SAndroid Build Coastguard Worker// CHECK: def R4Q2
73*9880d681SAndroid Build Coastguard Worker// CHECK: def R4Q4
74