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 565 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
576 | 576 |
577 // Add signed immediate value to rd. May clobber IP. | 577 // Add signed immediate value to rd. May clobber IP. |
578 void AddImmediate(Register rd, int32_t value, Condition cond = AL); | 578 void AddImmediate(Register rd, int32_t value, Condition cond = AL); |
579 void AddImmediate(Register rd, Register rn, int32_t value, | 579 void AddImmediate(Register rd, Register rn, int32_t value, |
580 Condition cond = AL); | 580 Condition cond = AL); |
581 void AddImmediateSetFlags(Register rd, Register rn, int32_t value, | 581 void AddImmediateSetFlags(Register rd, Register rn, int32_t value, |
582 Condition cond = AL); | 582 Condition cond = AL); |
583 void AddImmediateWithCarry(Register rd, Register rn, int32_t value, | 583 void AddImmediateWithCarry(Register rd, Register rn, int32_t value, |
584 Condition cond = AL); | 584 Condition cond = AL); |
585 | 585 |
| 586 void AndImmediate(Register rd, Register rs, int32_t imm, Condition cond = AL); |
| 587 |
586 // Compare rn with signed immediate value. May clobber IP. | 588 // Compare rn with signed immediate value. May clobber IP. |
587 void CompareImmediate(Register rn, int32_t value, Condition cond = AL); | 589 void CompareImmediate(Register rn, int32_t value, Condition cond = AL); |
588 | 590 |
589 // Signed integer division of left by right. Checks to see if integer | 591 // Signed integer division of left by right. Checks to see if integer |
590 // division is supported. If not, uses the FPU for division with | 592 // division is supported. If not, uses the FPU for division with |
591 // temporary registers tmpl and tmpr. tmpl and tmpr must be different | 593 // temporary registers tmpl and tmpr. tmpl and tmpr must be different |
592 // registers. | 594 // registers. |
593 void IntegerDivide(Register result, Register left, Register right, | 595 void IntegerDivide(Register result, Register left, Register right, |
594 DRegister tmpl, DRegister tmpr); | 596 DRegister tmpl, DRegister tmpr); |
595 | 597 |
(...skipping 278 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
874 Register value, | 876 Register value, |
875 Label* no_update); | 877 Label* no_update); |
876 | 878 |
877 DISALLOW_ALLOCATION(); | 879 DISALLOW_ALLOCATION(); |
878 DISALLOW_COPY_AND_ASSIGN(Assembler); | 880 DISALLOW_COPY_AND_ASSIGN(Assembler); |
879 }; | 881 }; |
880 | 882 |
881 } // namespace dart | 883 } // namespace dart |
882 | 884 |
883 #endif // VM_ASSEMBLER_ARM_H_ | 885 #endif // VM_ASSEMBLER_ARM_H_ |
OLD | NEW |