OLD | NEW |
1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 673 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
684 // Test for special encodings of type 0 instructions (extra loads and stores, | 684 // Test for special encodings of type 0 instructions (extra loads and stores, |
685 // as well as multiplications). | 685 // as well as multiplications). |
686 inline bool IsSpecialType0() const { return (Bit(7) == 1) && (Bit(4) == 1); } | 686 inline bool IsSpecialType0() const { return (Bit(7) == 1) && (Bit(4) == 1); } |
687 | 687 |
688 // Test for miscellaneous instructions encodings of type 0 instructions. | 688 // Test for miscellaneous instructions encodings of type 0 instructions. |
689 inline bool IsMiscType0() const { return (Bit(24) == 1) | 689 inline bool IsMiscType0() const { return (Bit(24) == 1) |
690 && (Bit(23) == 0) | 690 && (Bit(23) == 0) |
691 && (Bit(20) == 0) | 691 && (Bit(20) == 0) |
692 && ((Bit(7) == 0)); } | 692 && ((Bit(7) == 0)); } |
693 | 693 |
| 694 // Test for a nop instruction, which falls under type 1. |
| 695 inline bool IsNopType1() const { return Bits(24, 0) == 0x0120F000; } |
| 696 |
694 // Test for a stop instruction. | 697 // Test for a stop instruction. |
695 inline bool IsStop() const { | 698 inline bool IsStop() const { |
696 return (TypeValue() == 7) && (Bit(24) == 1) && (SvcValue() >= kStopCode); | 699 return (TypeValue() == 7) && (Bit(24) == 1) && (SvcValue() >= kStopCode); |
697 } | 700 } |
698 | 701 |
699 // Special accessors that test for existence of a value. | 702 // Special accessors that test for existence of a value. |
700 inline bool HasS() const { return SValue() == 1; } | 703 inline bool HasS() const { return SValue() == 1; } |
701 inline bool HasB() const { return BValue() == 1; } | 704 inline bool HasB() const { return BValue() == 1; } |
702 inline bool HasW() const { return WValue() == 1; } | 705 inline bool HasW() const { return WValue() == 1; } |
703 inline bool HasL() const { return LValue() == 1; } | 706 inline bool HasL() const { return LValue() == 1; } |
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
766 static int Number(const char* name, bool* is_double); | 769 static int Number(const char* name, bool* is_double); |
767 | 770 |
768 private: | 771 private: |
769 static const char* names_[kNumVFPRegisters]; | 772 static const char* names_[kNumVFPRegisters]; |
770 }; | 773 }; |
771 | 774 |
772 | 775 |
773 } } // namespace v8::internal | 776 } } // namespace v8::internal |
774 | 777 |
775 #endif // V8_ARM_CONSTANTS_ARM_H_ | 778 #endif // V8_ARM_CONSTANTS_ARM_H_ |
OLD | NEW |