OLD | NEW |
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 363 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
374 V(S128Xor, 0xe578, s_ss) \ | 374 V(S128Xor, 0xe578, s_ss) \ |
375 V(S128Not, 0xe579, s_s) \ | 375 V(S128Not, 0xe579, s_s) \ |
376 V(S32x4Select, 0xe52c, s_s1x4ss) \ | 376 V(S32x4Select, 0xe52c, s_s1x4ss) \ |
377 V(S32x4Swizzle, 0xe52d, s_s) \ | 377 V(S32x4Swizzle, 0xe52d, s_s) \ |
378 V(S32x4Shuffle, 0xe52e, s_ss) \ | 378 V(S32x4Shuffle, 0xe52e, s_ss) \ |
379 V(S16x8Select, 0xe54b, s_s1x8ss) \ | 379 V(S16x8Select, 0xe54b, s_s1x8ss) \ |
380 V(S16x8Swizzle, 0xe54c, s_s) \ | 380 V(S16x8Swizzle, 0xe54c, s_s) \ |
381 V(S16x8Shuffle, 0xe54d, s_ss) \ | 381 V(S16x8Shuffle, 0xe54d, s_ss) \ |
382 V(S8x16Select, 0xe56a, s_s1x16ss) \ | 382 V(S8x16Select, 0xe56a, s_s1x16ss) \ |
383 V(S8x16Swizzle, 0xe56b, s_s) \ | 383 V(S8x16Swizzle, 0xe56b, s_s) \ |
384 V(S8x16Shuffle, 0xe56c, s_ss) | 384 V(S8x16Shuffle, 0xe56c, s_ss) \ |
| 385 V(S1x4And, 0xe580, s1x4_s1x4s1x4) \ |
| 386 V(S1x4Or, 0xe581, s1x4_s1x4s1x4) \ |
| 387 V(S1x4Xor, 0xe582, s1x4_s1x4s1x4) \ |
| 388 V(S1x4Not, 0xe583, s1x4_s1x4) \ |
| 389 V(S1x4AnyTrue, 0xe584, i_s1x4) \ |
| 390 V(S1x4AllTrue, 0xe585, i_s1x4) \ |
| 391 V(S1x8And, 0xe586, s1x8_s1x8s1x8) \ |
| 392 V(S1x8Or, 0xe587, s1x8_s1x8s1x8) \ |
| 393 V(S1x8Xor, 0xe588, s1x8_s1x8s1x8) \ |
| 394 V(S1x8Not, 0xe589, s1x8_s1x8) \ |
| 395 V(S1x8AnyTrue, 0xe58a, i_s1x8) \ |
| 396 V(S1x8AllTrue, 0xe58b, i_s1x8) \ |
| 397 V(S1x16And, 0xe58c, s1x16_s1x16s1x16) \ |
| 398 V(S1x16Or, 0xe58d, s1x16_s1x16s1x16) \ |
| 399 V(S1x16Xor, 0xe58e, s1x16_s1x16s1x16) \ |
| 400 V(S1x16Not, 0xe58f, s1x16_s1x16) \ |
| 401 V(S1x16AnyTrue, 0xe590, i_s1x16) \ |
| 402 V(S1x16AllTrue, 0xe591, i_s1x16) |
385 | 403 |
386 #define FOREACH_SIMD_1_OPERAND_OPCODE(V) \ | 404 #define FOREACH_SIMD_1_OPERAND_OPCODE(V) \ |
387 V(F32x4ExtractLane, 0xe501, _) \ | 405 V(F32x4ExtractLane, 0xe501, _) \ |
388 V(F32x4ReplaceLane, 0xe502, _) \ | 406 V(F32x4ReplaceLane, 0xe502, _) \ |
389 V(I32x4ExtractLane, 0xe51c, _) \ | 407 V(I32x4ExtractLane, 0xe51c, _) \ |
390 V(I32x4ReplaceLane, 0xe51d, _) \ | 408 V(I32x4ReplaceLane, 0xe51d, _) \ |
391 V(I32x4Shl, 0xe524, _) \ | 409 V(I32x4Shl, 0xe524, _) \ |
392 V(I32x4ShrS, 0xe525, _) \ | 410 V(I32x4ShrS, 0xe525, _) \ |
393 V(I32x4ShrU, 0xe532, _) \ | 411 V(I32x4ShrU, 0xe532, _) \ |
394 V(I16x8ExtractLane, 0xe539, _) \ | 412 V(I16x8ExtractLane, 0xe539, _) \ |
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
476 V(f_l, kWasmF32, kWasmI64) \ | 494 V(f_l, kWasmF32, kWasmI64) \ |
477 V(d_dd, kWasmF64, kWasmF64, kWasmF64) \ | 495 V(d_dd, kWasmF64, kWasmF64, kWasmF64) \ |
478 V(d_d, kWasmF64, kWasmF64) \ | 496 V(d_d, kWasmF64, kWasmF64) \ |
479 V(d_f, kWasmF64, kWasmF32) \ | 497 V(d_f, kWasmF64, kWasmF32) \ |
480 V(d_i, kWasmF64, kWasmI32) \ | 498 V(d_i, kWasmF64, kWasmI32) \ |
481 V(d_l, kWasmF64, kWasmI64) \ | 499 V(d_l, kWasmF64, kWasmI64) \ |
482 V(d_id, kWasmF64, kWasmI32, kWasmF64) \ | 500 V(d_id, kWasmF64, kWasmI32, kWasmF64) \ |
483 V(f_if, kWasmF32, kWasmI32, kWasmF32) \ | 501 V(f_if, kWasmF32, kWasmI32, kWasmF32) \ |
484 V(l_il, kWasmI64, kWasmI32, kWasmI64) | 502 V(l_il, kWasmI64, kWasmI32, kWasmI64) |
485 | 503 |
486 #define FOREACH_SIMD_SIGNATURE(V) \ | 504 #define FOREACH_SIMD_SIGNATURE(V) \ |
487 V(s_s, kWasmS128, kWasmS128) \ | 505 V(s_s, kWasmS128, kWasmS128) \ |
488 V(s_f, kWasmS128, kWasmF32) \ | 506 V(s_f, kWasmS128, kWasmF32) \ |
489 V(s_ss, kWasmS128, kWasmS128, kWasmS128) \ | 507 V(s_ss, kWasmS128, kWasmS128, kWasmS128) \ |
490 V(s1x4_ss, kWasmS1x4, kWasmS128, kWasmS128) \ | 508 V(s1x4_ss, kWasmS1x4, kWasmS128, kWasmS128) \ |
491 V(s1x8_ss, kWasmS1x8, kWasmS128, kWasmS128) \ | 509 V(s1x8_ss, kWasmS1x8, kWasmS128, kWasmS128) \ |
492 V(s1x16_ss, kWasmS1x16, kWasmS128, kWasmS128) \ | 510 V(s1x16_ss, kWasmS1x16, kWasmS128, kWasmS128) \ |
493 V(s_i, kWasmS128, kWasmI32) \ | 511 V(s_i, kWasmS128, kWasmI32) \ |
494 V(s_si, kWasmS128, kWasmS128, kWasmI32) \ | 512 V(s_si, kWasmS128, kWasmS128, kWasmI32) \ |
495 V(i_s, kWasmI32, kWasmS128) \ | 513 V(i_s, kWasmI32, kWasmS128) \ |
496 V(s_s1x4ss, kWasmS128, kWasmS1x4, kWasmS128, kWasmS128) \ | 514 V(i_s1x4, kWasmI32, kWasmS1x4) \ |
497 V(s_s1x8ss, kWasmS128, kWasmS1x8, kWasmS128, kWasmS128) \ | 515 V(i_s1x8, kWasmI32, kWasmS1x8) \ |
498 V(s_s1x16ss, kWasmS128, kWasmS1x16, kWasmS128, kWasmS128) | 516 V(i_s1x16, kWasmI32, kWasmS1x16) \ |
| 517 V(s_s1x4ss, kWasmS128, kWasmS1x4, kWasmS128, kWasmS128) \ |
| 518 V(s_s1x8ss, kWasmS128, kWasmS1x8, kWasmS128, kWasmS128) \ |
| 519 V(s_s1x16ss, kWasmS128, kWasmS1x16, kWasmS128, kWasmS128) \ |
| 520 V(s1x4_s1x4, kWasmS1x4, kWasmS1x4) \ |
| 521 V(s1x4_s1x4s1x4, kWasmS1x4, kWasmS1x4, kWasmS1x4) \ |
| 522 V(s1x8_s1x8, kWasmS1x8, kWasmS1x8) \ |
| 523 V(s1x8_s1x8s1x8, kWasmS1x8, kWasmS1x8, kWasmS1x8) \ |
| 524 V(s1x16_s1x16, kWasmS1x16, kWasmS1x16) \ |
| 525 V(s1x16_s1x16s1x16, kWasmS1x16, kWasmS1x16, kWasmS1x16) |
499 | 526 |
500 #define FOREACH_PREFIX(V) \ | 527 #define FOREACH_PREFIX(V) \ |
501 V(Simd, 0xe5) \ | 528 V(Simd, 0xe5) \ |
502 V(Atomic, 0xe6) | 529 V(Atomic, 0xe6) |
503 | 530 |
504 enum WasmOpcode { | 531 enum WasmOpcode { |
505 // Declare expression opcodes. | 532 // Declare expression opcodes. |
506 #define DECLARE_NAMED_ENUM(name, opcode, sig) kExpr##name = opcode, | 533 #define DECLARE_NAMED_ENUM(name, opcode, sig) kExpr##name = opcode, |
507 FOREACH_OPCODE(DECLARE_NAMED_ENUM) | 534 FOREACH_OPCODE(DECLARE_NAMED_ENUM) |
508 #undef DECLARE_NAMED_ENUM | 535 #undef DECLARE_NAMED_ENUM |
(...skipping 201 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
710 default: | 737 default: |
711 return "<unknown>"; | 738 return "<unknown>"; |
712 } | 739 } |
713 } | 740 } |
714 }; | 741 }; |
715 } // namespace wasm | 742 } // namespace wasm |
716 } // namespace internal | 743 } // namespace internal |
717 } // namespace v8 | 744 } // namespace v8 |
718 | 745 |
719 #endif // V8_WASM_OPCODES_H_ | 746 #endif // V8_WASM_OPCODES_H_ |
OLD | NEW |