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

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

Issue 2829483002: [wasm] Implement first set of SIMD I8x16 ops (Closed)
Patch Set: Created 3 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 | « no previous file | src/compiler/x64/code-generator-x64.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 #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 2264 matching lines...) Expand 10 before | Expand all | Expand 10 after
2275 2275
2276 void InstructionSelector::VisitI16x8LeS(Node* node) { UNIMPLEMENTED(); } 2276 void InstructionSelector::VisitI16x8LeS(Node* node) { UNIMPLEMENTED(); }
2277 2277
2278 void InstructionSelector::VisitI16x8UConvertI32x4(Node* node) { 2278 void InstructionSelector::VisitI16x8UConvertI32x4(Node* node) {
2279 UNIMPLEMENTED(); 2279 UNIMPLEMENTED();
2280 } 2280 }
2281 2281
2282 void InstructionSelector::VisitI16x8LtU(Node* node) { UNIMPLEMENTED(); } 2282 void InstructionSelector::VisitI16x8LtU(Node* node) { UNIMPLEMENTED(); }
2283 2283
2284 void InstructionSelector::VisitI16x8LeU(Node* node) { UNIMPLEMENTED(); } 2284 void InstructionSelector::VisitI16x8LeU(Node* node) { UNIMPLEMENTED(); }
2285 #endif // !V8_TARGET_ARCH_ARM
2285 2286
2287 #if !V8_TARGET_ARCH_X64 && !V8_TARGET_ARCH_ARM
2286 void InstructionSelector::VisitI8x16Splat(Node* node) { UNIMPLEMENTED(); } 2288 void InstructionSelector::VisitI8x16Splat(Node* node) { UNIMPLEMENTED(); }
2287 2289
2288 void InstructionSelector::VisitI8x16ExtractLane(Node* node) { UNIMPLEMENTED(); } 2290 void InstructionSelector::VisitI8x16ExtractLane(Node* node) { UNIMPLEMENTED(); }
2289 2291
2290 void InstructionSelector::VisitI8x16ReplaceLane(Node* node) { UNIMPLEMENTED(); } 2292 void InstructionSelector::VisitI8x16ReplaceLane(Node* node) { UNIMPLEMENTED(); }
2293 #endif // !V8_TARGET_ARCH_X64 && !V8_TARGET_ARCH_ARM
2291 2294
2295 #if !V8_TARGET_ARCH_ARM
2292 void InstructionSelector::VisitI8x16Neg(Node* node) { UNIMPLEMENTED(); } 2296 void InstructionSelector::VisitI8x16Neg(Node* node) { UNIMPLEMENTED(); }
2293 2297
2294 void InstructionSelector::VisitI8x16Shl(Node* node) { UNIMPLEMENTED(); } 2298 void InstructionSelector::VisitI8x16Shl(Node* node) { UNIMPLEMENTED(); }
2295 2299
2296 void InstructionSelector::VisitI8x16ShrS(Node* node) { UNIMPLEMENTED(); } 2300 void InstructionSelector::VisitI8x16ShrS(Node* node) { UNIMPLEMENTED(); }
2297 2301
2298 void InstructionSelector::VisitI8x16SConvertI16x8(Node* node) { 2302 void InstructionSelector::VisitI8x16SConvertI16x8(Node* node) {
2299 UNIMPLEMENTED(); 2303 UNIMPLEMENTED();
2300 } 2304 }
2305 #endif // !V8_TARGET_ARCH_ARM
2301 2306
2307 #if !V8_TARGET_ARCH_X64 && !V8_TARGET_ARCH_ARM
2302 void InstructionSelector::VisitI8x16Add(Node* node) { UNIMPLEMENTED(); } 2308 void InstructionSelector::VisitI8x16Add(Node* node) { UNIMPLEMENTED(); }
2303 2309
2304 void InstructionSelector::VisitI8x16AddSaturateS(Node* node) { 2310 void InstructionSelector::VisitI8x16AddSaturateS(Node* node) {
2305 UNIMPLEMENTED(); 2311 UNIMPLEMENTED();
2306 } 2312 }
2307 2313
2308 void InstructionSelector::VisitI8x16Sub(Node* node) { UNIMPLEMENTED(); } 2314 void InstructionSelector::VisitI8x16Sub(Node* node) { UNIMPLEMENTED(); }
2309 2315
2310 void InstructionSelector::VisitI8x16SubSaturateS(Node* node) { 2316 void InstructionSelector::VisitI8x16SubSaturateS(Node* node) {
2311 UNIMPLEMENTED(); 2317 UNIMPLEMENTED();
2312 } 2318 }
2313 2319
2314 void InstructionSelector::VisitI8x16Mul(Node* node) { UNIMPLEMENTED(); }
2315
2316 void InstructionSelector::VisitI8x16MinS(Node* node) { UNIMPLEMENTED(); } 2320 void InstructionSelector::VisitI8x16MinS(Node* node) { UNIMPLEMENTED(); }
2317 2321
2318 void InstructionSelector::VisitI8x16MaxS(Node* node) { UNIMPLEMENTED(); } 2322 void InstructionSelector::VisitI8x16MaxS(Node* node) { UNIMPLEMENTED(); }
2319 2323
2320 void InstructionSelector::VisitI8x16Eq(Node* node) { UNIMPLEMENTED(); } 2324 void InstructionSelector::VisitI8x16Eq(Node* node) { UNIMPLEMENTED(); }
2321 2325
2322 void InstructionSelector::VisitI8x16Ne(Node* node) { UNIMPLEMENTED(); } 2326 void InstructionSelector::VisitI8x16Ne(Node* node) { UNIMPLEMENTED(); }
2327 #endif // !V8_TARGET_ARCH_X64 && !V8_TARGET_ARCH_ARM
2328
2329 #if !V8_TARGET_ARCH_ARM
2330 void InstructionSelector::VisitI8x16Mul(Node* node) { UNIMPLEMENTED(); }
2323 2331
2324 void InstructionSelector::VisitI8x16LtS(Node* node) { UNIMPLEMENTED(); } 2332 void InstructionSelector::VisitI8x16LtS(Node* node) { UNIMPLEMENTED(); }
2325 2333
2326 void InstructionSelector::VisitI8x16LeS(Node* node) { UNIMPLEMENTED(); } 2334 void InstructionSelector::VisitI8x16LeS(Node* node) { UNIMPLEMENTED(); }
2327 2335
2328 void InstructionSelector::VisitI8x16ShrU(Node* node) { UNIMPLEMENTED(); } 2336 void InstructionSelector::VisitI8x16ShrU(Node* node) { UNIMPLEMENTED(); }
2329 2337
2330 void InstructionSelector::VisitI8x16UConvertI16x8(Node* node) { 2338 void InstructionSelector::VisitI8x16UConvertI16x8(Node* node) {
2331 UNIMPLEMENTED(); 2339 UNIMPLEMENTED();
2332 } 2340 }
2341 #endif // !V8_TARGET_ARCH_ARM
2333 2342
2343 #if !V8_TARGET_ARCH_X64 && !V8_TARGET_ARCH_ARM
2334 void InstructionSelector::VisitI8x16AddSaturateU(Node* node) { 2344 void InstructionSelector::VisitI8x16AddSaturateU(Node* node) {
2335 UNIMPLEMENTED(); 2345 UNIMPLEMENTED();
2336 } 2346 }
2337 2347
2338 void InstructionSelector::VisitI8x16SubSaturateU(Node* node) { 2348 void InstructionSelector::VisitI8x16SubSaturateU(Node* node) {
2339 UNIMPLEMENTED(); 2349 UNIMPLEMENTED();
2340 } 2350 }
2341 2351
2342 void InstructionSelector::VisitI8x16MinU(Node* node) { UNIMPLEMENTED(); } 2352 void InstructionSelector::VisitI8x16MinU(Node* node) { UNIMPLEMENTED(); }
2343 2353
2344 void InstructionSelector::VisitI8x16MaxU(Node* node) { UNIMPLEMENTED(); } 2354 void InstructionSelector::VisitI8x16MaxU(Node* node) { UNIMPLEMENTED(); }
2355 #endif // !V8_TARGET_ARCH_X64 && !V8_TARGET_ARCH_ARM
2345 2356
2357 #if !V8_TARGET_ARCH_ARM
2346 void InstructionSelector::VisitI8x16LtU(Node* node) { UNIMPLEMENTED(); } 2358 void InstructionSelector::VisitI8x16LtU(Node* node) { UNIMPLEMENTED(); }
2347 2359
2348 void InstructionSelector::VisitI8x16LeU(Node* node) { UNIMPLEMENTED(); } 2360 void InstructionSelector::VisitI8x16LeU(Node* node) { UNIMPLEMENTED(); }
2349 2361
2350 void InstructionSelector::VisitS128And(Node* node) { UNIMPLEMENTED(); } 2362 void InstructionSelector::VisitS128And(Node* node) { UNIMPLEMENTED(); }
2351 2363
2352 void InstructionSelector::VisitS128Or(Node* node) { UNIMPLEMENTED(); } 2364 void InstructionSelector::VisitS128Or(Node* node) { UNIMPLEMENTED(); }
2353 2365
2354 void InstructionSelector::VisitS128Xor(Node* node) { UNIMPLEMENTED(); } 2366 void InstructionSelector::VisitS128Xor(Node* node) { UNIMPLEMENTED(); }
2355 2367
(...skipping 13 matching lines...) Expand all
2369 // !V8_TARGET_ARCH_MIPS64 2381 // !V8_TARGET_ARCH_MIPS64
2370 2382
2371 #if !V8_TARGET_ARCH_X64 && !V8_TARGET_ARCH_ARM && !V8_TARGET_ARCH_MIPS && \ 2383 #if !V8_TARGET_ARCH_X64 && !V8_TARGET_ARCH_ARM && !V8_TARGET_ARCH_MIPS && \
2372 !V8_TARGET_ARCH_MIPS64 2384 !V8_TARGET_ARCH_MIPS64
2373 void InstructionSelector::VisitS32x4Select(Node* node) { UNIMPLEMENTED(); } 2385 void InstructionSelector::VisitS32x4Select(Node* node) { UNIMPLEMENTED(); }
2374 #endif // !V8_TARGET_ARCH_X64 && !V8_TARGET_ARCH_ARM && !V8_TARGET_ARCH_MIPS && 2386 #endif // !V8_TARGET_ARCH_X64 && !V8_TARGET_ARCH_ARM && !V8_TARGET_ARCH_MIPS &&
2375 // !V8_TARGET_ARCH_MIPS64 2387 // !V8_TARGET_ARCH_MIPS64
2376 2388
2377 #if !V8_TARGET_ARCH_X64 && !V8_TARGET_ARCH_ARM 2389 #if !V8_TARGET_ARCH_X64 && !V8_TARGET_ARCH_ARM
2378 void InstructionSelector::VisitS16x8Select(Node* node) { UNIMPLEMENTED(); } 2390 void InstructionSelector::VisitS16x8Select(Node* node) { UNIMPLEMENTED(); }
2391
2392 void InstructionSelector::VisitS8x16Select(Node* node) { UNIMPLEMENTED(); }
2379 #endif // !V8_TARGET_ARCH_X64 && !V8_TARGET_ARCH_ARM 2393 #endif // !V8_TARGET_ARCH_X64 && !V8_TARGET_ARCH_ARM
2380 2394
2381 #if !V8_TARGET_ARCH_ARM 2395 #if !V8_TARGET_ARCH_ARM
2382 void InstructionSelector::VisitS8x16Select(Node* node) { UNIMPLEMENTED(); }
2383
2384 void InstructionSelector::VisitS1x4And(Node* node) { UNIMPLEMENTED(); } 2396 void InstructionSelector::VisitS1x4And(Node* node) { UNIMPLEMENTED(); }
2385 2397
2386 void InstructionSelector::VisitS1x4Or(Node* node) { UNIMPLEMENTED(); } 2398 void InstructionSelector::VisitS1x4Or(Node* node) { UNIMPLEMENTED(); }
2387 2399
2388 void InstructionSelector::VisitS1x4Xor(Node* node) { UNIMPLEMENTED(); } 2400 void InstructionSelector::VisitS1x4Xor(Node* node) { UNIMPLEMENTED(); }
2389 2401
2390 void InstructionSelector::VisitS1x4Not(Node* node) { UNIMPLEMENTED(); } 2402 void InstructionSelector::VisitS1x4Not(Node* node) { UNIMPLEMENTED(); }
2391 2403
2392 void InstructionSelector::VisitS1x4AnyTrue(Node* node) { UNIMPLEMENTED(); } 2404 void InstructionSelector::VisitS1x4AnyTrue(Node* node) { UNIMPLEMENTED(); }
2393 2405
(...skipping 396 matching lines...) Expand 10 before | Expand all | Expand 10 after
2790 return new (instruction_zone()) FrameStateDescriptor( 2802 return new (instruction_zone()) FrameStateDescriptor(
2791 instruction_zone(), state_info.type(), state_info.bailout_id(), 2803 instruction_zone(), state_info.type(), state_info.bailout_id(),
2792 state_info.state_combine(), parameters, locals, stack, 2804 state_info.state_combine(), parameters, locals, stack,
2793 state_info.shared_info(), outer_state); 2805 state_info.shared_info(), outer_state);
2794 } 2806 }
2795 2807
2796 2808
2797 } // namespace compiler 2809 } // namespace compiler
2798 } // namespace internal 2810 } // namespace internal
2799 } // namespace v8 2811 } // namespace v8
OLDNEW
« no previous file with comments | « no previous file | src/compiler/x64/code-generator-x64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698