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 240 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
251 B27 = 1 << 27, | 251 B27 = 1 << 27, |
252 B28 = 1 << 28, | 252 B28 = 1 << 28, |
253 | 253 |
254 // Instruction bit masks. | 254 // Instruction bit masks. |
255 kCondMask = 15 << 28, | 255 kCondMask = 15 << 28, |
256 kALUMask = 0x6f << 21, | 256 kALUMask = 0x6f << 21, |
257 kRdMask = 15 << 12, // In str instruction. | 257 kRdMask = 15 << 12, // In str instruction. |
258 kCoprocessorMask = 15 << 8, | 258 kCoprocessorMask = 15 << 8, |
259 kOpCodeMask = 15 << 21, // In data-processing instructions. | 259 kOpCodeMask = 15 << 21, // In data-processing instructions. |
260 kImm24Mask = (1 << 24) - 1, | 260 kImm24Mask = (1 << 24) - 1, |
261 kOff12Mask = (1 << 12) - 1 | 261 kOff12Mask = (1 << 12) - 1, |
| 262 kOff8Mask = (1 << 8) - 1 |
262 }; | 263 }; |
263 | 264 |
264 | 265 |
265 // ----------------------------------------------------------------------------- | 266 // ----------------------------------------------------------------------------- |
266 // Addressing modes and instruction variants. | 267 // Addressing modes and instruction variants. |
267 | 268 |
268 // Condition code updating mode. | 269 // Condition code updating mode. |
269 enum SBit { | 270 enum SBit { |
270 SetCC = 1 << 20, // Set condition code. | 271 SetCC = 1 << 20, // Set condition code. |
271 LeaveCC = 0 << 20 // Leave condition code unchanged. | 272 LeaveCC = 0 << 20 // Leave condition code unchanged. |
(...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
448 | 449 |
449 // ldr(r, MemOperand(sp, 4, PostIndex), al) instruction (aka pop(r)) | 450 // ldr(r, MemOperand(sp, 4, PostIndex), al) instruction (aka pop(r)) |
450 // register r is not encoded. | 451 // register r is not encoded. |
451 extern const Instr kPopRegPattern; | 452 extern const Instr kPopRegPattern; |
452 | 453 |
453 // mov lr, pc | 454 // mov lr, pc |
454 extern const Instr kMovLrPc; | 455 extern const Instr kMovLrPc; |
455 // ldr rd, [pc, #offset] | 456 // ldr rd, [pc, #offset] |
456 extern const Instr kLdrPCMask; | 457 extern const Instr kLdrPCMask; |
457 extern const Instr kLdrPCPattern; | 458 extern const Instr kLdrPCPattern; |
| 459 // vldr dd, [pc, #offset] |
| 460 extern const Instr kVldrDPCMask; |
| 461 extern const Instr kVldrDPCPattern; |
458 // blxcc rm | 462 // blxcc rm |
459 extern const Instr kBlxRegMask; | 463 extern const Instr kBlxRegMask; |
460 | 464 |
461 extern const Instr kBlxRegPattern; | 465 extern const Instr kBlxRegPattern; |
462 | 466 |
463 extern const Instr kMovMvnMask; | 467 extern const Instr kMovMvnMask; |
464 extern const Instr kMovMvnPattern; | 468 extern const Instr kMovMvnPattern; |
465 extern const Instr kMovMvnFlip; | 469 extern const Instr kMovMvnFlip; |
466 extern const Instr kMovLeaveCCMask; | 470 extern const Instr kMovLeaveCCMask; |
467 extern const Instr kMovLeaveCCPattern; | 471 extern const Instr kMovLeaveCCPattern; |
(...skipping 297 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
765 static int Number(const char* name, bool* is_double); | 769 static int Number(const char* name, bool* is_double); |
766 | 770 |
767 private: | 771 private: |
768 static const char* names_[kNumVFPRegisters]; | 772 static const char* names_[kNumVFPRegisters]; |
769 }; | 773 }; |
770 | 774 |
771 | 775 |
772 } } // namespace v8::internal | 776 } } // namespace v8::internal |
773 | 777 |
774 #endif // V8_ARM_CONSTANTS_ARM_H_ | 778 #endif // V8_ARM_CONSTANTS_ARM_H_ |
OLD | NEW |