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 135 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
146 V(ArmInt32x4Max) \ | 146 V(ArmInt32x4Max) \ |
147 V(ArmInt32x4Equal) \ | 147 V(ArmInt32x4Equal) \ |
148 V(ArmInt32x4NotEqual) \ | 148 V(ArmInt32x4NotEqual) \ |
149 V(ArmInt32x4GreaterThan) \ | 149 V(ArmInt32x4GreaterThan) \ |
150 V(ArmInt32x4GreaterThanOrEqual) \ | 150 V(ArmInt32x4GreaterThanOrEqual) \ |
151 V(ArmUint32x4ShiftRightByScalar) \ | 151 V(ArmUint32x4ShiftRightByScalar) \ |
152 V(ArmUint32x4Min) \ | 152 V(ArmUint32x4Min) \ |
153 V(ArmUint32x4Max) \ | 153 V(ArmUint32x4Max) \ |
154 V(ArmUint32x4GreaterThan) \ | 154 V(ArmUint32x4GreaterThan) \ |
155 V(ArmUint32x4GreaterThanOrEqual) \ | 155 V(ArmUint32x4GreaterThanOrEqual) \ |
156 V(ArmSimd32x4Select) \ | |
157 V(ArmInt16x8Splat) \ | 156 V(ArmInt16x8Splat) \ |
158 V(ArmInt16x8ExtractLane) \ | 157 V(ArmInt16x8ExtractLane) \ |
159 V(ArmInt16x8ReplaceLane) \ | 158 V(ArmInt16x8ReplaceLane) \ |
160 V(ArmInt16x8Neg) \ | 159 V(ArmInt16x8Neg) \ |
161 V(ArmInt16x8ShiftLeftByScalar) \ | 160 V(ArmInt16x8ShiftLeftByScalar) \ |
162 V(ArmInt16x8ShiftRightByScalar) \ | 161 V(ArmInt16x8ShiftRightByScalar) \ |
163 V(ArmInt16x8Add) \ | 162 V(ArmInt16x8Add) \ |
164 V(ArmInt16x8AddSaturate) \ | 163 V(ArmInt16x8AddSaturate) \ |
165 V(ArmInt16x8Sub) \ | 164 V(ArmInt16x8Sub) \ |
166 V(ArmInt16x8SubSaturate) \ | 165 V(ArmInt16x8SubSaturate) \ |
(...skipping 27 matching lines...) Expand all Loading... |
194 V(ArmInt8x16Equal) \ | 193 V(ArmInt8x16Equal) \ |
195 V(ArmInt8x16NotEqual) \ | 194 V(ArmInt8x16NotEqual) \ |
196 V(ArmInt8x16GreaterThan) \ | 195 V(ArmInt8x16GreaterThan) \ |
197 V(ArmInt8x16GreaterThanOrEqual) \ | 196 V(ArmInt8x16GreaterThanOrEqual) \ |
198 V(ArmUint8x16ShiftRightByScalar) \ | 197 V(ArmUint8x16ShiftRightByScalar) \ |
199 V(ArmUint8x16AddSaturate) \ | 198 V(ArmUint8x16AddSaturate) \ |
200 V(ArmUint8x16SubSaturate) \ | 199 V(ArmUint8x16SubSaturate) \ |
201 V(ArmUint8x16Min) \ | 200 V(ArmUint8x16Min) \ |
202 V(ArmUint8x16Max) \ | 201 V(ArmUint8x16Max) \ |
203 V(ArmUint8x16GreaterThan) \ | 202 V(ArmUint8x16GreaterThan) \ |
204 V(ArmUint8x16GreaterThanOrEqual) | 203 V(ArmUint8x16GreaterThanOrEqual) \ |
| 204 V(ArmSimd128And) \ |
| 205 V(ArmSimd128Or) \ |
| 206 V(ArmSimd128Xor) \ |
| 207 V(ArmSimd128Not) \ |
| 208 V(ArmSimd32x4Select) \ |
| 209 V(ArmSimd16x8Select) \ |
| 210 V(ArmSimd8x16Select) |
205 | 211 |
206 // Addressing modes represent the "shape" of inputs to an instruction. | 212 // Addressing modes represent the "shape" of inputs to an instruction. |
207 // Many instructions support multiple addressing modes. Addressing modes | 213 // Many instructions support multiple addressing modes. Addressing modes |
208 // are encoded into the InstructionCode of the instruction and tell the | 214 // are encoded into the InstructionCode of the instruction and tell the |
209 // code generator after register allocation which assembler method to call. | 215 // code generator after register allocation which assembler method to call. |
210 #define TARGET_ADDRESSING_MODE_LIST(V) \ | 216 #define TARGET_ADDRESSING_MODE_LIST(V) \ |
211 V(Offset_RI) /* [%r0 + K] */ \ | 217 V(Offset_RI) /* [%r0 + K] */ \ |
212 V(Offset_RR) /* [%r0 + %r1] */ \ | 218 V(Offset_RR) /* [%r0 + %r1] */ \ |
213 V(Operand2_I) /* K */ \ | 219 V(Operand2_I) /* K */ \ |
214 V(Operand2_R) /* %r0 */ \ | 220 V(Operand2_R) /* %r0 */ \ |
215 V(Operand2_R_ASR_I) /* %r0 ASR K */ \ | 221 V(Operand2_R_ASR_I) /* %r0 ASR K */ \ |
216 V(Operand2_R_LSL_I) /* %r0 LSL K */ \ | 222 V(Operand2_R_LSL_I) /* %r0 LSL K */ \ |
217 V(Operand2_R_LSR_I) /* %r0 LSR K */ \ | 223 V(Operand2_R_LSR_I) /* %r0 LSR K */ \ |
218 V(Operand2_R_ROR_I) /* %r0 ROR K */ \ | 224 V(Operand2_R_ROR_I) /* %r0 ROR K */ \ |
219 V(Operand2_R_ASR_R) /* %r0 ASR %r1 */ \ | 225 V(Operand2_R_ASR_R) /* %r0 ASR %r1 */ \ |
220 V(Operand2_R_LSL_R) /* %r0 LSL %r1 */ \ | 226 V(Operand2_R_LSL_R) /* %r0 LSL %r1 */ \ |
221 V(Operand2_R_LSR_R) /* %r0 LSR %r1 */ \ | 227 V(Operand2_R_LSR_R) /* %r0 LSR %r1 */ \ |
222 V(Operand2_R_ROR_R) /* %r0 ROR %r1 */ | 228 V(Operand2_R_ROR_R) /* %r0 ROR %r1 */ |
223 | 229 |
224 } // namespace compiler | 230 } // namespace compiler |
225 } // namespace internal | 231 } // namespace internal |
226 } // namespace v8 | 232 } // namespace v8 |
227 | 233 |
228 #endif // V8_COMPILER_ARM_INSTRUCTION_CODES_ARM_H_ | 234 #endif // V8_COMPILER_ARM_INSTRUCTION_CODES_ARM_H_ |
OLD | NEW |