two_byte_opcodes.isa (6582:7e1af04f4ead) | two_byte_opcodes.isa (6584:5355f44912f6) |
---|---|
1// Copyright (c) 2008 The Regents of The University of Michigan 2// All rights reserved. 3// 4// Redistribution and use in source and binary forms, with or without 5// modification, are permitted provided that the following conditions are 6// met: redistributions of source code must retain the above copyright 7// notice, this list of conditions and the following disclaimer; 8// redistributions in binary form must reproduce the above copyright --- 581 unchanged lines hidden (view full) --- 590 0x3: PACKSSDW(Vo,Wo); 591 0x4: PUNPCKLQDQ(Vo,Wq); 592 0x5: PUNPCKHQDQ(Vo,Wq); 593 0x6: WarnUnimpl::movd_Vo_Ed(); 594 0x7: WarnUnimpl::movdqa_Vo_Wo(); 595 } 596 default: UD2(); 597 } | 1// Copyright (c) 2008 The Regents of The University of Michigan 2// All rights reserved. 3// 4// Redistribution and use in source and binary forms, with or without 5// modification, are permitted provided that the following conditions are 6// met: redistributions of source code must retain the above copyright 7// notice, this list of conditions and the following disclaimer; 8// redistributions in binary form must reproduce the above copyright --- 581 unchanged lines hidden (view full) --- 590 0x3: PACKSSDW(Vo,Wo); 591 0x4: PUNPCKLQDQ(Vo,Wq); 592 0x5: PUNPCKHQDQ(Vo,Wq); 593 0x6: WarnUnimpl::movd_Vo_Ed(); 594 0x7: WarnUnimpl::movdqa_Vo_Wo(); 595 } 596 default: UD2(); 597 } |
598 } 599 0x0E: decode LEGACY_DECODEVAL { 600 // no prefix 601 0x0: decode OPCODE_OP_BOTTOM3 { 602 0x0: pshufw_Pq_Qq_Ib(); 603 //0x1: group13_pshimw(); 604 0x1: decode MODRM_REG { 605 0x2: decode LEGACY_OP { 606 0x0: psrlw_PRq_Ib(); 607 0x1: psrlw_VRo_Ib(); | 598 0x0E: decode LEGACY_DECODEVAL { 599 // no prefix 600 0x0: decode OPCODE_OP_BOTTOM3 { 601 0x0: WarnUnimpl::pshufw_Pq_Qq_Ib(); 602 //0x1: group13_pshimw(); 603 0x1: decode MODRM_REG { 604 0x2: decode LEGACY_OP { 605 0x0: PSRLW(PRq,Ib); 606 0x1: PSRLW(VRo,Ib); 607 } 608 0x4: decode LEGACY_OP { 609 0x0: PSRAW(PRq,Ib); 610 0x1: PSRAW(VRo,Ib); 611 } 612 0x6: decode LEGACY_OP { 613 0x0: PSLLW(PRq,Ib); 614 0x1: PSLLW(VRo,Ib); 615 } 616 default: UD2(); |
608 } | 617 } |
609 0x4: decode LEGACY_OP { 610 0x0: psraw_PRq_Ib(); 611 0x1: psraw_VRo_Ib(); | 618 //0x2: group14_pshimd(); 619 0x2: decode MODRM_REG { 620 0x2: decode LEGACY_OP { 621 0x0: PSRLD(PRq,Ib); 622 0x1: PSRLD(VRo,Ib); 623 } 624 0x4: decode LEGACY_OP { 625 0x0: PSRAD(PRq,Ib); 626 0x1: PSRAD(VRo,Ib); 627 } 628 0x6: decode LEGACY_OP { 629 0x0: PSLLD(PRq,Ib); 630 0x1: PSLLD(VRo,Ib); 631 } 632 default: UD2(); |
612 } | 633 } |
613 0x6: decode LEGACY_OP { 614 0x0: psllw_PRq_Ib(); 615 0x1: psllw_VRo_Ib(); | 634 //0x3: group15_pshimq(); 635 0x3: decode MODRM_REG { 636 0x2: decode LEGACY_OP { 637 0x0: PSRLQ(PRq,Ib); 638 0x1: PSRLQ(VRo,Ib); 639 } 640 0x3: decode LEGACY_OP { 641 0x0: UD2(); 642 0x1: WarnUnimpl::psrldq_VRo_Ib(); 643 } 644 0x6: decode LEGACY_OP { 645 0x0: PSLLQ(PRq,Ib); 646 0x1: PSLLQ(VRo,Ib); 647 } 648 0x7: decode LEGACY_OP { 649 0x0: UD2(); 650 0x1: WarnUnimpl::pslldq_VRo_Ib(); 651 } 652 default: Inst::UD2(); |
616 } | 653 } |
617 default: Inst::UD2(); | 654 0x4: Inst::PCMPEQB(Pq,Qq); 655 0x5: Inst::PCMPEQW(Pq,Qq); 656 0x6: Inst::PCMPEQD(Pq,Qq); 657 0x7: WarnUnimpl::emms(); |
618 } | 658 } |
619 //0x2: group14_pshimd(); 620 0x2: decode MODRM_REG { 621 0x2: decode LEGACY_OP { 622 0x0: psrld_PRq_Ib(); 623 0x1: psrld_VRo_Ib(); 624 } 625 0x4: decode LEGACY_OP { 626 0x0: psrad_PRq_Ib(); 627 0x1: psrad_VRo_Ib(); 628 } 629 0x6: decode LEGACY_OP { 630 0x0: pslld_PRq_Ib(); 631 0x1: pslld_VRo_Ib(); 632 } 633 default: Inst::UD2(); | 659 // repe (0xF3) 660 0x4: decode OPCODE_OP_BOTTOM3 { 661 0x0: WarnUnimpl::pshufhw_Vo_Wo_Ib(); 662 default: UD2(); |
634 } | 663 } |
635 //0x3: group15_pshimq(); 636 0x3: decode MODRM_REG { 637 0x2: decode LEGACY_OP { 638 0x0: psrlq_PRq_Ib(); 639 0x1: psrlq_VRo_Ib(); | 664 // operand size (0x66) 665 0x1: decode OPCODE_OP_BOTTOM3 { 666 0x0: WarnUnimpl::pshufd_Vo_Wo_Ib(); 667 //0x1: group13_pshimw(); 668 0x1: decode MODRM_REG { 669 0x2: decode LEGACY_OP { 670 0x0: PSRLW(PRq,Ib); 671 0x1: PSRLW(VRo,Ib); 672 } 673 0x4: decode LEGACY_OP { 674 0x0: PSRAW(PRq,Ib); 675 0x1: PSRAW(VRo,Ib); 676 } 677 0x6: decode LEGACY_OP { 678 0x0: PSLLW(PRq,Ib); 679 0x1: PSLLW(VRo,Ib); 680 } 681 default: Inst::UD2(); |
640 } | 682 } |
641 0x3: decode LEGACY_OP { 642 0x0: Inst::UD2(); 643 0x1: psrldq_VRo_Ib(); | 683 //0x2: group14_pshimd(); 684 0x2: decode MODRM_REG { 685 0x2: decode LEGACY_OP { 686 0x0: PSRLD(PRq,Ib); 687 0x1: PSRLD(VRo,Ib); 688 } 689 0x4: decode LEGACY_OP { 690 0x0: PSRAD(PRq,Ib); 691 0x1: PSRAD(VRo,Ib); 692 } 693 0x6: decode LEGACY_OP { 694 0x0: PSLLD(PRq,Ib); 695 0x1: PSLLD(VRo,Ib); 696 } 697 default: UD2(); |
644 } | 698 } |
645 0x6: decode LEGACY_OP { 646 0x0: psllq_PRq_Ib(); 647 0x1: psllq_VRo_Ib(); | 699 //0x3: group15_pshimq(); 700 0x3: decode MODRM_REG { 701 0x2: decode LEGACY_OP { 702 0x0: PSRLQ(PRq,Ib); 703 0x1: PSRLQ(VRo,Ib); 704 } 705 0x3: decode LEGACY_OP { 706 0x0: UD2(); 707 0x1: WarnUnimpl::psrldq_VRo_Ib(); 708 } 709 0x6: decode LEGACY_OP { 710 0x0: PSLLQ(PRq,Ib); 711 0x1: PSLLQ(VRo,Ib); 712 } 713 0x7: decode LEGACY_OP { 714 0x0: UD2(); 715 0x1: WarnUnimpl::pslldq_VRo_Ib(); 716 } 717 default: UD2(); |
648 } | 718 } |
649 0x7: decode LEGACY_OP { 650 0x0: Inst::UD2(); 651 0x1: pslldq_VRo_Ib(); 652 } 653 default: Inst::UD2(); | 719 0x4: PCMPEQB(Vo,Wo); 720 0x5: PCMPEQW(Vo,Wo); 721 0x6: PCMPEQD(Vo,Wo); 722 default: UD2(); |
654 } | 723 } |
655 0x4: Inst::PCMPEQB(Pq,Qq); 656 0x5: Inst::PCMPEQW(Pq,Qq); 657 0x6: Inst::PCMPEQD(Pq,Qq); 658 0x7: emms(); | 724 // repne (0xF2) 725 0x8: decode OPCODE_OP_BOTTOM3 { 726 0x0: WarnUnimpl::pshuflw_Vo_Wo_Ib(); 727 default: UD2(); 728 } 729 default: UD2(); |
659 } | 730 } |
660 // repe (0xF3) 661 0x4: decode OPCODE_OP_BOTTOM3 { 662 0x0: pshufhw_Vo_Wo_Ib(); 663 default: Inst::UD2(); 664 } 665 // operand size (0x66) 666 0x1: decode OPCODE_OP_BOTTOM3 { 667 0x0: pshufd_Vo_Wo_Ib(); 668 //0x1: group13_pshimw(); 669 0x1: decode MODRM_REG { 670 0x2: decode LEGACY_OP { 671 0x0: psrlw_PRq_Ib(); 672 0x1: psrlw_VRo_Ib(); 673 } 674 0x4: decode LEGACY_OP { 675 0x0: psraw_PRq_Ib(); 676 0x1: psraw_VRo_Ib(); 677 } 678 0x6: decode LEGACY_OP { 679 0x0: psllw_PRq_Ib(); 680 0x1: psllw_VRo_Ib(); 681 } 682 default: Inst::UD2(); | 731 0x0F: decode LEGACY_DECODEVAL { 732 // no prefix 733 0x0: decode OPCODE_OP_BOTTOM3 { 734 0x0: WarnUnimpl::vmread_Ed_or_Eq_Gd_or_Gq(); 735 0x1: WarnUnimpl::vmwrite_Gd_or_Gq_Ed_or_Eq(); 736 0x6: MOVD(Edp,Pdp); 737 0x7: MOVQ(Qq,Pq); 738 default: UD2(); |
683 } | 739 } |
684 //0x2: group14_pshimd(); 685 0x2: decode MODRM_REG { 686 0x2: decode LEGACY_OP { 687 0x0: psrld_PRq_Ib(); 688 0x1: psrld_VRo_Ib(); 689 } 690 0x4: decode LEGACY_OP { 691 0x0: psrad_PRq_Ib(); 692 0x1: psrad_VRo_Ib(); 693 } 694 0x6: decode LEGACY_OP { 695 0x0: pslld_PRq_Ib(); 696 0x1: pslld_VRo_Ib(); 697 } 698 default: Inst::UD2(); | 740 // repe (0xF3) 741 0x4: decode OPCODE_OP_BOTTOM3 { 742 0x6: MOVQ(Vq,Wq); 743 0x7: WarnUnimpl::movdqu_Wo_Vo(); 744 default: UD2(); |
699 } | 745 } |
700 //0x3: group15_pshimq(); 701 0x3: decode MODRM_REG { 702 0x2: decode LEGACY_OP { 703 0x0: psrlq_PRq_Ib(); 704 0x1: psrlq_VRo_Ib(); 705 } 706 0x3: decode LEGACY_OP { 707 0x0: Inst::UD2(); 708 0x1: psrldq_VRo_Ib(); 709 } 710 0x6: decode LEGACY_OP { 711 0x0: psllq_PRq_Ib(); 712 0x1: psllq_VRo_Ib(); 713 } 714 0x7: decode LEGACY_OP { 715 0x0: Inst::UD2(); 716 0x1: pslldq_VRo_Ib(); 717 } 718 default: Inst::UD2(); | 746 // operand size (0x66) 747 0x1: decode OPCODE_OP_BOTTOM3 { 748 0x4: WarnUnimpl::haddpd_Vo_Wo(); 749 0x5: WarnUnimpl::hsubpd_Vo_Wo(); 750 0x6: WarnUnimpl::movd_Ed_Vd(); 751 0x7: WarnUnimpl::movdqa_Wo_Vo(); 752 default: UD2(); |
719 } | 753 } |
720 0x4: Inst::PCMPEQB(Vo,Wo); 721 0x5: Inst::PCMPEQW(Vo,Wo); 722 0x6: Inst::PCMPEQD(Vo,Wo); 723 default: Inst::UD2(); | 754 // repne (0xF2) 755 0x8: decode OPCODE_OP_BOTTOM3 { 756 0x4: WarnUnimpl::haddps_Vo_Wo(); 757 0x5: WarnUnimpl::hsubps_Vo_Wo(); 758 default: UD2(); 759 } 760 default: UD2(); |
724 } | 761 } |
725 // repne (0xF2) 726 0x8: decode OPCODE_OP_BOTTOM3 { 727 0x0: pshuflw_Vo_Wo_Ib(); 728 default: Inst::UD2(); 729 } 730 default: Inst::UD2(); 731 } 732 0x0F: decode LEGACY_DECODEVAL { 733 // no prefix 734 0x0: decode OPCODE_OP_BOTTOM3 { 735 0x0: vmread_Ed_or_Eq_Gd_or_Gq(); 736 0x1: vmwrite_Gd_or_Gq_Ed_or_Eq(); 737 0x6: Inst::MOVD(Edp,Pdp); 738 0x7: Inst::MOVQ(Qq,Pq); 739 default: Inst::UD2(); 740 } 741 // repe (0xF3) 742 0x4: decode OPCODE_OP_BOTTOM3 { 743 0x6: Inst::MOVQ(Vq,Wq); 744 0x7: movdqu_Wo_Vo(); 745 default: Inst::UD2(); 746 } 747 // operand size (0x66) 748 0x1: decode OPCODE_OP_BOTTOM3 { 749 0x4: haddpd_Vo_Wo(); 750 0x5: hsubpd_Vo_Wo(); 751 0x6: movd_Ed_Vd(); 752 0x7: movdqa_Wo_Vo(); 753 default: Inst::UD2(); 754 } 755 // repne (0xF2) 756 0x8: decode OPCODE_OP_BOTTOM3 { 757 0x4: haddps_Vo_Wo(); 758 0x5: hsubps_Vo_Wo(); 759 default: Inst::UD2(); 760 } 761 default: Inst::UD2(); 762 } 763 format Inst { | |
764 0x10: decode OPCODE_OP_BOTTOM3 { 765 0x0: JO(Jz); 766 0x1: JNO(Jz); 767 0x2: JB(Jz); 768 0x3: JNB(Jz); 769 0x4: JZ(Jz); 770 0x5: JNZ(Jz); 771 0x6: JBE(Jz); --- 167 unchanged lines hidden (view full) --- 939 4: BSWAP_D(Bd); 940 8: BSWAP_Q(Bq); 941 default: UD2(); 942 } 943 } 944 0x1A: decode LEGACY_DECODEVAL { 945 // no prefix 946 0x0: decode OPCODE_OP_BOTTOM3 { | 762 0x10: decode OPCODE_OP_BOTTOM3 { 763 0x0: JO(Jz); 764 0x1: JNO(Jz); 765 0x2: JB(Jz); 766 0x3: JNB(Jz); 767 0x4: JZ(Jz); 768 0x5: JNZ(Jz); 769 0x6: JBE(Jz); --- 167 unchanged lines hidden (view full) --- 937 4: BSWAP_D(Bd); 938 8: BSWAP_Q(Bq); 939 default: UD2(); 940 } 941 } 942 0x1A: decode LEGACY_DECODEVAL { 943 // no prefix 944 0x0: decode OPCODE_OP_BOTTOM3 { |
947 0x1: psrlw_Pq_Qq(); 948 0x2: psrld_Pq_Qq(); 949 0x3: psrlq_Pq_Qq(); | 945 0x1: Inst::PSRLW(Pq,Qq); 946 0x2: Inst::PSRLD(Pq,Qq); 947 0x3: Inst::PSRLQ(Pq,Qq); |
950 0x4: Inst::PADDQ(Pq,Qq); 951 0x5: Inst::PMULLW(Pq,Qq); 952 0x7: pmovmskb_Gd_PRq(); 953 default: Inst::UD2(); 954 } 955 // repe (0xF3) 956 0x4: decode OPCODE_OP_BOTTOM3 { 957 0x6: movq2dq_Vo_PRq(); 958 default: Inst::UD2(); 959 } 960 // operand size (0x66) 961 0x1: decode OPCODE_OP_BOTTOM3 { 962 0x0: addsubpd_Vo_Wo(); | 948 0x4: Inst::PADDQ(Pq,Qq); 949 0x5: Inst::PMULLW(Pq,Qq); 950 0x7: pmovmskb_Gd_PRq(); 951 default: Inst::UD2(); 952 } 953 // repe (0xF3) 954 0x4: decode OPCODE_OP_BOTTOM3 { 955 0x6: movq2dq_Vo_PRq(); 956 default: Inst::UD2(); 957 } 958 // operand size (0x66) 959 0x1: decode OPCODE_OP_BOTTOM3 { 960 0x0: addsubpd_Vo_Wo(); |
963 0x1: psrlw_Vo_Wo(); 964 0x2: psrld_Vo_Wo(); 965 0x3: psrlq_Vo_Wo(); | 961 0x1: Inst::PSRLW(Vo,Wo); 962 0x2: Inst::PSRLD(Vo,Wo); 963 0x3: Inst::PSRLQ(Vo,Wo); |
966 0x4: Inst::PADDQ(Vo,Wo); 967 0x5: Inst::PMULLW(Vo,Wo); 968 0x6: Inst::MOVQ(Wq,Vq); 969 0x7: pmovmskb_Gd_VRo(); 970 } 971 // repne (0xF2) 972 0x8: decode OPCODE_OP_BOTTOM3 { 973 0x0: addsubps_Vo_Wo(); --- 28 unchanged lines hidden (view full) --- 1002 } 1003 default: UD2(); 1004 } 1005 } 1006 0x1C: decode LEGACY_DECODEVAL { 1007 // no prefix 1008 0x0: decode OPCODE_OP_BOTTOM3 { 1009 0x0: pavgb_Pq_Qq(); | 964 0x4: Inst::PADDQ(Vo,Wo); 965 0x5: Inst::PMULLW(Vo,Wo); 966 0x6: Inst::MOVQ(Wq,Vq); 967 0x7: pmovmskb_Gd_VRo(); 968 } 969 // repne (0xF2) 970 0x8: decode OPCODE_OP_BOTTOM3 { 971 0x0: addsubps_Vo_Wo(); --- 28 unchanged lines hidden (view full) --- 1000 } 1001 default: UD2(); 1002 } 1003 } 1004 0x1C: decode LEGACY_DECODEVAL { 1005 // no prefix 1006 0x0: decode OPCODE_OP_BOTTOM3 { 1007 0x0: pavgb_Pq_Qq(); |
1010 0x1: psraw_Pq_Qq(); 1011 0x2: psrad_Pq_Qq(); | 1008 0x1: Inst::PSRAW(Pq,Qq); 1009 0x2: Inst::PSRAD(Pq,Qq); |
1012 0x3: pavgw_Pq_Qq(); 1013 0x4: Inst::PMULHUW(Pq,Qq); 1014 0x5: Inst::PMULHW(Pq,Qq); 1015 0x7: movntq_Mq_Pq(); 1016 default: Inst::UD2(); 1017 } 1018 // repe (0xF3) 1019 0x4: decode OPCODE_OP_BOTTOM3 { 1020 0x6: Inst::CVTDQ2PD(Vo,Wq); 1021 default: Inst::UD2(); 1022 } 1023 // operand size (0x66) 1024 0x1: decode OPCODE_OP_BOTTOM3 { 1025 0x0: pavgb_Vo_Wo(); | 1010 0x3: pavgw_Pq_Qq(); 1011 0x4: Inst::PMULHUW(Pq,Qq); 1012 0x5: Inst::PMULHW(Pq,Qq); 1013 0x7: movntq_Mq_Pq(); 1014 default: Inst::UD2(); 1015 } 1016 // repe (0xF3) 1017 0x4: decode OPCODE_OP_BOTTOM3 { 1018 0x6: Inst::CVTDQ2PD(Vo,Wq); 1019 default: Inst::UD2(); 1020 } 1021 // operand size (0x66) 1022 0x1: decode OPCODE_OP_BOTTOM3 { 1023 0x0: pavgb_Vo_Wo(); |
1026 0x1: psraw_Vo_Wo(); 1027 0x2: psrad_Vo_Wo(); | 1024 0x1: Inst::PSRAW(Vo,Wo); 1025 0x2: Inst::PSRAD(Vo,Wo); |
1028 0x3: pavgw_Vo_Wo(); 1029 0x4: Inst::PMULHUW(Vo,Wo); 1030 0x5: Inst::PMULHW(Vo,Wo); 1031 0x6: cvttpd2dq_Vo_Wo(); 1032 0x7: movntdq_Mo_Vo(); 1033 } 1034 // repne (0xF2) 1035 0x8: decode OPCODE_OP_BOTTOM3 { --- 27 unchanged lines hidden (view full) --- 1063 0x7: PXOR(Vo,Wo); 1064 } 1065 default: UD2(); 1066 } 1067 } 1068 0x1E: decode LEGACY_DECODEVAL { 1069 // no prefix 1070 0x0: decode OPCODE_OP_BOTTOM3 { | 1026 0x3: pavgw_Vo_Wo(); 1027 0x4: Inst::PMULHUW(Vo,Wo); 1028 0x5: Inst::PMULHW(Vo,Wo); 1029 0x6: cvttpd2dq_Vo_Wo(); 1030 0x7: movntdq_Mo_Vo(); 1031 } 1032 // repne (0xF2) 1033 0x8: decode OPCODE_OP_BOTTOM3 { --- 27 unchanged lines hidden (view full) --- 1061 0x7: PXOR(Vo,Wo); 1062 } 1063 default: UD2(); 1064 } 1065 } 1066 0x1E: decode LEGACY_DECODEVAL { 1067 // no prefix 1068 0x0: decode OPCODE_OP_BOTTOM3 { |
1071 0x1: psllw_Pq_Qq(); 1072 0x2: pslld_Pq_Qq(); 1073 0x3: psllq_Pq_Qq(); | 1069 0x1: Inst::PSLLW(Pq,Qq); 1070 0x2: Inst::PSLLD(Pq,Qq); 1071 0x3: Inst::PSLLQ(Pq,Qq); |
1074 0x4: Inst::PMULUDQ(Pq,Qq); 1075 0x5: pmaddwd_Pq_Qq(); 1076 0x6: Inst::PSADBW(Pq,Qq); 1077 0x7: maskmovq_Pq_PRq(); 1078 default: Inst::UD2(); 1079 } 1080 // operand size (0x66) 1081 0x1: decode OPCODE_OP_BOTTOM3 { | 1072 0x4: Inst::PMULUDQ(Pq,Qq); 1073 0x5: pmaddwd_Pq_Qq(); 1074 0x6: Inst::PSADBW(Pq,Qq); 1075 0x7: maskmovq_Pq_PRq(); 1076 default: Inst::UD2(); 1077 } 1078 // operand size (0x66) 1079 0x1: decode OPCODE_OP_BOTTOM3 { |
1082 0x1: psllw_Vo_Wo(); 1083 0x2: pslld_Vo_Wo(); 1084 0x3: psllq_Vo_Wo(); | 1080 0x1: Inst::PSLLW(Vo,Wo); 1081 0x2: Inst::PSLLD(Vo,Wo); 1082 0x3: Inst::PSLLQ(Vo,Wo); |
1085 0x4: Inst::PMULUDQ(Vo,Wo); 1086 0x5: pmaddwd_Vo_Wo(); 1087 0x6: Inst::PSADBW(Vo,Wo); 1088 0x7: maskmovdqu_Vo_VRo(); 1089 default: Inst::UD2(); 1090 } 1091 // repne (0xF2) 1092 0x8: decode OPCODE_OP_BOTTOM3 { --- 38 unchanged lines hidden --- | 1083 0x4: Inst::PMULUDQ(Vo,Wo); 1084 0x5: pmaddwd_Vo_Wo(); 1085 0x6: Inst::PSADBW(Vo,Wo); 1086 0x7: maskmovdqu_Vo_VRo(); 1087 default: Inst::UD2(); 1088 } 1089 // repne (0xF2) 1090 0x8: decode OPCODE_OP_BOTTOM3 { --- 38 unchanged lines hidden --- |