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

Side by Side Diff: src/wasm/wasm-opcodes.h

Issue 2847663005: [WASM SIMD] Replace primitive shuffles with general Shuffle. (Closed)
Patch Set: Rebase. Created 3 years, 7 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/wasm/function-body-decoder-impl.h ('k') | src/wasm/wasm-opcodes.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 2015 the V8 project authors. All rights reserved. 1 // Copyright 2015 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_WASM_OPCODES_H_ 5 #ifndef V8_WASM_OPCODES_H_
6 #define V8_WASM_OPCODES_H_ 6 #define V8_WASM_OPCODES_H_
7 7
8 #include "src/globals.h" 8 #include "src/globals.h"
9 #include "src/machine-type.h" 9 #include "src/machine-type.h"
10 #include "src/runtime/runtime.h" 10 #include "src/runtime/runtime.h"
(...skipping 369 matching lines...) Expand 10 before | Expand all | Expand 10 after
380 V(I8x16LtU, 0xe572, s1x16_ss) \ 380 V(I8x16LtU, 0xe572, s1x16_ss) \
381 V(I8x16LeU, 0xe573, s1x16_ss) \ 381 V(I8x16LeU, 0xe573, s1x16_ss) \
382 V(I8x16GtU, 0xe574, s1x16_ss) \ 382 V(I8x16GtU, 0xe574, s1x16_ss) \
383 V(I8x16GeU, 0xe575, s1x16_ss) \ 383 V(I8x16GeU, 0xe575, s1x16_ss) \
384 V(I8x16SConvertI16x8, 0xe59e, s_ss) \ 384 V(I8x16SConvertI16x8, 0xe59e, s_ss) \
385 V(I8x16UConvertI16x8, 0xe59f, s_ss) \ 385 V(I8x16UConvertI16x8, 0xe59f, s_ss) \
386 V(S128And, 0xe576, s_ss) \ 386 V(S128And, 0xe576, s_ss) \
387 V(S128Or, 0xe577, s_ss) \ 387 V(S128Or, 0xe577, s_ss) \
388 V(S128Xor, 0xe578, s_ss) \ 388 V(S128Xor, 0xe578, s_ss) \
389 V(S128Not, 0xe579, s_s) \ 389 V(S128Not, 0xe579, s_s) \
390 V(S32x4ZipLeft, 0xe5a0, s_ss) \
391 V(S32x4ZipRight, 0xe5a1, s_ss) \
392 V(S32x4UnzipLeft, 0xe5a2, s_ss) \
393 V(S32x4UnzipRight, 0xe5a3, s_ss) \
394 V(S32x4TransposeLeft, 0xe5a4, s_ss) \
395 V(S32x4TransposeRight, 0xe5a5, s_ss) \
396 V(S32x4Select, 0xe52c, s_s1x4ss) \ 390 V(S32x4Select, 0xe52c, s_s1x4ss) \
397 V(S16x8ZipLeft, 0xe5a6, s_ss) \
398 V(S16x8ZipRight, 0xe5a7, s_ss) \
399 V(S16x8UnzipLeft, 0xe5a8, s_ss) \
400 V(S16x8UnzipRight, 0xe5a9, s_ss) \
401 V(S16x8TransposeLeft, 0xe5aa, s_ss) \
402 V(S16x8TransposeRight, 0xe5ab, s_ss) \
403 V(S16x8Select, 0xe54b, s_s1x8ss) \ 391 V(S16x8Select, 0xe54b, s_s1x8ss) \
404 V(S8x16ZipLeft, 0xe5ac, s_ss) \
405 V(S8x16ZipRight, 0xe5ad, s_ss) \
406 V(S8x16UnzipLeft, 0xe5ae, s_ss) \
407 V(S8x16UnzipRight, 0xe5af, s_ss) \
408 V(S8x16TransposeLeft, 0xe5b0, s_ss) \
409 V(S8x16TransposeRight, 0xe5b1, s_ss) \
410 V(S8x16Select, 0xe56a, s_s1x16ss) \ 392 V(S8x16Select, 0xe56a, s_s1x16ss) \
411 V(S32x2Reverse, 0xe5b2, s_s) \
412 V(S16x4Reverse, 0xe5b3, s_s) \
413 V(S16x2Reverse, 0xe5b4, s_s) \
414 V(S8x8Reverse, 0xe5b5, s_s) \
415 V(S8x4Reverse, 0xe5b6, s_s) \
416 V(S8x2Reverse, 0xe5b7, s_s) \
417 V(S1x4And, 0xe580, s1x4_s1x4s1x4) \ 393 V(S1x4And, 0xe580, s1x4_s1x4s1x4) \
418 V(S1x4Or, 0xe581, s1x4_s1x4s1x4) \ 394 V(S1x4Or, 0xe581, s1x4_s1x4s1x4) \
419 V(S1x4Xor, 0xe582, s1x4_s1x4s1x4) \ 395 V(S1x4Xor, 0xe582, s1x4_s1x4s1x4) \
420 V(S1x4Not, 0xe583, s1x4_s1x4) \ 396 V(S1x4Not, 0xe583, s1x4_s1x4) \
421 V(S1x4AnyTrue, 0xe584, i_s1x4) \ 397 V(S1x4AnyTrue, 0xe584, i_s1x4) \
422 V(S1x4AllTrue, 0xe585, i_s1x4) \ 398 V(S1x4AllTrue, 0xe585, i_s1x4) \
423 V(S1x8And, 0xe586, s1x8_s1x8s1x8) \ 399 V(S1x8And, 0xe586, s1x8_s1x8s1x8) \
424 V(S1x8Or, 0xe587, s1x8_s1x8s1x8) \ 400 V(S1x8Or, 0xe587, s1x8_s1x8s1x8) \
425 V(S1x8Xor, 0xe588, s1x8_s1x8s1x8) \ 401 V(S1x8Xor, 0xe588, s1x8_s1x8s1x8) \
426 V(S1x8Not, 0xe589, s1x8_s1x8) \ 402 V(S1x8Not, 0xe589, s1x8_s1x8) \
(...skipping 16 matching lines...) Expand all
443 V(I32x4ShrU, 0xe532, _) \ 419 V(I32x4ShrU, 0xe532, _) \
444 V(I16x8ExtractLane, 0xe539, _) \ 420 V(I16x8ExtractLane, 0xe539, _) \
445 V(I16x8ReplaceLane, 0xe53a, _) \ 421 V(I16x8ReplaceLane, 0xe53a, _) \
446 V(I16x8Shl, 0xe543, _) \ 422 V(I16x8Shl, 0xe543, _) \
447 V(I16x8ShrS, 0xe544, _) \ 423 V(I16x8ShrS, 0xe544, _) \
448 V(I16x8ShrU, 0xe552, _) \ 424 V(I16x8ShrU, 0xe552, _) \
449 V(I8x16ExtractLane, 0xe558, _) \ 425 V(I8x16ExtractLane, 0xe558, _) \
450 V(I8x16ReplaceLane, 0xe559, _) \ 426 V(I8x16ReplaceLane, 0xe559, _) \
451 V(I8x16Shl, 0xe562, _) \ 427 V(I8x16Shl, 0xe562, _) \
452 V(I8x16ShrS, 0xe563, _) \ 428 V(I8x16ShrS, 0xe563, _) \
453 V(I8x16ShrU, 0xe571, _) \ 429 V(I8x16ShrU, 0xe571, _)
454 V(S8x16Concat, 0xe5b8, _) 430
431 #define FOREACH_SIMD_MASK_OPERAND_OPCODE(V) \
432 V(S32x4Shuffle, 0xe52d, s_ss) \
433 V(S16x8Shuffle, 0xe54c, s_ss) \
434 V(S8x16Shuffle, 0xe56b, s_ss)
455 435
456 #define FOREACH_ATOMIC_OPCODE(V) \ 436 #define FOREACH_ATOMIC_OPCODE(V) \
457 V(I32AtomicAdd8S, 0xe601, i_ii) \ 437 V(I32AtomicAdd8S, 0xe601, i_ii) \
458 V(I32AtomicAdd8U, 0xe602, i_ii) \ 438 V(I32AtomicAdd8U, 0xe602, i_ii) \
459 V(I32AtomicAdd16S, 0xe603, i_ii) \ 439 V(I32AtomicAdd16S, 0xe603, i_ii) \
460 V(I32AtomicAdd16U, 0xe604, i_ii) \ 440 V(I32AtomicAdd16U, 0xe604, i_ii) \
461 V(I32AtomicAdd, 0xe605, i_ii) \ 441 V(I32AtomicAdd, 0xe605, i_ii) \
462 V(I32AtomicAnd8S, 0xe606, i_ii) \ 442 V(I32AtomicAnd8S, 0xe606, i_ii) \
463 V(I32AtomicAnd8U, 0xe607, i_ii) \ 443 V(I32AtomicAnd8U, 0xe607, i_ii) \
464 V(I32AtomicAnd16S, 0xe608, i_ii) \ 444 V(I32AtomicAnd16S, 0xe608, i_ii) \
(...skipping 19 matching lines...) Expand all
484 V(I32AtomicSub16S, 0xe61c, i_ii) \ 464 V(I32AtomicSub16S, 0xe61c, i_ii) \
485 V(I32AtomicSub16U, 0xe61d, i_ii) \ 465 V(I32AtomicSub16U, 0xe61d, i_ii) \
486 V(I32AtomicSub, 0xe61e, i_ii) \ 466 V(I32AtomicSub, 0xe61e, i_ii) \
487 V(I32AtomicXor8S, 0xe61f, i_ii) \ 467 V(I32AtomicXor8S, 0xe61f, i_ii) \
488 V(I32AtomicXor8U, 0xe620, i_ii) \ 468 V(I32AtomicXor8U, 0xe620, i_ii) \
489 V(I32AtomicXor16S, 0xe621, i_ii) \ 469 V(I32AtomicXor16S, 0xe621, i_ii) \
490 V(I32AtomicXor16U, 0xe622, i_ii) \ 470 V(I32AtomicXor16U, 0xe622, i_ii) \
491 V(I32AtomicXor, 0xe623, i_ii) 471 V(I32AtomicXor, 0xe623, i_ii)
492 472
493 // All opcodes. 473 // All opcodes.
494 #define FOREACH_OPCODE(V) \ 474 #define FOREACH_OPCODE(V) \
495 FOREACH_CONTROL_OPCODE(V) \ 475 FOREACH_CONTROL_OPCODE(V) \
496 FOREACH_MISC_OPCODE(V) \ 476 FOREACH_MISC_OPCODE(V) \
497 FOREACH_SIMPLE_OPCODE(V) \ 477 FOREACH_SIMPLE_OPCODE(V) \
498 FOREACH_STORE_MEM_OPCODE(V) \ 478 FOREACH_STORE_MEM_OPCODE(V) \
499 FOREACH_LOAD_MEM_OPCODE(V) \ 479 FOREACH_LOAD_MEM_OPCODE(V) \
500 FOREACH_MISC_MEM_OPCODE(V) \ 480 FOREACH_MISC_MEM_OPCODE(V) \
501 FOREACH_ASMJS_COMPAT_OPCODE(V) \ 481 FOREACH_ASMJS_COMPAT_OPCODE(V) \
502 FOREACH_SIMD_0_OPERAND_OPCODE(V) \ 482 FOREACH_SIMD_0_OPERAND_OPCODE(V) \
503 FOREACH_SIMD_1_OPERAND_OPCODE(V) \ 483 FOREACH_SIMD_1_OPERAND_OPCODE(V) \
484 FOREACH_SIMD_MASK_OPERAND_OPCODE(V) \
504 FOREACH_ATOMIC_OPCODE(V) 485 FOREACH_ATOMIC_OPCODE(V)
505 486
506 // All signatures. 487 // All signatures.
507 #define FOREACH_SIGNATURE(V) \ 488 #define FOREACH_SIGNATURE(V) \
508 FOREACH_SIMD_SIGNATURE(V) \ 489 FOREACH_SIMD_SIGNATURE(V) \
509 V(i_ii, kWasmI32, kWasmI32, kWasmI32) \ 490 V(i_ii, kWasmI32, kWasmI32, kWasmI32) \
510 V(i_i, kWasmI32, kWasmI32) \ 491 V(i_i, kWasmI32, kWasmI32) \
511 V(i_v, kWasmI32) \ 492 V(i_v, kWasmI32) \
512 V(i_ff, kWasmI32, kWasmF32, kWasmF32) \ 493 V(i_ff, kWasmI32, kWasmF32, kWasmF32) \
513 V(i_f, kWasmI32, kWasmF32) \ 494 V(i_f, kWasmI32, kWasmF32) \
(...skipping 224 matching lines...) Expand 10 before | Expand all | Expand 10 after
738 default: 719 default:
739 return "<unknown>"; 720 return "<unknown>";
740 } 721 }
741 } 722 }
742 }; 723 };
743 } // namespace wasm 724 } // namespace wasm
744 } // namespace internal 725 } // namespace internal
745 } // namespace v8 726 } // namespace v8
746 727
747 #endif // V8_WASM_OPCODES_H_ 728 #endif // V8_WASM_OPCODES_H_
OLDNEW
« no previous file with comments | « src/wasm/function-body-decoder-impl.h ('k') | src/wasm/wasm-opcodes.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698