OLD | NEW |
1 // Copyright (c) 1994-2006 Sun Microsystems Inc. | 1 // Copyright (c) 1994-2006 Sun Microsystems Inc. |
2 // All Rights Reserved. | 2 // All Rights Reserved. |
3 // | 3 // |
4 // Redistribution and use in source and binary forms, with or without | 4 // Redistribution and use in source and binary forms, with or without |
5 // modification, are permitted provided that the following conditions | 5 // modification, are permitted provided that the following conditions |
6 // are met: | 6 // are met: |
7 // | 7 // |
8 // - Redistributions of source code must retain the above copyright notice, | 8 // - Redistributions of source code must retain the above copyright notice, |
9 // this list of conditions and the following disclaimer. | 9 // this list of conditions and the following disclaimer. |
10 // | 10 // |
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
157 p11 = 11, | 157 p11 = 11, |
158 p12 = 12, | 158 p12 = 12, |
159 p13 = 13, | 159 p13 = 13, |
160 p14 = 14, | 160 p14 = 14, |
161 p15 = 15 | 161 p15 = 15 |
162 }; | 162 }; |
163 | 163 |
164 | 164 |
165 // Condition field in instructions | 165 // Condition field in instructions |
166 enum Condition { | 166 enum Condition { |
167 eq = 0 << 28, | 167 eq = 0 << 28, // Z set equal. |
168 ne = 1 << 28, | 168 ne = 1 << 28, // Z clear not equal. |
169 cs = 2 << 28, | 169 cs = 2 << 28, // C set unsigned higher or same. |
170 hs = 2 << 28, | 170 hs = 2 << 28, // C set unsigned higher or same. |
171 cc = 3 << 28, | 171 cc = 3 << 28, // C clear unsigned lower. |
172 lo = 3 << 28, | 172 lo = 3 << 28, // C clear unsigned lower. |
173 mi = 4 << 28, | 173 mi = 4 << 28, // N set negative. |
174 pl = 5 << 28, | 174 pl = 5 << 28, // N clear positive or zero. |
175 vs = 6 << 28, | 175 vs = 6 << 28, // V set overflow. |
176 vc = 7 << 28, | 176 vc = 7 << 28, // V clear no overflow. |
177 hi = 8 << 28, | 177 hi = 8 << 28, // C set, Z clear unsigned higher. |
178 ls = 9 << 28, | 178 ls = 9 << 28, // C clear or Z set unsigned lower or same. |
179 ge = 10 << 28, | 179 ge = 10 << 28, // N == V greater or equal. |
180 lt = 11 << 28, | 180 lt = 11 << 28, // N != V less than. |
181 gt = 12 << 28, | 181 gt = 12 << 28, // Z clear, N == V greater than. |
182 le = 13 << 28, | 182 le = 13 << 28, // Z set or N != V less then or equal |
183 al = 14 << 28 | 183 al = 14 << 28 // always. |
184 }; | 184 }; |
185 | 185 |
186 | 186 |
187 // Returns the equivalent of !cc. | 187 // Returns the equivalent of !cc. |
188 INLINE(Condition NegateCondition(Condition cc)); | 188 INLINE(Condition NegateCondition(Condition cc)); |
189 | 189 |
190 | 190 |
191 // Corresponds to transposing the operands of a comparison. | 191 // Corresponds to transposing the operands of a comparison. |
192 inline Condition ReverseCondition(Condition cc) { | 192 inline Condition ReverseCondition(Condition cc) { |
193 switch (cc) { | 193 switch (cc) { |
(...skipping 586 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
780 void link_to(Label* L, Label* appendix); | 780 void link_to(Label* L, Label* appendix); |
781 void next(Label* L); | 781 void next(Label* L); |
782 | 782 |
783 // Record reloc info for current pc_ | 783 // Record reloc info for current pc_ |
784 void RecordRelocInfo(RelocInfo::Mode rmode, intptr_t data = 0); | 784 void RecordRelocInfo(RelocInfo::Mode rmode, intptr_t data = 0); |
785 }; | 785 }; |
786 | 786 |
787 } } // namespace v8::internal | 787 } } // namespace v8::internal |
788 | 788 |
789 #endif // V8_ASSEMBLER_ARM_H_ | 789 #endif // V8_ASSEMBLER_ARM_H_ |
OLD | NEW |