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

Side by Side Diff: src/compiler/opcodes.h

Issue 1850383002: Reland of Turbofan: Add MachineOperators for SIMD. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 4 years, 8 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/machine-operator.cc ('k') | src/compiler/typer.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 2013 the V8 project authors. All rights reserved. 1 // Copyright 2013 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_OPCODES_H_ 5 #ifndef V8_COMPILER_OPCODES_H_
6 #define V8_COMPILER_OPCODES_H_ 6 #define V8_COMPILER_OPCODES_H_
7 7
8 #include <iosfwd> 8 #include <iosfwd>
9 9
10 // Opcodes for control operators. 10 // Opcodes for control operators.
(...skipping 332 matching lines...) Expand 10 before | Expand all | Expand 10 after
343 V(LoadParentFramePointer) \ 343 V(LoadParentFramePointer) \
344 V(CheckedLoad) \ 344 V(CheckedLoad) \
345 V(CheckedStore) \ 345 V(CheckedStore) \
346 V(Int32PairAdd) \ 346 V(Int32PairAdd) \
347 V(Int32PairSub) \ 347 V(Int32PairSub) \
348 V(Int32PairMul) \ 348 V(Int32PairMul) \
349 V(Word32PairShl) \ 349 V(Word32PairShl) \
350 V(Word32PairShr) \ 350 V(Word32PairShr) \
351 V(Word32PairSar) 351 V(Word32PairSar)
352 352
353 #define VALUE_OP_LIST(V) \ 353 #define MACHINE_SIMD_RETURN_SIMD_OP_LIST(V) \
354 COMMON_OP_LIST(V) \ 354 V(CreateFloat32x4) \
355 SIMPLIFIED_OP_LIST(V) \ 355 V(Float32x4ReplaceLane) \
356 MACHINE_OP_LIST(V) \ 356 V(Float32x4Abs) \
357 V(Float32x4Neg) \
358 V(Float32x4Sqrt) \
359 V(Float32x4RecipApprox) \
360 V(Float32x4RecipSqrtApprox) \
361 V(Float32x4Add) \
362 V(Float32x4Sub) \
363 V(Float32x4Mul) \
364 V(Float32x4Div) \
365 V(Float32x4Min) \
366 V(Float32x4Max) \
367 V(Float32x4MinNum) \
368 V(Float32x4MaxNum) \
369 V(Float32x4Equal) \
370 V(Float32x4NotEqual) \
371 V(Float32x4LessThan) \
372 V(Float32x4LessThanOrEqual) \
373 V(Float32x4GreaterThan) \
374 V(Float32x4GreaterThanOrEqual) \
375 V(Float32x4Select) \
376 V(Float32x4Swizzle) \
377 V(Float32x4Shuffle) \
378 V(Float32x4FromInt32x4) \
379 V(Float32x4FromUint32x4) \
380 V(Float32x4Load1) \
381 V(Float32x4Load2) \
382 V(Float32x4Load3) \
383 V(Float32x4Store1) \
384 V(Float32x4Store2) \
385 V(Float32x4Store3) \
386 V(CreateInt32x4) \
387 V(Int32x4ReplaceLane) \
388 V(Int32x4Neg) \
389 V(Int32x4Add) \
390 V(Int32x4Sub) \
391 V(Int32x4Mul) \
392 V(Int32x4Min) \
393 V(Int32x4Max) \
394 V(Int32x4And) \
395 V(Int32x4Or) \
396 V(Int32x4Xor) \
397 V(Int32x4Not) \
398 V(Int32x4ShiftLeftByScalar) \
399 V(Int32x4ShiftRightByScalar) \
400 V(Int32x4Equal) \
401 V(Int32x4NotEqual) \
402 V(Int32x4LessThan) \
403 V(Int32x4LessThanOrEqual) \
404 V(Int32x4GreaterThan) \
405 V(Int32x4GreaterThanOrEqual) \
406 V(Int32x4Select) \
407 V(Int32x4Swizzle) \
408 V(Int32x4Shuffle) \
409 V(Int32x4FromFloat32x4) \
410 V(Int32x4Load1) \
411 V(Int32x4Load2) \
412 V(Int32x4Load3) \
413 V(Int32x4Store1) \
414 V(Int32x4Store2) \
415 V(Int32x4Store3) \
416 V(Uint32x4Min) \
417 V(Uint32x4Max) \
418 V(Uint32x4ShiftLeftByScalar) \
419 V(Uint32x4ShiftRightByScalar) \
420 V(Uint32x4LessThan) \
421 V(Uint32x4LessThanOrEqual) \
422 V(Uint32x4GreaterThan) \
423 V(Uint32x4GreaterThanOrEqual) \
424 V(Uint32x4FromFloat32x4) \
425 V(CreateBool32x4) \
426 V(Bool32x4ReplaceLane) \
427 V(Bool32x4And) \
428 V(Bool32x4Or) \
429 V(Bool32x4Xor) \
430 V(Bool32x4Not) \
431 V(Bool32x4Swizzle) \
432 V(Bool32x4Shuffle) \
433 V(Bool32x4Equal) \
434 V(Bool32x4NotEqual) \
435 V(CreateInt16x8) \
436 V(Int16x8ReplaceLane) \
437 V(Int16x8Neg) \
438 V(Int16x8Add) \
439 V(Int16x8AddSaturate) \
440 V(Int16x8Sub) \
441 V(Int16x8SubSaturate) \
442 V(Int16x8Mul) \
443 V(Int16x8Min) \
444 V(Int16x8Max) \
445 V(Int16x8And) \
446 V(Int16x8Or) \
447 V(Int16x8Xor) \
448 V(Int16x8Not) \
449 V(Int16x8ShiftLeftByScalar) \
450 V(Int16x8ShiftRightByScalar) \
451 V(Int16x8Equal) \
452 V(Int16x8NotEqual) \
453 V(Int16x8LessThan) \
454 V(Int16x8LessThanOrEqual) \
455 V(Int16x8GreaterThan) \
456 V(Int16x8GreaterThanOrEqual) \
457 V(Int16x8Select) \
458 V(Int16x8Swizzle) \
459 V(Int16x8Shuffle) \
460 V(Uint16x8AddSaturate) \
461 V(Uint16x8SubSaturate) \
462 V(Uint16x8Min) \
463 V(Uint16x8Max) \
464 V(Uint16x8ShiftLeftByScalar) \
465 V(Uint16x8ShiftRightByScalar) \
466 V(Uint16x8LessThan) \
467 V(Uint16x8LessThanOrEqual) \
468 V(Uint16x8GreaterThan) \
469 V(Uint16x8GreaterThanOrEqual) \
470 V(CreateBool16x8) \
471 V(Bool16x8ReplaceLane) \
472 V(Bool16x8And) \
473 V(Bool16x8Or) \
474 V(Bool16x8Xor) \
475 V(Bool16x8Not) \
476 V(Bool16x8Swizzle) \
477 V(Bool16x8Shuffle) \
478 V(Bool16x8Equal) \
479 V(Bool16x8NotEqual) \
480 V(CreateInt8x16) \
481 V(Int8x16ReplaceLane) \
482 V(Int8x16Neg) \
483 V(Int8x16Add) \
484 V(Int8x16AddSaturate) \
485 V(Int8x16Sub) \
486 V(Int8x16SubSaturate) \
487 V(Int8x16Mul) \
488 V(Int8x16Min) \
489 V(Int8x16Max) \
490 V(Int8x16And) \
491 V(Int8x16Or) \
492 V(Int8x16Xor) \
493 V(Int8x16Not) \
494 V(Int8x16ShiftLeftByScalar) \
495 V(Int8x16ShiftRightByScalar) \
496 V(Int8x16Equal) \
497 V(Int8x16NotEqual) \
498 V(Int8x16LessThan) \
499 V(Int8x16LessThanOrEqual) \
500 V(Int8x16GreaterThan) \
501 V(Int8x16GreaterThanOrEqual) \
502 V(Int8x16Select) \
503 V(Int8x16Swizzle) \
504 V(Int8x16Shuffle) \
505 V(Uint8x16AddSaturate) \
506 V(Uint8x16SubSaturate) \
507 V(Uint8x16Min) \
508 V(Uint8x16Max) \
509 V(Uint8x16ShiftLeftByScalar) \
510 V(Uint8x16ShiftRightByScalar) \
511 V(Uint8x16LessThan) \
512 V(Uint8x16LessThanOrEqual) \
513 V(Uint8x16GreaterThan) \
514 V(Uint8x16GreaterThanOrEqual) \
515 V(CreateBool8x16) \
516 V(Bool8x16ReplaceLane) \
517 V(Bool8x16And) \
518 V(Bool8x16Or) \
519 V(Bool8x16Xor) \
520 V(Bool8x16Not) \
521 V(Bool8x16Swizzle) \
522 V(Bool8x16Shuffle) \
523 V(Bool8x16Equal) \
524 V(Bool8x16NotEqual)
525
526 #define MACHINE_SIMD_RETURN_NUM_OP_LIST(V) \
527 V(Float32x4ExtractLane) \
528 V(Int32x4ExtractLane) \
529 V(Int16x8ExtractLane) \
530 V(Int8x16ExtractLane)
531
532 #define MACHINE_SIMD_RETURN_BOOL_OP_LIST(V) \
533 V(Bool32x4ExtractLane) \
534 V(Bool32x4AnyTrue) \
535 V(Bool32x4AllTrue) \
536 V(Bool16x8ExtractLane) \
537 V(Bool16x8AnyTrue) \
538 V(Bool16x8AllTrue) \
539 V(Bool8x16ExtractLane) \
540 V(Bool8x16AnyTrue) \
541 V(Bool8x16AllTrue)
542
543 #define MACHINE_SIMD_OP_LIST(V) \
544 MACHINE_SIMD_RETURN_SIMD_OP_LIST(V) \
545 MACHINE_SIMD_RETURN_NUM_OP_LIST(V) \
546 MACHINE_SIMD_RETURN_BOOL_OP_LIST(V)
547
548 #define VALUE_OP_LIST(V) \
549 COMMON_OP_LIST(V) \
550 SIMPLIFIED_OP_LIST(V) \
551 MACHINE_OP_LIST(V) \
552 MACHINE_SIMD_OP_LIST(V) \
357 JS_OP_LIST(V) 553 JS_OP_LIST(V)
358 554
359 // The combination of all operators at all levels and the common operators. 555 // The combination of all operators at all levels and the common operators.
360 #define ALL_OP_LIST(V) \ 556 #define ALL_OP_LIST(V) \
361 CONTROL_OP_LIST(V) \ 557 CONTROL_OP_LIST(V) \
362 VALUE_OP_LIST(V) 558 VALUE_OP_LIST(V)
363 559
364 namespace v8 { 560 namespace v8 {
365 namespace internal { 561 namespace internal {
366 namespace compiler { 562 namespace compiler {
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
427 } 623 }
428 }; 624 };
429 625
430 std::ostream& operator<<(std::ostream&, IrOpcode::Value); 626 std::ostream& operator<<(std::ostream&, IrOpcode::Value);
431 627
432 } // namespace compiler 628 } // namespace compiler
433 } // namespace internal 629 } // namespace internal
434 } // namespace v8 630 } // namespace v8
435 631
436 #endif // V8_COMPILER_OPCODES_H_ 632 #endif // V8_COMPILER_OPCODES_H_
OLDNEW
« no previous file with comments | « src/compiler/machine-operator.cc ('k') | src/compiler/typer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698