| OLD | NEW |
| 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, 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 #ifndef VM_CONSTANTS_ARM64_H_ | 5 #ifndef VM_CONSTANTS_ARM64_H_ |
| 6 #define VM_CONSTANTS_ARM64_H_ | 6 #define VM_CONSTANTS_ARM64_H_ |
| 7 | 7 |
| 8 #include "platform/assert.h" | 8 #include "platform/assert.h" |
| 9 | 9 |
| 10 namespace dart { | 10 namespace dart { |
| (...skipping 346 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 357 RET = BR | B22, | 357 RET = BR | B22, |
| 358 }; | 358 }; |
| 359 | 359 |
| 360 // C3.3.5 | 360 // C3.3.5 |
| 361 enum LoadRegLiteralOp { | 361 enum LoadRegLiteralOp { |
| 362 LoadRegLiteralMask = 0x3b000000, | 362 LoadRegLiteralMask = 0x3b000000, |
| 363 LoadRegLiteralFixed = LoadStoreFixed | B28, | 363 LoadRegLiteralFixed = LoadStoreFixed | B28, |
| 364 LDRpc = LoadRegLiteralFixed, | 364 LDRpc = LoadRegLiteralFixed, |
| 365 }; | 365 }; |
| 366 | 366 |
| 367 // C3.3.6 |
| 368 enum LoadStoreExclusiveOp { |
| 369 LoadStoreExclusiveMask = 0x3f000000, |
| 370 LoadStoreExclusiveFixed = B27, |
| 371 LDXR = LoadStoreExclusiveFixed | B22, |
| 372 STXR = LoadStoreExclusiveFixed, |
| 373 }; |
| 374 |
| 367 // C3.3.7-10 | 375 // C3.3.7-10 |
| 368 enum LoadStoreRegOp { | 376 enum LoadStoreRegOp { |
| 369 LoadStoreRegMask = 0x3a000000, | 377 LoadStoreRegMask = 0x3a000000, |
| 370 LoadStoreRegFixed = LoadStoreFixed | B29 | B28, | 378 LoadStoreRegFixed = LoadStoreFixed | B29 | B28, |
| 371 STR = LoadStoreRegFixed, | 379 STR = LoadStoreRegFixed, |
| 372 LDR = LoadStoreRegFixed | B22, | 380 LDR = LoadStoreRegFixed | B22, |
| 373 LDRS = LoadStoreRegFixed | B23, | 381 LDRS = LoadStoreRegFixed | B23, |
| 374 FSTR = STR | B26, | 382 FSTR = STR | B26, |
| 375 FLDR = LDR | B26, | 383 FLDR = LDR | B26, |
| 376 FSTRQ = STR | B26 | B23, | 384 FSTRQ = STR | B26 | B23, |
| (...skipping 232 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 609 _V(CompareAndBranch) \ | 617 _V(CompareAndBranch) \ |
| 610 _V(ConditionalBranch) \ | 618 _V(ConditionalBranch) \ |
| 611 _V(ExceptionGen) \ | 619 _V(ExceptionGen) \ |
| 612 _V(System) \ | 620 _V(System) \ |
| 613 _V(TestAndBranch) \ | 621 _V(TestAndBranch) \ |
| 614 _V(UnconditionalBranch) \ | 622 _V(UnconditionalBranch) \ |
| 615 _V(UnconditionalBranchReg) \ | 623 _V(UnconditionalBranchReg) \ |
| 616 _V(LoadStoreReg) \ | 624 _V(LoadStoreReg) \ |
| 617 _V(LoadStoreRegPair) \ | 625 _V(LoadStoreRegPair) \ |
| 618 _V(LoadRegLiteral) \ | 626 _V(LoadRegLiteral) \ |
| 627 _V(LoadStoreExclusive) \ |
| 619 _V(AddSubImm) \ | 628 _V(AddSubImm) \ |
| 620 _V(LogicalImm) \ | 629 _V(LogicalImm) \ |
| 621 _V(MoveWide) \ | 630 _V(MoveWide) \ |
| 622 _V(PCRel) \ | 631 _V(PCRel) \ |
| 623 _V(AddSubShiftExt) \ | 632 _V(AddSubShiftExt) \ |
| 624 _V(AddSubWithCarry) \ | 633 _V(AddSubWithCarry) \ |
| 625 _V(ConditionalSelect) \ | 634 _V(ConditionalSelect) \ |
| 626 _V(MiscDP1Source) \ | 635 _V(MiscDP1Source) \ |
| 627 _V(MiscDP2Source) \ | 636 _V(MiscDP2Source) \ |
| 628 _V(MiscDP3Source) \ | 637 _V(MiscDP3Source) \ |
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 685 kRnShift = 5, | 694 kRnShift = 5, |
| 686 kRnBits = 5, | 695 kRnBits = 5, |
| 687 kRaShift = 10, | 696 kRaShift = 10, |
| 688 kRaBits = 5, | 697 kRaBits = 5, |
| 689 kRmShift = 16, | 698 kRmShift = 16, |
| 690 kRmBits = 5, | 699 kRmBits = 5, |
| 691 kRtShift = 0, | 700 kRtShift = 0, |
| 692 kRtBits = 5, | 701 kRtBits = 5, |
| 693 kRt2Shift = 10, | 702 kRt2Shift = 10, |
| 694 kRt2Bits = 5, | 703 kRt2Bits = 5, |
| 704 kRsShift = 16, |
| 705 kRsBits = 5, |
| 695 | 706 |
| 696 // V Registers. | 707 // V Registers. |
| 697 kVdShift = 0, | 708 kVdShift = 0, |
| 698 kVdBits = 5, | 709 kVdBits = 5, |
| 699 kVnShift = 5, | 710 kVnShift = 5, |
| 700 kVnBits = 5, | 711 kVnBits = 5, |
| 701 kVmShift = 16, | 712 kVmShift = 16, |
| 702 kVmBits = 5, | 713 kVmBits = 5, |
| 703 kVtShift = 0, | 714 kVtShift = 0, |
| 704 kVtBits = 5, | 715 kVtBits = 5, |
| (...skipping 180 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 885 inline Register RnField() const { return static_cast<Register>( | 896 inline Register RnField() const { return static_cast<Register>( |
| 886 Bits(kRnShift, kRnBits)); } | 897 Bits(kRnShift, kRnBits)); } |
| 887 inline Register RaField() const { return static_cast<Register>( | 898 inline Register RaField() const { return static_cast<Register>( |
| 888 Bits(kRaShift, kRaBits)); } | 899 Bits(kRaShift, kRaBits)); } |
| 889 inline Register RmField() const { return static_cast<Register>( | 900 inline Register RmField() const { return static_cast<Register>( |
| 890 Bits(kRmShift, kRmBits)); } | 901 Bits(kRmShift, kRmBits)); } |
| 891 inline Register RtField() const { return static_cast<Register>( | 902 inline Register RtField() const { return static_cast<Register>( |
| 892 Bits(kRtShift, kRtBits)); } | 903 Bits(kRtShift, kRtBits)); } |
| 893 inline Register Rt2Field() const { return static_cast<Register>( | 904 inline Register Rt2Field() const { return static_cast<Register>( |
| 894 Bits(kRt2Shift, kRt2Bits)); } | 905 Bits(kRt2Shift, kRt2Bits)); } |
| 906 inline Register RsField() const { return static_cast<Register>( |
| 907 Bits(kRsShift, kRsBits)); } |
| 895 | 908 |
| 896 inline VRegister VdField() const { return static_cast<VRegister>( | 909 inline VRegister VdField() const { return static_cast<VRegister>( |
| 897 Bits(kVdShift, kVdBits)); } | 910 Bits(kVdShift, kVdBits)); } |
| 898 inline VRegister VnField() const { return static_cast<VRegister>( | 911 inline VRegister VnField() const { return static_cast<VRegister>( |
| 899 Bits(kVnShift, kVnBits)); } | 912 Bits(kVnShift, kVnBits)); } |
| 900 inline VRegister VmField() const { return static_cast<VRegister>( | 913 inline VRegister VmField() const { return static_cast<VRegister>( |
| 901 Bits(kVmShift, kVmBits)); } | 914 Bits(kVmShift, kVmBits)); } |
| 902 inline VRegister VtField() const { return static_cast<VRegister>( | 915 inline VRegister VtField() const { return static_cast<VRegister>( |
| 903 Bits(kVtShift, kVtBits)); } | 916 Bits(kVtShift, kVtBits)); } |
| 904 | 917 |
| (...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1074 static Instr* At(uword pc) { return reinterpret_cast<Instr*>(pc); } | 1087 static Instr* At(uword pc) { return reinterpret_cast<Instr*>(pc); } |
| 1075 | 1088 |
| 1076 private: | 1089 private: |
| 1077 DISALLOW_ALLOCATION(); | 1090 DISALLOW_ALLOCATION(); |
| 1078 DISALLOW_IMPLICIT_CONSTRUCTORS(Instr); | 1091 DISALLOW_IMPLICIT_CONSTRUCTORS(Instr); |
| 1079 }; | 1092 }; |
| 1080 | 1093 |
| 1081 } // namespace dart | 1094 } // namespace dart |
| 1082 | 1095 |
| 1083 #endif // VM_CONSTANTS_ARM64_H_ | 1096 #endif // VM_CONSTANTS_ARM64_H_ |
| OLD | NEW |