Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(234)

Side by Side Diff: src/compiler/arm/instruction-codes-arm.h

Issue 2683713003: [Turbofan] Add more non-arithmetic SIMD operations. (Closed)
Patch Set: Rebase. Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/compiler/arm/code-generator-arm.cc ('k') | src/compiler/arm/instruction-scheduler-arm.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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_
OLDNEW
« no previous file with comments | « src/compiler/arm/code-generator-arm.cc ('k') | src/compiler/arm/instruction-scheduler-arm.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698