| // RUN: llvm-tblgen %s | FileCheck %s | 
 |  | 
 | class Register<string name, int idx> { | 
 |   string Name = name; | 
 |   int Index = idx; | 
 | } | 
 |  | 
 | foreach i = [0, 1, 2, 3, 4, 5, 6, 7] in { | 
 |   def R#i : Register<"R"#i, i>; | 
 |   def F#i : Register<"F"#i, i>; | 
 | } | 
 |  | 
 | def Defs { | 
 |   list<int> a = [0, 1]; | 
 |   list<int> b = [2, 3]; | 
 | } | 
 |  | 
 | foreach i = Defs.a in { | 
 |   def X#i; | 
 | } | 
 |  | 
 | foreach i = !listconcat(Defs.a, Defs.b) in | 
 | def Y#i; | 
 |  | 
 | // CHECK: def F0 | 
 | // CHECK: string Name = "F0"; | 
 | // CHECK: int Index = 0; | 
 |  | 
 | // CHECK: def F1 | 
 | // CHECK: string Name = "F1"; | 
 | // CHECK: int Index = 1; | 
 |  | 
 | // CHECK: def F2 | 
 | // CHECK: string Name = "F2"; | 
 | // CHECK: int Index = 2; | 
 |  | 
 | // CHECK: def F3 | 
 | // CHECK: string Name = "F3"; | 
 | // CHECK: int Index = 3; | 
 |  | 
 | // CHECK: def F4 | 
 | // CHECK: string Name = "F4"; | 
 | // CHECK: int Index = 4; | 
 |  | 
 | // CHECK: def F5 | 
 | // CHECK: string Name = "F5"; | 
 | // CHECK: int Index = 5; | 
 |  | 
 | // CHECK: def F6 | 
 | // CHECK: string Name = "F6"; | 
 | // CHECK: int Index = 6; | 
 |  | 
 | // CHECK: def F7 | 
 | // CHECK: string Name = "F7"; | 
 | // CHECK: int Index = 7; | 
 |  | 
 | // CHECK: def R0 | 
 | // CHECK: string Name = "R0"; | 
 | // CHECK: int Index = 0; | 
 |  | 
 | // CHECK: def R1 | 
 | // CHECK: string Name = "R1"; | 
 | // CHECK: int Index = 1; | 
 |  | 
 | // CHECK: def R2 | 
 | // CHECK: string Name = "R2"; | 
 | // CHECK: int Index = 2; | 
 |  | 
 | // CHECK: def R3 | 
 | // CHECK: string Name = "R3"; | 
 | // CHECK: int Index = 3; | 
 |  | 
 | // CHECK: def R4 | 
 | // CHECK: string Name = "R4"; | 
 | // CHECK: int Index = 4; | 
 |  | 
 | // CHECK: def R5 | 
 | // CHECK: string Name = "R5"; | 
 | // CHECK: int Index = 5; | 
 |  | 
 | // CHECK: def R6 | 
 | // CHECK: string Name = "R6"; | 
 | // CHECK: int Index = 6; | 
 |  | 
 | // CHECK: def R7 | 
 | // CHECK: string Name = "R7"; | 
 | // CHECK: int Index = 7; | 
 |  | 
 | // CHECK: def X0 | 
 | // CHECK: def X1 | 
 | // CHECK: def Y0 | 
 | // CHECK: def Y1 | 
 | // CHECK: def Y2 | 
 | // CHECK: def Y3 |