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

Side by Side Diff: src/compiler/instruction-selector.cc

Issue 2923103003: [WASM] Simplify SIMD shuffle opcodes. (Closed)
Patch Set: Mircea's review comments. Created 3 years, 6 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/instruction-selector-arm.cc ('k') | src/compiler/machine-operator.h » ('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 #include "src/compiler/instruction-selector.h" 5 #include "src/compiler/instruction-selector.h"
6 6
7 #include <limits> 7 #include <limits>
8 8
9 #include "src/assembler-inl.h" 9 #include "src/assembler-inl.h"
10 #include "src/base/adapters.h" 10 #include "src/base/adapters.h"
(...skipping 1693 matching lines...) Expand 10 before | Expand all | Expand 10 after
1704 case IrOpcode::kS128And: 1704 case IrOpcode::kS128And:
1705 return MarkAsSimd128(node), VisitS128And(node); 1705 return MarkAsSimd128(node), VisitS128And(node);
1706 case IrOpcode::kS128Or: 1706 case IrOpcode::kS128Or:
1707 return MarkAsSimd128(node), VisitS128Or(node); 1707 return MarkAsSimd128(node), VisitS128Or(node);
1708 case IrOpcode::kS128Xor: 1708 case IrOpcode::kS128Xor:
1709 return MarkAsSimd128(node), VisitS128Xor(node); 1709 return MarkAsSimd128(node), VisitS128Xor(node);
1710 case IrOpcode::kS128Not: 1710 case IrOpcode::kS128Not:
1711 return MarkAsSimd128(node), VisitS128Not(node); 1711 return MarkAsSimd128(node), VisitS128Not(node);
1712 case IrOpcode::kS128Select: 1712 case IrOpcode::kS128Select:
1713 return MarkAsSimd128(node), VisitS128Select(node); 1713 return MarkAsSimd128(node), VisitS128Select(node);
1714 case IrOpcode::kS32x4Shuffle:
1715 return MarkAsSimd128(node), VisitS32x4Shuffle(node);
1716 case IrOpcode::kS16x8Shuffle:
1717 return MarkAsSimd128(node), VisitS16x8Shuffle(node);
1718 case IrOpcode::kS8x16Shuffle: 1714 case IrOpcode::kS8x16Shuffle:
1719 return MarkAsSimd128(node), VisitS8x16Shuffle(node); 1715 return MarkAsSimd128(node), VisitS8x16Shuffle(node);
1720 case IrOpcode::kS1x4AnyTrue: 1716 case IrOpcode::kS1x4AnyTrue:
1721 return MarkAsWord32(node), VisitS1x4AnyTrue(node); 1717 return MarkAsWord32(node), VisitS1x4AnyTrue(node);
1722 case IrOpcode::kS1x4AllTrue: 1718 case IrOpcode::kS1x4AllTrue:
1723 return MarkAsWord32(node), VisitS1x4AllTrue(node); 1719 return MarkAsWord32(node), VisitS1x4AllTrue(node);
1724 case IrOpcode::kS1x8AnyTrue: 1720 case IrOpcode::kS1x8AnyTrue:
1725 return MarkAsWord32(node), VisitS1x8AnyTrue(node); 1721 return MarkAsWord32(node), VisitS1x8AnyTrue(node);
1726 case IrOpcode::kS1x8AllTrue: 1722 case IrOpcode::kS1x8AllTrue:
1727 return MarkAsWord32(node), VisitS1x8AllTrue(node); 1723 return MarkAsWord32(node), VisitS1x8AllTrue(node);
(...skipping 643 matching lines...) Expand 10 before | Expand all | Expand 10 after
2371 2367
2372 void InstructionSelector::VisitS128Xor(Node* node) { UNIMPLEMENTED(); } 2368 void InstructionSelector::VisitS128Xor(Node* node) { UNIMPLEMENTED(); }
2373 2369
2374 void InstructionSelector::VisitS128Not(Node* node) { UNIMPLEMENTED(); } 2370 void InstructionSelector::VisitS128Not(Node* node) { UNIMPLEMENTED(); }
2375 #endif // !V8_TARGET_ARCH_X64 && !V8_TARGET_ARCH_ARM && !V8_TARGET_ARCH_MIPS && 2371 #endif // !V8_TARGET_ARCH_X64 && !V8_TARGET_ARCH_ARM && !V8_TARGET_ARCH_MIPS &&
2376 // !V8_TARGET_ARCH_MIPS64 2372 // !V8_TARGET_ARCH_MIPS64
2377 2373
2378 #if !V8_TARGET_ARCH_X64 && !V8_TARGET_ARCH_ARM && !V8_TARGET_ARCH_MIPS && \ 2374 #if !V8_TARGET_ARCH_X64 && !V8_TARGET_ARCH_ARM && !V8_TARGET_ARCH_MIPS && \
2379 !V8_TARGET_ARCH_MIPS64 2375 !V8_TARGET_ARCH_MIPS64
2380 void InstructionSelector::VisitS128Zero(Node* node) { UNIMPLEMENTED(); } 2376 void InstructionSelector::VisitS128Zero(Node* node) { UNIMPLEMENTED(); }
2381 #endif // !V8_TARGET_ARCH_X64 && !V8_TARGET_ARCH_ARM && !V8_TARGET_ARCH_MIPS &&
2382 // !V8_TARGET_ARCH_MIPS64
2383 2377
2384 #if !V8_TARGET_ARCH_X64 && !V8_TARGET_ARCH_ARM && !V8_TARGET_ARCH_MIPS && \
2385 !V8_TARGET_ARCH_MIPS64
2386 void InstructionSelector::VisitS128Select(Node* node) { UNIMPLEMENTED(); } 2378 void InstructionSelector::VisitS128Select(Node* node) { UNIMPLEMENTED(); }
2387 #endif // !V8_TARGET_ARCH_X64 && !V8_TARGET_ARCH_ARM && !V8_TARGET_ARCH_MIPS && 2379 #endif // !V8_TARGET_ARCH_X64 && !V8_TARGET_ARCH_ARM && !V8_TARGET_ARCH_MIPS &&
2388 // !V8_TARGET_ARCH_MIPS64 2380 // !V8_TARGET_ARCH_MIPS64
2389 2381
2390 #if !V8_TARGET_ARCH_ARM 2382 #if !V8_TARGET_ARCH_ARM
2391 void InstructionSelector::VisitS32x4Shuffle(Node* node) { UNIMPLEMENTED(); }
2392
2393 void InstructionSelector::VisitS16x8Shuffle(Node* node) { UNIMPLEMENTED(); }
2394
2395 #endif // !V8_TARGET_ARCH_ARM
2396
2397 #if !V8_TARGET_ARCH_ARM
2398 void InstructionSelector::VisitS8x16Shuffle(Node* node) { UNIMPLEMENTED(); } 2383 void InstructionSelector::VisitS8x16Shuffle(Node* node) { UNIMPLEMENTED(); }
2399 #endif // !V8_TARGET_ARCH_ARM 2384 #endif // !V8_TARGET_ARCH_ARM
2400 2385
2401 #if !V8_TARGET_ARCH_ARM && !V8_TARGET_ARCH_MIPS && !V8_TARGET_ARCH_MIPS64 2386 #if !V8_TARGET_ARCH_ARM && !V8_TARGET_ARCH_MIPS && !V8_TARGET_ARCH_MIPS64
2402 void InstructionSelector::VisitS1x4AnyTrue(Node* node) { UNIMPLEMENTED(); } 2387 void InstructionSelector::VisitS1x4AnyTrue(Node* node) { UNIMPLEMENTED(); }
2403 2388
2404 void InstructionSelector::VisitS1x4AllTrue(Node* node) { UNIMPLEMENTED(); } 2389 void InstructionSelector::VisitS1x4AllTrue(Node* node) { UNIMPLEMENTED(); }
2405 2390
2406 void InstructionSelector::VisitS1x8AnyTrue(Node* node) { UNIMPLEMENTED(); } 2391 void InstructionSelector::VisitS1x8AnyTrue(Node* node) { UNIMPLEMENTED(); }
2407 2392
(...skipping 376 matching lines...) Expand 10 before | Expand all | Expand 10 after
2784 return new (instruction_zone()) FrameStateDescriptor( 2769 return new (instruction_zone()) FrameStateDescriptor(
2785 instruction_zone(), state_info.type(), state_info.bailout_id(), 2770 instruction_zone(), state_info.type(), state_info.bailout_id(),
2786 state_info.state_combine(), parameters, locals, stack, 2771 state_info.state_combine(), parameters, locals, stack,
2787 state_info.shared_info(), outer_state); 2772 state_info.shared_info(), outer_state);
2788 } 2773 }
2789 2774
2790 2775
2791 } // namespace compiler 2776 } // namespace compiler
2792 } // namespace internal 2777 } // namespace internal
2793 } // namespace v8 2778 } // namespace v8
OLDNEW
« no previous file with comments | « src/compiler/arm/instruction-selector-arm.cc ('k') | src/compiler/machine-operator.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698