Chromium Code Reviews| 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 494 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 505 void strb(Register rd, Address ad, Condition cond = AL); | 505 void strb(Register rd, Address ad, Condition cond = AL); |
| 506 | 506 |
| 507 void ldrh(Register rd, Address ad, Condition cond = AL); | 507 void ldrh(Register rd, Address ad, Condition cond = AL); |
| 508 void strh(Register rd, Address ad, Condition cond = AL); | 508 void strh(Register rd, Address ad, Condition cond = AL); |
| 509 | 509 |
| 510 void ldrsb(Register rd, Address ad, Condition cond = AL); | 510 void ldrsb(Register rd, Address ad, Condition cond = AL); |
| 511 void ldrsh(Register rd, Address ad, Condition cond = AL); | 511 void ldrsh(Register rd, Address ad, Condition cond = AL); |
| 512 | 512 |
| 513 // ldrd and strd actually support the full range of addressing modes, but | 513 // ldrd and strd actually support the full range of addressing modes, but |
| 514 // we don't use them, and we need to split them up into two instructions for | 514 // we don't use them, and we need to split them up into two instructions for |
| 515 // ARMv5TE, so we only support the base + offset mode. | 515 // ARMv5TE, so we only support the base + offset mode. |
|
zra
2015/10/23 03:48:44
Maybe add a comment about the restrictions on rd a
rmacnak
2015/10/23 16:29:03
Added
| |
| 516 void ldrd(Register rd, Register rn, int32_t offset, Condition cond = AL); | 516 void ldrd(Register rd, Register rd2, Register rn, int32_t offset, |
| 517 void strd(Register rd, Register rn, int32_t offset, Condition cond = AL); | 517 Condition cond = AL); |
| 518 void strd(Register rd, Register rd2, Register rn, int32_t offset, | |
| 519 Condition cond = AL); | |
| 518 | 520 |
| 519 void ldm(BlockAddressMode am, Register base, | 521 void ldm(BlockAddressMode am, Register base, |
| 520 RegList regs, Condition cond = AL); | 522 RegList regs, Condition cond = AL); |
| 521 void stm(BlockAddressMode am, Register base, | 523 void stm(BlockAddressMode am, Register base, |
| 522 RegList regs, Condition cond = AL); | 524 RegList regs, Condition cond = AL); |
| 523 | 525 |
| 524 void ldrex(Register rd, Register rn, Condition cond = AL); | 526 void ldrex(Register rd, Register rn, Condition cond = AL); |
| 525 void strex(Register rd, Register rt, Register rn, Condition cond = AL); | 527 void strex(Register rd, Register rt, Register rn, Condition cond = AL); |
| 526 | 528 |
| 527 // Miscellaneous instructions. | 529 // Miscellaneous instructions. |
| (...skipping 673 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1201 Register new_value, | 1203 Register new_value, |
| 1202 FieldContent old_content); | 1204 FieldContent old_content); |
| 1203 | 1205 |
| 1204 DISALLOW_ALLOCATION(); | 1206 DISALLOW_ALLOCATION(); |
| 1205 DISALLOW_COPY_AND_ASSIGN(Assembler); | 1207 DISALLOW_COPY_AND_ASSIGN(Assembler); |
| 1206 }; | 1208 }; |
| 1207 | 1209 |
| 1208 } // namespace dart | 1210 } // namespace dart |
| 1209 | 1211 |
| 1210 #endif // VM_ASSEMBLER_ARM_H_ | 1212 #endif // VM_ASSEMBLER_ARM_H_ |
| OLD | NEW |