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

Side by Side Diff: src/compiler/machine-operator.cc

Issue 1693963004: Add a kSimd128 machine type for Turbofan. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 4 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
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 #include "src/compiler/machine-operator.h" 5 #include "src/compiler/machine-operator.h"
6 6
7 #include "src/base/lazy-instance.h" 7 #include "src/base/lazy-instance.h"
8 #include "src/compiler/opcodes.h" 8 #include "src/compiler/opcodes.h"
9 #include "src/compiler/operator.h" 9 #include "src/compiler/operator.h"
10 10
(...skipping 197 matching lines...) Expand 10 before | Expand all | Expand 10 after
208 V(Float32RoundDown, Operator::kNoProperties, 1, 0, 1) \ 208 V(Float32RoundDown, Operator::kNoProperties, 1, 0, 1) \
209 V(Float64RoundDown, Operator::kNoProperties, 1, 0, 1) \ 209 V(Float64RoundDown, Operator::kNoProperties, 1, 0, 1) \
210 V(Float32RoundUp, Operator::kNoProperties, 1, 0, 1) \ 210 V(Float32RoundUp, Operator::kNoProperties, 1, 0, 1) \
211 V(Float64RoundUp, Operator::kNoProperties, 1, 0, 1) \ 211 V(Float64RoundUp, Operator::kNoProperties, 1, 0, 1) \
212 V(Float32RoundTruncate, Operator::kNoProperties, 1, 0, 1) \ 212 V(Float32RoundTruncate, Operator::kNoProperties, 1, 0, 1) \
213 V(Float64RoundTruncate, Operator::kNoProperties, 1, 0, 1) \ 213 V(Float64RoundTruncate, Operator::kNoProperties, 1, 0, 1) \
214 V(Float64RoundTiesAway, Operator::kNoProperties, 1, 0, 1) \ 214 V(Float64RoundTiesAway, Operator::kNoProperties, 1, 0, 1) \
215 V(Float32RoundTiesEven, Operator::kNoProperties, 1, 0, 1) \ 215 V(Float32RoundTiesEven, Operator::kNoProperties, 1, 0, 1) \
216 V(Float64RoundTiesEven, Operator::kNoProperties, 1, 0, 1) 216 V(Float64RoundTiesEven, Operator::kNoProperties, 1, 0, 1)
217 217
218
219 #define MACHINE_TYPE_LIST(V) \ 218 #define MACHINE_TYPE_LIST(V) \
220 V(Float32) \ 219 V(Float32) \
221 V(Float64) \ 220 V(Float64) \
221 V(Simd128) \
222 V(Int8) \ 222 V(Int8) \
223 V(Uint8) \ 223 V(Uint8) \
224 V(Int16) \ 224 V(Int16) \
225 V(Uint16) \ 225 V(Uint16) \
226 V(Int32) \ 226 V(Int32) \
227 V(Uint32) \ 227 V(Uint32) \
228 V(Int64) \ 228 V(Int64) \
229 V(Uint64) \ 229 V(Uint64) \
230 V(Pointer) \ 230 V(Pointer) \
231 V(AnyTagged) 231 V(AnyTagged)
232 232
233
234 #define MACHINE_REPRESENTATION_LIST(V) \ 233 #define MACHINE_REPRESENTATION_LIST(V) \
235 V(kFloat32) \ 234 V(kFloat32) \
236 V(kFloat64) \ 235 V(kFloat64) \
236 V(kSimd128) \
237 V(kWord8) \ 237 V(kWord8) \
238 V(kWord16) \ 238 V(kWord16) \
239 V(kWord32) \ 239 V(kWord32) \
240 V(kWord64) \ 240 V(kWord64) \
241 V(kTagged) 241 V(kTagged)
242 242
243
244 struct MachineOperatorGlobalCache { 243 struct MachineOperatorGlobalCache {
245 #define PURE(Name, properties, value_input_count, control_input_count, \ 244 #define PURE(Name, properties, value_input_count, control_input_count, \
246 output_count) \ 245 output_count) \
247 struct Name##Operator final : public Operator { \ 246 struct Name##Operator final : public Operator { \
248 Name##Operator() \ 247 Name##Operator() \
249 : Operator(IrOpcode::k##Name, Operator::kPure | properties, #Name, \ 248 : Operator(IrOpcode::k##Name, Operator::kPure | properties, #Name, \
250 value_input_count, 0, control_input_count, output_count, 0, \ 249 value_input_count, 0, control_input_count, output_count, 0, \
251 0) {} \ 250 0) {} \
252 }; \ 251 }; \
253 Name##Operator k##Name; 252 Name##Operator k##Name;
(...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after
461 case MachineRepresentation::kNone: 460 case MachineRepresentation::kNone:
462 break; 461 break;
463 } 462 }
464 UNREACHABLE(); 463 UNREACHABLE();
465 return nullptr; 464 return nullptr;
466 } 465 }
467 466
468 } // namespace compiler 467 } // namespace compiler
469 } // namespace internal 468 } // namespace internal
470 } // namespace v8 469 } // namespace v8
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698