OLD | NEW |
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, 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_ASSEMBLER_ARM_H_ | 5 #ifndef VM_ASSEMBLER_ARM_H_ |
6 #define VM_ASSEMBLER_ARM_H_ | 6 #define VM_ASSEMBLER_ARM_H_ |
7 | 7 |
8 #ifndef VM_ASSEMBLER_H_ | 8 #ifndef VM_ASSEMBLER_H_ |
9 #error Do not include assembler_arm.h directly; use assembler.h instead. | 9 #error Do not include assembler_arm.h directly; use assembler.h instead. |
10 #endif | 10 #endif |
(...skipping 468 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
479 | 479 |
480 void ldrex(Register rd, Register rn, Condition cond = AL); | 480 void ldrex(Register rd, Register rn, Condition cond = AL); |
481 void strex(Register rd, Register rt, Register rn, Condition cond = AL); | 481 void strex(Register rd, Register rt, Register rn, Condition cond = AL); |
482 | 482 |
483 // Miscellaneous instructions. | 483 // Miscellaneous instructions. |
484 void clrex(); | 484 void clrex(); |
485 void nop(Condition cond = AL); | 485 void nop(Condition cond = AL); |
486 | 486 |
487 // Note that gdb sets breakpoints using the undefined instruction 0xe7f001f0. | 487 // Note that gdb sets breakpoints using the undefined instruction 0xe7f001f0. |
488 void bkpt(uint16_t imm16); | 488 void bkpt(uint16_t imm16); |
489 void svc(uint32_t imm24, Condition cond = AL); | |
490 | 489 |
491 // Floating point instructions (VFPv3-D16 and VFPv3-D32 profiles). | 490 // Floating point instructions (VFPv3-D16 and VFPv3-D32 profiles). |
492 void vmovsr(SRegister sn, Register rt, Condition cond = AL); | 491 void vmovsr(SRegister sn, Register rt, Condition cond = AL); |
493 void vmovrs(Register rt, SRegister sn, Condition cond = AL); | 492 void vmovrs(Register rt, SRegister sn, Condition cond = AL); |
494 void vmovsrr(SRegister sm, Register rt, Register rt2, Condition cond = AL); | 493 void vmovsrr(SRegister sm, Register rt, Register rt2, Condition cond = AL); |
495 void vmovrrs(Register rt, Register rt2, SRegister sm, Condition cond = AL); | 494 void vmovrrs(Register rt, Register rt2, SRegister sm, Condition cond = AL); |
496 void vmovdrr(DRegister dm, Register rt, Register rt2, Condition cond = AL); | 495 void vmovdrr(DRegister dm, Register rt, Register rt2, Condition cond = AL); |
497 void vmovrrd(Register rt, Register rt2, DRegister dm, Condition cond = AL); | 496 void vmovrrd(Register rt, Register rt2, DRegister dm, Condition cond = AL); |
498 void vmovdr(DRegister dd, int i, Register rt, Condition cond = AL); | 497 void vmovdr(DRegister dd, int i, Register rt, Condition cond = AL); |
499 void vmovs(SRegister sd, SRegister sm, Condition cond = AL); | 498 void vmovs(SRegister sd, SRegister sm, Condition cond = AL); |
(...skipping 623 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1123 Register new_value, | 1122 Register new_value, |
1124 FieldContent old_content); | 1123 FieldContent old_content); |
1125 | 1124 |
1126 DISALLOW_ALLOCATION(); | 1125 DISALLOW_ALLOCATION(); |
1127 DISALLOW_COPY_AND_ASSIGN(Assembler); | 1126 DISALLOW_COPY_AND_ASSIGN(Assembler); |
1128 }; | 1127 }; |
1129 | 1128 |
1130 } // namespace dart | 1129 } // namespace dart |
1131 | 1130 |
1132 #endif // VM_ASSEMBLER_ARM_H_ | 1131 #endif // VM_ASSEMBLER_ARM_H_ |
OLD | NEW |