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 |