OLD | NEW |
1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef V8_COMPILER_ARM_INSTRUCTION_CODES_ARM_H_ | 5 #ifndef V8_COMPILER_ARM_INSTRUCTION_CODES_ARM_H_ |
6 #define V8_COMPILER_ARM_INSTRUCTION_CODES_ARM_H_ | 6 #define V8_COMPILER_ARM_INSTRUCTION_CODES_ARM_H_ |
7 | 7 |
8 namespace v8 { | 8 namespace v8 { |
9 namespace internal { | 9 namespace internal { |
10 namespace compiler { | 10 namespace compiler { |
(...skipping 25 matching lines...) Expand all Loading... |
36 V(ArmMvn) \ | 36 V(ArmMvn) \ |
37 V(ArmBfc) \ | 37 V(ArmBfc) \ |
38 V(ArmUbfx) \ | 38 V(ArmUbfx) \ |
39 V(ArmSxtb) \ | 39 V(ArmSxtb) \ |
40 V(ArmSxth) \ | 40 V(ArmSxth) \ |
41 V(ArmSxtab) \ | 41 V(ArmSxtab) \ |
42 V(ArmSxtah) \ | 42 V(ArmSxtah) \ |
43 V(ArmUxtb) \ | 43 V(ArmUxtb) \ |
44 V(ArmUxth) \ | 44 V(ArmUxth) \ |
45 V(ArmUxtab) \ | 45 V(ArmUxtab) \ |
| 46 V(ArmRbit) \ |
46 V(ArmUxtah) \ | 47 V(ArmUxtah) \ |
47 V(ArmVcmpF32) \ | 48 V(ArmVcmpF32) \ |
48 V(ArmVaddF32) \ | 49 V(ArmVaddF32) \ |
49 V(ArmVsubF32) \ | 50 V(ArmVsubF32) \ |
50 V(ArmVmulF32) \ | 51 V(ArmVmulF32) \ |
51 V(ArmVmlaF32) \ | 52 V(ArmVmlaF32) \ |
52 V(ArmVmlsF32) \ | 53 V(ArmVmlsF32) \ |
53 V(ArmVdivF32) \ | 54 V(ArmVdivF32) \ |
54 V(ArmVabsF32) \ | 55 V(ArmVabsF32) \ |
55 V(ArmVnegF32) \ | 56 V(ArmVnegF32) \ |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
97 V(ArmLdrsb) \ | 98 V(ArmLdrsb) \ |
98 V(ArmStrb) \ | 99 V(ArmStrb) \ |
99 V(ArmLdrh) \ | 100 V(ArmLdrh) \ |
100 V(ArmLdrsh) \ | 101 V(ArmLdrsh) \ |
101 V(ArmStrh) \ | 102 V(ArmStrh) \ |
102 V(ArmLdr) \ | 103 V(ArmLdr) \ |
103 V(ArmStr) \ | 104 V(ArmStr) \ |
104 V(ArmPush) \ | 105 V(ArmPush) \ |
105 V(ArmPoke) | 106 V(ArmPoke) |
106 | 107 |
107 | |
108 // Addressing modes represent the "shape" of inputs to an instruction. | 108 // Addressing modes represent the "shape" of inputs to an instruction. |
109 // Many instructions support multiple addressing modes. Addressing modes | 109 // Many instructions support multiple addressing modes. Addressing modes |
110 // are encoded into the InstructionCode of the instruction and tell the | 110 // are encoded into the InstructionCode of the instruction and tell the |
111 // code generator after register allocation which assembler method to call. | 111 // code generator after register allocation which assembler method to call. |
112 #define TARGET_ADDRESSING_MODE_LIST(V) \ | 112 #define TARGET_ADDRESSING_MODE_LIST(V) \ |
113 V(Offset_RI) /* [%r0 + K] */ \ | 113 V(Offset_RI) /* [%r0 + K] */ \ |
114 V(Offset_RR) /* [%r0 + %r1] */ \ | 114 V(Offset_RR) /* [%r0 + %r1] */ \ |
115 V(Operand2_I) /* K */ \ | 115 V(Operand2_I) /* K */ \ |
116 V(Operand2_R) /* %r0 */ \ | 116 V(Operand2_R) /* %r0 */ \ |
117 V(Operand2_R_ASR_I) /* %r0 ASR K */ \ | 117 V(Operand2_R_ASR_I) /* %r0 ASR K */ \ |
118 V(Operand2_R_LSL_I) /* %r0 LSL K */ \ | 118 V(Operand2_R_LSL_I) /* %r0 LSL K */ \ |
119 V(Operand2_R_LSR_I) /* %r0 LSR K */ \ | 119 V(Operand2_R_LSR_I) /* %r0 LSR K */ \ |
120 V(Operand2_R_ROR_I) /* %r0 ROR K */ \ | 120 V(Operand2_R_ROR_I) /* %r0 ROR K */ \ |
121 V(Operand2_R_ASR_R) /* %r0 ASR %r1 */ \ | 121 V(Operand2_R_ASR_R) /* %r0 ASR %r1 */ \ |
122 V(Operand2_R_LSL_R) /* %r0 LSL %r1 */ \ | 122 V(Operand2_R_LSL_R) /* %r0 LSL %r1 */ \ |
123 V(Operand2_R_LSR_R) /* %r0 LSR %r1 */ \ | 123 V(Operand2_R_LSR_R) /* %r0 LSR %r1 */ \ |
124 V(Operand2_R_ROR_R) /* %r0 ROR %r1 */ | 124 V(Operand2_R_ROR_R) /* %r0 ROR %r1 */ |
125 | 125 |
126 } // namespace compiler | 126 } // namespace compiler |
127 } // namespace internal | 127 } // namespace internal |
128 } // namespace v8 | 128 } // namespace v8 |
129 | 129 |
130 #endif // V8_COMPILER_ARM_INSTRUCTION_CODES_ARM_H_ | 130 #endif // V8_COMPILER_ARM_INSTRUCTION_CODES_ARM_H_ |
OLD | NEW |