OLD | NEW |
1 //===- subzero/crosstest/test_fcmp_main.cpp - Driver for tests ------------===// | 1 //===- subzero/crosstest/test_fcmp_main.cpp - Driver for tests ------------===// |
2 // | 2 // |
3 // The Subzero Code Generator | 3 // The Subzero Code Generator |
4 // | 4 // |
5 // This file is distributed under the University of Illinois Open Source | 5 // This file is distributed under the University of Illinois Open Source |
6 // License. See LICENSE.TXT for details. | 6 // License. See LICENSE.TXT for details. |
7 // | 7 // |
8 //===----------------------------------------------------------------------===// | 8 //===----------------------------------------------------------------------===// |
9 // | 9 // |
10 // Driver for cross testing the fcmp bitcode instruction | 10 // Driver for cross testing the fcmp bitcode instruction |
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
151 std::cout << Funcs[f].Name << "SelectDouble(" << Value1Double << ", " | 151 std::cout << Funcs[f].Name << "SelectDouble(" << Value1Double << ", " |
152 << Value2Double << "): sz=" << ResultSz | 152 << Value2Double << "): sz=" << ResultSz |
153 << " llc=" << ResultLlc << "\n"; | 153 << " llc=" << ResultLlc << "\n"; |
154 } | 154 } |
155 } | 155 } |
156 } | 156 } |
157 } | 157 } |
158 } | 158 } |
159 | 159 |
160 void testsVector(size_t &TotalTests, size_t &Passes, size_t &Failures) { | 160 void testsVector(size_t &TotalTests, size_t &Passes, size_t &Failures) { |
161 #ifndef ARM32 | |
162 // TODO(jpp): remove this once vector support is implemented. | |
163 typedef v4si32 (*FuncTypeVector)(v4f32, v4f32); | 161 typedef v4si32 (*FuncTypeVector)(v4f32, v4f32); |
164 static struct { | 162 static struct { |
165 const char *Name; | 163 const char *Name; |
166 FuncTypeVector FuncVectorSz; | 164 FuncTypeVector FuncVectorSz; |
167 FuncTypeVector FuncVectorLlc; | 165 FuncTypeVector FuncVectorLlc; |
168 } Funcs[] = { | 166 } Funcs[] = { |
169 #define X(cmp) \ | 167 #define X(cmp) \ |
170 { "fcmp" STR(cmp), Subzero_fcmp##cmp##Vector, fcmp##cmp##Vector } \ | 168 { "fcmp" STR(cmp), Subzero_fcmp##cmp##Vector, fcmp##cmp##Vector } \ |
171 , | 169 , |
172 FCMP_TABLE | 170 FCMP_TABLE |
(...skipping 21 matching lines...) Expand all Loading... |
194 ++Passes; | 192 ++Passes; |
195 } else { | 193 } else { |
196 ++Failures; | 194 ++Failures; |
197 std::cout << Funcs[f].Name << "Vector(" << vectAsString<v4f32>(Value1) | 195 std::cout << Funcs[f].Name << "Vector(" << vectAsString<v4f32>(Value1) |
198 << ", " << vectAsString<v4f32>(Value2) | 196 << ", " << vectAsString<v4f32>(Value2) |
199 << "): sz=" << vectAsString<v4si32>(ResultSz) | 197 << "): sz=" << vectAsString<v4si32>(ResultSz) |
200 << " llc=" << vectAsString<v4si32>(ResultLlc) << "\n"; | 198 << " llc=" << vectAsString<v4si32>(ResultLlc) << "\n"; |
201 } | 199 } |
202 } | 200 } |
203 } | 201 } |
204 #endif // ARM32 | |
205 } | 202 } |
206 | 203 |
207 int main(int argc, char *argv[]) { | 204 int main(int argc, char *argv[]) { |
208 size_t TotalTests = 0; | 205 size_t TotalTests = 0; |
209 size_t Passes = 0; | 206 size_t Passes = 0; |
210 size_t Failures = 0; | 207 size_t Failures = 0; |
211 | 208 |
212 initializeValues(); | 209 initializeValues(); |
213 | 210 |
214 testsScalar(TotalTests, Passes, Failures); | 211 testsScalar(TotalTests, Passes, Failures); |
215 testsVector(TotalTests, Passes, Failures); | 212 testsVector(TotalTests, Passes, Failures); |
216 | 213 |
217 std::cout << "TotalTests=" << TotalTests << " Passes=" << Passes | 214 std::cout << "TotalTests=" << TotalTests << " Passes=" << Passes |
218 << " Failures=" << Failures << "\n"; | 215 << " Failures=" << Failures << "\n"; |
219 return Failures; | 216 return Failures; |
220 } | 217 } |
OLD | NEW |