| OLD | NEW |
| 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 // | 4 // |
| 5 // This is forked from Dart revision df52deea9f25690eb8b66c5995da92b70f7ac1fe | 5 // This is forked from Dart revision df52deea9f25690eb8b66c5995da92b70f7ac1fe |
| 6 // Please update the (git) revision if we merge changes from Dart. | 6 // Please update the (git) revision if we merge changes from Dart. |
| 7 // https://code.google.com/p/dart/wiki/GettingTheSource | 7 // https://code.google.com/p/dart/wiki/GettingTheSource |
| 8 | 8 |
| 9 #include "vm/globals.h" // NOLINT | 9 #include "vm/globals.h" // NOLINT |
| 10 #if defined(TARGET_ARCH_ARM) | 10 #if defined(TARGET_ARCH_ARM) |
| (...skipping 1305 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1316 | 1316 |
| 1317 void Assembler::vornq(QRegister qd, QRegister qn, QRegister qm) { | 1317 void Assembler::vornq(QRegister qd, QRegister qn, QRegister qm) { |
| 1318 EmitSIMDqqq(B21 | B20 | B8 | B4, kByte, qd, qn, qm); | 1318 EmitSIMDqqq(B21 | B20 | B8 | B4, kByte, qd, qn, qm); |
| 1319 } | 1319 } |
| 1320 | 1320 |
| 1321 #if 0 | 1321 #if 0 |
| 1322 // Moved to ARM32::AssemblerARM32::vandq() | 1322 // Moved to ARM32::AssemblerARM32::vandq() |
| 1323 void Assembler::vandq(QRegister qd, QRegister qn, QRegister qm) { | 1323 void Assembler::vandq(QRegister qd, QRegister qn, QRegister qm) { |
| 1324 EmitSIMDqqq(B8 | B4, kByte, qd, qn, qm); | 1324 EmitSIMDqqq(B8 | B4, kByte, qd, qn, qm); |
| 1325 } | 1325 } |
| 1326 #endif | |
| 1327 | 1326 |
| 1328 void Assembler::vmvnq(QRegister qd, QRegister qm) { | 1327 void Assembler::vmvnq(QRegister qd, QRegister qm) { |
| 1329 EmitSIMDqqq(B25 | B24 | B23 | B10 | B8 | B7, kWordPair, qd, Q0, qm); | 1328 EmitSIMDqqq(B25 | B24 | B23 | B10 | B8 | B7, kWordPair, qd, Q0, qm); |
| 1330 } | 1329 } |
| 1330 #endif |
| 1331 | 1331 |
| 1332 | 1332 |
| 1333 void Assembler::vminqs(QRegister qd, QRegister qn, QRegister qm) { | 1333 void Assembler::vminqs(QRegister qd, QRegister qn, QRegister qm) { |
| 1334 EmitSIMDqqq(B21 | B11 | B10 | B9 | B8, kSWord, qd, qn, qm); | 1334 EmitSIMDqqq(B21 | B11 | B10 | B9 | B8, kSWord, qd, qn, qm); |
| 1335 } | 1335 } |
| 1336 | 1336 |
| 1337 | 1337 |
| 1338 void Assembler::vmaxqs(QRegister qd, QRegister qn, QRegister qm) { | 1338 void Assembler::vmaxqs(QRegister qd, QRegister qn, QRegister qm) { |
| 1339 EmitSIMDqqq(B11 | B10 | B9 | B8, kSWord, qd, qn, qm); | 1339 EmitSIMDqqq(B11 | B10 | B9 | B8, kSWord, qd, qn, qm); |
| 1340 } | 1340 } |
| (...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1415 ASSERT((len >= 1) && (len <= 4)); | 1415 ASSERT((len >= 1) && (len <= 4)); |
| 1416 EmitSIMDddd(B24 | B23 | B11 | ((len - 1) * B8), kWordPair, dd, dn, dm); | 1416 EmitSIMDddd(B24 | B23 | B11 | ((len - 1) * B8), kWordPair, dd, dn, dm); |
| 1417 } | 1417 } |
| 1418 | 1418 |
| 1419 | 1419 |
| 1420 void Assembler::vzipqw(QRegister qd, QRegister qm) { | 1420 void Assembler::vzipqw(QRegister qd, QRegister qm) { |
| 1421 EmitSIMDqqq(B24 | B23 | B21 | B20 | B19 | B17 | B8 | B7, kByte, qd, Q0, qm); | 1421 EmitSIMDqqq(B24 | B23 | B21 | B20 | B19 | B17 | B8 | B7, kByte, qd, Q0, qm); |
| 1422 } | 1422 } |
| 1423 | 1423 |
| 1424 | 1424 |
| 1425 #if 0 |
| 1426 // Moved to Arm32::AssemblerARM32::vceqqi(). |
| 1425 void Assembler::vceqqi(OperandSize sz, | 1427 void Assembler::vceqqi(OperandSize sz, |
| 1426 QRegister qd, QRegister qn, QRegister qm) { | 1428 QRegister qd, QRegister qn, QRegister qm) { |
| 1427 EmitSIMDqqq(B24 | B11 | B4, sz, qd, qn, qm); | 1429 EmitSIMDqqq(B24 | B11 | B4, sz, qd, qn, qm); |
| 1428 } | 1430 } |
| 1429 | 1431 |
| 1430 | 1432 // Moved to Arm32::AssemblerARM32::vceqqi(). |
| 1431 void Assembler::vceqqs(QRegister qd, QRegister qn, QRegister qm) { | 1433 void Assembler::vceqqs(QRegister qd, QRegister qn, QRegister qm) { |
| 1432 EmitSIMDqqq(B11 | B10 | B9, kSWord, qd, qn, qm); | 1434 EmitSIMDqqq(B11 | B10 | B9, kSWord, qd, qn, qm); |
| 1433 } | 1435 } |
| 1434 | 1436 |
| 1435 | 1437 // Moved to Arm32::AssemblerARM32::vcgeqi(). |
| 1436 void Assembler::vcgeqi(OperandSize sz, | 1438 void Assembler::vcgeqi(OperandSize sz, |
| 1437 QRegister qd, QRegister qn, QRegister qm) { | 1439 QRegister qd, QRegister qn, QRegister qm) { |
| 1438 EmitSIMDqqq(B9 | B8 | B4, sz, qd, qn, qm); | 1440 EmitSIMDqqq(B9 | B8 | B4, sz, qd, qn, qm); |
| 1439 } | 1441 } |
| 1440 | 1442 |
| 1441 | 1443 // Moved to Arm32::AssemblerARM32::vcugeqi(). |
| 1442 void Assembler::vcugeqi(OperandSize sz, | 1444 void Assembler::vcugeqi(OperandSize sz, |
| 1443 QRegister qd, QRegister qn, QRegister qm) { | 1445 QRegister qd, QRegister qn, QRegister qm) { |
| 1444 EmitSIMDqqq(B24 | B9 | B8 | B4, sz, qd, qn, qm); | 1446 EmitSIMDqqq(B24 | B9 | B8 | B4, sz, qd, qn, qm); |
| 1445 } | 1447 } |
| 1446 | 1448 |
| 1447 | 1449 // Moved to Arm32::AssemblerARM32::vcgeqs(). |
| 1448 void Assembler::vcgeqs(QRegister qd, QRegister qn, QRegister qm) { | 1450 void Assembler::vcgeqs(QRegister qd, QRegister qn, QRegister qm) { |
| 1449 EmitSIMDqqq(B24 | B11 | B10 | B9, kSWord, qd, qn, qm); | 1451 EmitSIMDqqq(B24 | B11 | B10 | B9, kSWord, qd, qn, qm); |
| 1450 } | 1452 } |
| 1451 | 1453 |
| 1452 | 1454 // Moved to Arm32::AssemblerARM32::vcgtqi(). |
| 1453 void Assembler::vcgtqi(OperandSize sz, | 1455 void Assembler::vcgtqi(OperandSize sz, |
| 1454 QRegister qd, QRegister qn, QRegister qm) { | 1456 QRegister qd, QRegister qn, QRegister qm) { |
| 1455 EmitSIMDqqq(B9 | B8, sz, qd, qn, qm); | 1457 EmitSIMDqqq(B9 | B8, sz, qd, qn, qm); |
| 1456 } | 1458 } |
| 1457 | 1459 |
| 1458 | 1460 // Moved to Arm32::AssemblerARM32::vcugtqi(). |
| 1459 void Assembler::vcugtqi(OperandSize sz, | 1461 void Assembler::vcugtqi(OperandSize sz, |
| 1460 QRegister qd, QRegister qn, QRegister qm) { | 1462 QRegister qd, QRegister qn, QRegister qm) { |
| 1461 EmitSIMDqqq(B24 | B9 | B8, sz, qd, qn, qm); | 1463 EmitSIMDqqq(B24 | B9 | B8, sz, qd, qn, qm); |
| 1462 } | 1464 } |
| 1463 | 1465 |
| 1464 | 1466 // Moved to Arm32::AssemblerARM32::vcgtqs(). |
| 1465 void Assembler::vcgtqs(QRegister qd, QRegister qn, QRegister qm) { | 1467 void Assembler::vcgtqs(QRegister qd, QRegister qn, QRegister qm) { |
| 1466 EmitSIMDqqq(B24 | B21 | B11 | B10 | B9, kSWord, qd, qn, qm); | 1468 EmitSIMDqqq(B24 | B21 | B11 | B10 | B9, kSWord, qd, qn, qm); |
| 1467 } | 1469 } |
| 1468 | 1470 |
| 1469 | |
| 1470 #if 0 | |
| 1471 // Moved to ARM32::AssemblerARM32::bkpt() | 1471 // Moved to ARM32::AssemblerARM32::bkpt() |
| 1472 void Assembler::bkpt(uint16_t imm16) { | 1472 void Assembler::bkpt(uint16_t imm16) { |
| 1473 Emit(BkptEncoding(imm16)); | 1473 Emit(BkptEncoding(imm16)); |
| 1474 } | 1474 } |
| 1475 #endif | 1475 #endif |
| 1476 | 1476 |
| 1477 | 1477 |
| 1478 void Assembler::b(Label* label, Condition cond) { | 1478 void Assembler::b(Label* label, Condition cond) { |
| 1479 EmitBranch(cond, label, false); | 1479 EmitBranch(cond, label, false); |
| 1480 } | 1480 } |
| (...skipping 2213 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3694 | 3694 |
| 3695 | 3695 |
| 3696 const char* Assembler::FpuRegisterName(FpuRegister reg) { | 3696 const char* Assembler::FpuRegisterName(FpuRegister reg) { |
| 3697 ASSERT((0 <= reg) && (reg < kNumberOfFpuRegisters)); | 3697 ASSERT((0 <= reg) && (reg < kNumberOfFpuRegisters)); |
| 3698 return fpu_reg_names[reg]; | 3698 return fpu_reg_names[reg]; |
| 3699 } | 3699 } |
| 3700 | 3700 |
| 3701 } // namespace dart | 3701 } // namespace dart |
| 3702 | 3702 |
| 3703 #endif // defined TARGET_ARCH_ARM | 3703 #endif // defined TARGET_ARCH_ARM |
| OLD | NEW |