[ARM] Better OR's for MVE compares
[llvm-core.git] / test / TableGen / foreach-variable-range.td
blob3ddb2c08ff20ef7431f78963706ca0e631bfe2b6
1 // RUN: llvm-tblgen %s
3 class ConstantsImpl {
4   int Zero = 0;
5   int One = 1;
6   int Two = 2;
7   int Three = 3;
8   int Five = 5;
11 def Constants : ConstantsImpl;
13 // CHECK-DAG: def var_bound_whitespaceA0
14 // CHECK-DAG: def var_bound_whitespaceA1
15 // CHECK-DAG: def var_bound_whitespaceA2
16 foreach Index = Constants.Zero - Constants.Two in {
17   def var_bound_whitespaceA#Index;
20 // CHECK-DAG: def var_bound_whitespaceB0
21 // CHECK-DAG: def var_bound_whitespaceB1
22 // CHECK-DAG: def var_bound_whitespaceB2
23 foreach Index = Constants.Zero-Constants.Two in {
24   def var_bounds_whitespaceB#Index;
27 // CHECK-DAG: def var_bound_whitespaceC0
28 // CHECK-DAG: def var_bound_whitespaceC1
29 // CHECK-DAG: def var_bound_whitespaceC2
30 foreach Index = Constants.Zero -Constants.Two in {
31   def var_bounds_whitespaceC#Index;
34 // CHECK-DAG: def var_bound_whitespaceD0
35 // CHECK-DAG: def var_bound_whitespaceD1
36 // CHECK-DAG: def var_bound_whitespaceD2
37 foreach Index = Constants.Zero- Constants.Two in {
38   def var_bounds_whitespaceD#Index;
41 // CHECK-DAG: def const_lower_whitespaceA0
42 // CHECK-DAG: def const_lower_whitespaceA1
43 // CHECK-DAG: def const_lower_whitespaceA2
44 foreach Index = 0 - Constants.Two in {
45   def const_lower_whitespaceA#Index;
48 // CHECK-DAG: def const_lower_whitespaceB0
49 // CHECK-DAG: def const_lower_whitespaceB1
50 // CHECK-DAG: def const_lower_whitespaceB2
51 foreach Index = 0-Constants.Two in {
52   def const_lower_whitespaceB#Index;
55 // CHECK-DAG: def const_lower_whitespaceC0
56 // CHECK-DAG: def const_lower_whitespaceC1
57 // CHECK-DAG: def const_lower_whitespaceC2
58 foreach Index = 0 -Constants.Two in {
59   def const_lower_whitespaceC#Index;
62 // CHECK-DAG: def const_lower_whitespaceD0
63 // CHECK-DAG: def const_lower_whitespaceD1
64 // CHECK-DAG: def const_lower_whitespaceD2
65 foreach Index = 0- Constants.Two in {
66   def const_lower_whitespaceD#Index;
69 // CHECK-DAG: def const_upper_whitespaceA0
70 // CHECK-DAG: def const_upper_whitespaceA1
71 // CHECK-DAG: def const_upper_whitespaceA2
72 foreach Index = Constants.Zero - 2 in {
73   def const_upper_whitespaceA#Index;
76 // CHECK-DAG: def const_upper_whitespaceB0
77 // CHECK-DAG: def const_upper_whitespaceB1
78 // CHECK-DAG: def const_upper_whitespaceB2
79 foreach Index = Constants.Zero-2 in {
80   def const_upper_whitespaceB#Index;
83 // CHECK-DAG: def const_upper_whitespaceC0
84 // CHECK-DAG: def const_upper_whitespaceC1
85 // CHECK-DAG: def const_upper_whitespaceC2
86 foreach Index = Constants.Zero -2 in {
87   def const_upper_whitespaceC#Index;
90 // CHECK-DAG: def const_upper_whitespaceD0
91 // CHECK-DAG: def const_upper_whitespaceD1
92 // CHECK-DAG: def const_upper_whitespaceD2
93 foreach Index = Constants.Zero- 2 in {
94   def const_upper_whitespaceD#Index;
97 // CHECK-DAG: def multi_rangeA0
98 // CHECK-DAG: def multi_rangeA1
99 // CHECK-DAG: def multi_rangeA2
100 // CHECK-DAG: def multi_rangeA3
101 foreach Index = {Constants.Zero-Constants.One, Constants.Two-Constants.Three} in {
102   def multi_rangeA#Index;
105 // CHECK-DAG: def multi_rangeB0
106 // CHECK-DAG: def multi_rangeB1
107 // CHECK-DAG: def multi_rangeB3
108 // CHECK-DAG: def multi_rangeB4
109 // CHECK-DAG: def multi_rangeB5
110 foreach Index = {0-Constants.One, Constants.Three-Constants.Five} in {
111   def multi_rangeB#Index;
114 // CHECK-DAG: def multi_rangeC0
115 // CHECK-DAG: def multi_rangeC1
116 // CHECK-DAG: def multi_rangeC2
117 // CHECK-DAG: def multi_rangeC3
118 foreach Index = {0-Constants.One, 2-Constants.Three} in {
119   def multi_rangeC#Index;
122 // CHECK-DAG: def multi_rangeD0
123 // CHECK-DAG: def multi_rangeD1
124 // CHECK-DAG: def multi_rangeD2
125 // CHECK-DAG: def multi_rangeD3
126 foreach Index = {0-1, Constants.Two-3} in {
127   def multi_rangeD#Index;