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 1246 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1257 break; | 1257 break; |
1258 case kMips64AddS: | 1258 case kMips64AddS: |
1259 // TODO(plind): add special case: combine mult & add. | 1259 // TODO(plind): add special case: combine mult & add. |
1260 __ add_s(i.OutputDoubleRegister(), i.InputDoubleRegister(0), | 1260 __ add_s(i.OutputDoubleRegister(), i.InputDoubleRegister(0), |
1261 i.InputDoubleRegister(1)); | 1261 i.InputDoubleRegister(1)); |
1262 break; | 1262 break; |
1263 case kMips64SubS: | 1263 case kMips64SubS: |
1264 __ sub_s(i.OutputDoubleRegister(), i.InputDoubleRegister(0), | 1264 __ sub_s(i.OutputDoubleRegister(), i.InputDoubleRegister(0), |
1265 i.InputDoubleRegister(1)); | 1265 i.InputDoubleRegister(1)); |
1266 break; | 1266 break; |
1267 case kMips64SubPreserveNanS: | |
1268 __ SubNanPreservePayloadAndSign_s(i.OutputDoubleRegister(), | |
1269 i.InputDoubleRegister(0), | |
1270 i.InputDoubleRegister(1)); | |
1271 break; | |
1272 case kMips64MulS: | 1267 case kMips64MulS: |
1273 // TODO(plind): add special case: right op is -1.0, see arm port. | 1268 // TODO(plind): add special case: right op is -1.0, see arm port. |
1274 __ mul_s(i.OutputDoubleRegister(), i.InputDoubleRegister(0), | 1269 __ mul_s(i.OutputDoubleRegister(), i.InputDoubleRegister(0), |
1275 i.InputDoubleRegister(1)); | 1270 i.InputDoubleRegister(1)); |
1276 break; | 1271 break; |
1277 case kMips64DivS: | 1272 case kMips64DivS: |
1278 __ div_s(i.OutputDoubleRegister(), i.InputDoubleRegister(0), | 1273 __ div_s(i.OutputDoubleRegister(), i.InputDoubleRegister(0), |
1279 i.InputDoubleRegister(1)); | 1274 i.InputDoubleRegister(1)); |
1280 break; | 1275 break; |
1281 case kMips64ModS: { | 1276 case kMips64ModS: { |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1315 break; | 1310 break; |
1316 case kMips64AddD: | 1311 case kMips64AddD: |
1317 // TODO(plind): add special case: combine mult & add. | 1312 // TODO(plind): add special case: combine mult & add. |
1318 __ add_d(i.OutputDoubleRegister(), i.InputDoubleRegister(0), | 1313 __ add_d(i.OutputDoubleRegister(), i.InputDoubleRegister(0), |
1319 i.InputDoubleRegister(1)); | 1314 i.InputDoubleRegister(1)); |
1320 break; | 1315 break; |
1321 case kMips64SubD: | 1316 case kMips64SubD: |
1322 __ sub_d(i.OutputDoubleRegister(), i.InputDoubleRegister(0), | 1317 __ sub_d(i.OutputDoubleRegister(), i.InputDoubleRegister(0), |
1323 i.InputDoubleRegister(1)); | 1318 i.InputDoubleRegister(1)); |
1324 break; | 1319 break; |
1325 case kMips64SubPreserveNanD: | |
1326 __ SubNanPreservePayloadAndSign_d(i.OutputDoubleRegister(), | |
1327 i.InputDoubleRegister(0), | |
1328 i.InputDoubleRegister(1)); | |
1329 break; | |
1330 case kMips64MulD: | 1320 case kMips64MulD: |
1331 // TODO(plind): add special case: right op is -1.0, see arm port. | 1321 // TODO(plind): add special case: right op is -1.0, see arm port. |
1332 __ mul_d(i.OutputDoubleRegister(), i.InputDoubleRegister(0), | 1322 __ mul_d(i.OutputDoubleRegister(), i.InputDoubleRegister(0), |
1333 i.InputDoubleRegister(1)); | 1323 i.InputDoubleRegister(1)); |
1334 break; | 1324 break; |
1335 case kMips64DivD: | 1325 case kMips64DivD: |
1336 __ div_d(i.OutputDoubleRegister(), i.InputDoubleRegister(0), | 1326 __ div_d(i.OutputDoubleRegister(), i.InputDoubleRegister(0), |
1337 i.InputDoubleRegister(1)); | 1327 i.InputDoubleRegister(1)); |
1338 break; | 1328 break; |
1339 case kMips64ModD: { | 1329 case kMips64ModD: { |
(...skipping 1126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2466 padding_size -= v8::internal::Assembler::kInstrSize; | 2456 padding_size -= v8::internal::Assembler::kInstrSize; |
2467 } | 2457 } |
2468 } | 2458 } |
2469 } | 2459 } |
2470 | 2460 |
2471 #undef __ | 2461 #undef __ |
2472 | 2462 |
2473 } // namespace compiler | 2463 } // namespace compiler |
2474 } // namespace internal | 2464 } // namespace internal |
2475 } // namespace v8 | 2465 } // namespace v8 |
OLD | NEW |