OLD | NEW |
---|---|
1 // Copyright 2010 the V8 project authors. All rights reserved. | 1 // Copyright 2010 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 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
132 lt = 11 << 28, // N != V Less than. | 132 lt = 11 << 28, // N != V Less than. |
133 gt = 12 << 28, // Z clear, N == V Greater than. | 133 gt = 12 << 28, // Z clear, N == V Greater than. |
134 le = 13 << 28, // Z set or N != V Less then or equal | 134 le = 13 << 28, // Z set or N != V Less then or equal |
135 al = 14 << 28, // Always. | 135 al = 14 << 28, // Always. |
136 | 136 |
137 kSpecialCondition = 15 << 28, // Special condition (refer to section A3.2.1). | 137 kSpecialCondition = 15 << 28, // Special condition (refer to section A3.2.1). |
138 kNumberOfConditions = 16, | 138 kNumberOfConditions = 16, |
139 | 139 |
140 // Aliases. | 140 // Aliases. |
141 hs = cs, // C set Unsigned higher or same. | 141 hs = cs, // C set Unsigned higher or same. |
142 lo = cc // C clear Unsigned lower. | 142 lo = cc, // C clear Unsigned lower. |
143 | |
144 kConditionMask = 15 << 28 // Mask for the condition field. | |
Alexandre
2011/02/09 13:57:16
kCondMask was already defined (~line 259).
I thin
Søren Thygesen Gjesse
2011/02/09 14:48:28
Removed this again.
| |
143 }; | 145 }; |
144 | 146 |
145 | 147 |
146 inline Condition NegateCondition(Condition cond) { | 148 inline Condition NegateCondition(Condition cond) { |
147 ASSERT(cond != al); | 149 ASSERT(cond != al); |
148 return static_cast<Condition>(cond ^ ne); | 150 return static_cast<Condition>(cond ^ ne); |
149 } | 151 } |
150 | 152 |
151 | 153 |
152 // Corresponds to transposing the operands of a comparison. | 154 // Corresponds to transposing the operands of a comparison. |
(...skipping 422 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
575 } | 577 } |
576 inline Condition ConditionField() const { | 578 inline Condition ConditionField() const { |
577 return static_cast<Condition>(BitField(31, 28)); | 579 return static_cast<Condition>(BitField(31, 28)); |
578 } | 580 } |
579 DECLARE_STATIC_TYPED_ACCESSOR(Condition, ConditionValue); | 581 DECLARE_STATIC_TYPED_ACCESSOR(Condition, ConditionValue); |
580 DECLARE_STATIC_TYPED_ACCESSOR(Condition, ConditionField); | 582 DECLARE_STATIC_TYPED_ACCESSOR(Condition, ConditionField); |
581 | 583 |
582 inline int TypeValue() const { return Bits(27, 25); } | 584 inline int TypeValue() const { return Bits(27, 25); } |
583 | 585 |
584 inline int RnValue() const { return Bits(19, 16); } | 586 inline int RnValue() const { return Bits(19, 16); } |
587 DECLARE_STATIC_ACCESSOR(RnValue); | |
585 inline int RdValue() const { return Bits(15, 12); } | 588 inline int RdValue() const { return Bits(15, 12); } |
586 DECLARE_STATIC_ACCESSOR(RdValue); | 589 DECLARE_STATIC_ACCESSOR(RdValue); |
587 | 590 |
588 inline int CoprocessorValue() const { return Bits(11, 8); } | 591 inline int CoprocessorValue() const { return Bits(11, 8); } |
589 // Support for VFP. | 592 // Support for VFP. |
590 // Vn(19-16) | Vd(15-12) | Vm(3-0) | 593 // Vn(19-16) | Vd(15-12) | Vm(3-0) |
591 inline int VnValue() const { return Bits(19, 16); } | 594 inline int VnValue() const { return Bits(19, 16); } |
592 inline int VmValue() const { return Bits(3, 0); } | 595 inline int VmValue() const { return Bits(3, 0); } |
593 inline int VdValue() const { return Bits(15, 12); } | 596 inline int VdValue() const { return Bits(15, 12); } |
594 inline int NValue() const { return Bit(7); } | 597 inline int NValue() const { return Bit(7); } |
(...skipping 23 matching lines...) Expand all Loading... | |
618 // Fields used in Data processing instructions | 621 // Fields used in Data processing instructions |
619 inline int OpcodeValue() const { | 622 inline int OpcodeValue() const { |
620 return static_cast<Opcode>(Bits(24, 21)); | 623 return static_cast<Opcode>(Bits(24, 21)); |
621 } | 624 } |
622 inline Opcode OpcodeField() const { | 625 inline Opcode OpcodeField() const { |
623 return static_cast<Opcode>(BitField(24, 21)); | 626 return static_cast<Opcode>(BitField(24, 21)); |
624 } | 627 } |
625 inline int SValue() const { return Bit(20); } | 628 inline int SValue() const { return Bit(20); } |
626 // with register | 629 // with register |
627 inline int RmValue() const { return Bits(3, 0); } | 630 inline int RmValue() const { return Bits(3, 0); } |
631 DECLARE_STATIC_ACCESSOR(RmValue); | |
628 inline int ShiftValue() const { return static_cast<ShiftOp>(Bits(6, 5)); } | 632 inline int ShiftValue() const { return static_cast<ShiftOp>(Bits(6, 5)); } |
629 inline ShiftOp ShiftField() const { | 633 inline ShiftOp ShiftField() const { |
630 return static_cast<ShiftOp>(BitField(6, 5)); | 634 return static_cast<ShiftOp>(BitField(6, 5)); |
631 } | 635 } |
632 inline int RegShiftValue() const { return Bit(4); } | 636 inline int RegShiftValue() const { return Bit(4); } |
633 inline int RsValue() const { return Bits(11, 8); } | 637 inline int RsValue() const { return Bits(11, 8); } |
634 inline int ShiftAmountValue() const { return Bits(11, 7); } | 638 inline int ShiftAmountValue() const { return Bits(11, 7); } |
635 // with immediate | 639 // with immediate |
636 inline int RotateValue() const { return Bits(11, 8); } | 640 inline int RotateValue() const { return Bits(11, 8); } |
637 inline int Immed8Value() const { return Bits(7, 0); } | 641 inline int Immed8Value() const { return Bits(7, 0); } |
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
750 static int Number(const char* name, bool* is_double); | 754 static int Number(const char* name, bool* is_double); |
751 | 755 |
752 private: | 756 private: |
753 static const char* names_[kNumVFPRegisters]; | 757 static const char* names_[kNumVFPRegisters]; |
754 }; | 758 }; |
755 | 759 |
756 | 760 |
757 } } // namespace v8::internal | 761 } } // namespace v8::internal |
758 | 762 |
759 #endif // V8_ARM_CONSTANTS_ARM_H_ | 763 #endif // V8_ARM_CONSTANTS_ARM_H_ |
OLD | NEW |