| OLD | NEW |
| 1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 the V8 project authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "src/ast/scopes.h" | 5 #include "src/ast/scopes.h" |
| 6 #include "src/compiler/code-generator.h" | 6 #include "src/compiler/code-generator.h" |
| 7 #include "src/compiler/code-generator-impl.h" | 7 #include "src/compiler/code-generator-impl.h" |
| 8 #include "src/compiler/gap-resolver.h" | 8 #include "src/compiler/gap-resolver.h" |
| 9 #include "src/compiler/node-matchers.h" | 9 #include "src/compiler/node-matchers.h" |
| 10 #include "src/compiler/osr.h" | 10 #include "src/compiler/osr.h" |
| (...skipping 1277 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1288 // TODO(balazs.kilvady): implement mod_two_floats_operation(isolate()) | 1288 // TODO(balazs.kilvady): implement mod_two_floats_operation(isolate()) |
| 1289 __ CallCFunction(ExternalReference::mod_two_doubles_operation(isolate()), | 1289 __ CallCFunction(ExternalReference::mod_two_doubles_operation(isolate()), |
| 1290 0, 2); | 1290 0, 2); |
| 1291 // Move the result in the double result register. | 1291 // Move the result in the double result register. |
| 1292 __ MovFromFloatResult(i.OutputSingleRegister()); | 1292 __ MovFromFloatResult(i.OutputSingleRegister()); |
| 1293 break; | 1293 break; |
| 1294 } | 1294 } |
| 1295 case kMips64AbsS: | 1295 case kMips64AbsS: |
| 1296 __ abs_s(i.OutputSingleRegister(), i.InputSingleRegister(0)); | 1296 __ abs_s(i.OutputSingleRegister(), i.InputSingleRegister(0)); |
| 1297 break; | 1297 break; |
| 1298 case kMips64NegS: |
| 1299 __ neg_s(i.OutputSingleRegister(), i.InputSingleRegister(0)); |
| 1300 break; |
| 1298 case kMips64SqrtS: { | 1301 case kMips64SqrtS: { |
| 1299 __ sqrt_s(i.OutputDoubleRegister(), i.InputDoubleRegister(0)); | 1302 __ sqrt_s(i.OutputDoubleRegister(), i.InputDoubleRegister(0)); |
| 1300 break; | 1303 break; |
| 1301 } | 1304 } |
| 1302 case kMips64MaxS: | 1305 case kMips64MaxS: |
| 1303 __ max_s(i.OutputDoubleRegister(), i.InputDoubleRegister(0), | 1306 __ max_s(i.OutputDoubleRegister(), i.InputDoubleRegister(0), |
| 1304 i.InputDoubleRegister(1)); | 1307 i.InputDoubleRegister(1)); |
| 1305 break; | 1308 break; |
| 1306 case kMips64MinS: | 1309 case kMips64MinS: |
| 1307 __ min_s(i.OutputDoubleRegister(), i.InputDoubleRegister(0), | 1310 __ min_s(i.OutputDoubleRegister(), i.InputDoubleRegister(0), |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1342 i.InputDoubleRegister(1)); | 1345 i.InputDoubleRegister(1)); |
| 1343 __ CallCFunction(ExternalReference::mod_two_doubles_operation(isolate()), | 1346 __ CallCFunction(ExternalReference::mod_two_doubles_operation(isolate()), |
| 1344 0, 2); | 1347 0, 2); |
| 1345 // Move the result in the double result register. | 1348 // Move the result in the double result register. |
| 1346 __ MovFromFloatResult(i.OutputDoubleRegister()); | 1349 __ MovFromFloatResult(i.OutputDoubleRegister()); |
| 1347 break; | 1350 break; |
| 1348 } | 1351 } |
| 1349 case kMips64AbsD: | 1352 case kMips64AbsD: |
| 1350 __ abs_d(i.OutputDoubleRegister(), i.InputDoubleRegister(0)); | 1353 __ abs_d(i.OutputDoubleRegister(), i.InputDoubleRegister(0)); |
| 1351 break; | 1354 break; |
| 1355 case kMips64NegD: |
| 1356 __ neg_d(i.OutputDoubleRegister(), i.InputDoubleRegister(0)); |
| 1357 break; |
| 1352 case kMips64SqrtD: { | 1358 case kMips64SqrtD: { |
| 1353 __ sqrt_d(i.OutputDoubleRegister(), i.InputDoubleRegister(0)); | 1359 __ sqrt_d(i.OutputDoubleRegister(), i.InputDoubleRegister(0)); |
| 1354 break; | 1360 break; |
| 1355 } | 1361 } |
| 1356 case kMips64MaxD: | 1362 case kMips64MaxD: |
| 1357 __ max_d(i.OutputDoubleRegister(), i.InputDoubleRegister(0), | 1363 __ max_d(i.OutputDoubleRegister(), i.InputDoubleRegister(0), |
| 1358 i.InputDoubleRegister(1)); | 1364 i.InputDoubleRegister(1)); |
| 1359 break; | 1365 break; |
| 1360 case kMips64MinD: | 1366 case kMips64MinD: |
| 1361 __ min_d(i.OutputDoubleRegister(), i.InputDoubleRegister(0), | 1367 __ min_d(i.OutputDoubleRegister(), i.InputDoubleRegister(0), |
| (...skipping 1098 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2460 padding_size -= v8::internal::Assembler::kInstrSize; | 2466 padding_size -= v8::internal::Assembler::kInstrSize; |
| 2461 } | 2467 } |
| 2462 } | 2468 } |
| 2463 } | 2469 } |
| 2464 | 2470 |
| 2465 #undef __ | 2471 #undef __ |
| 2466 | 2472 |
| 2467 } // namespace compiler | 2473 } // namespace compiler |
| 2468 } // namespace internal | 2474 } // namespace internal |
| 2469 } // namespace v8 | 2475 } // namespace v8 |
| OLD | NEW |