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

Side by Side Diff: src/s390/simulator-s390.cc

Issue 1873963002: S390: [simulator] Initial 2-level jump table implementation (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: rebased on master and implement a set of instr, 20% faster in zlib Created 4 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 | « src/s390/simulator-s390.h ('k') | no next file » | 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 <stdarg.h> 5 #include <stdarg.h>
6 #include <stdlib.h> 6 #include <stdlib.h>
7 #include <cmath> 7 #include <cmath>
8 8
9 #if V8_TARGET_ARCH_S390 9 #if V8_TARGET_ARCH_S390
10 10
11 #include "src/assembler.h" 11 #include "src/assembler.h"
12 #include "src/base/bits.h" 12 #include "src/base/bits.h"
13 #include "src/base/once.h"
13 #include "src/codegen.h" 14 #include "src/codegen.h"
14 #include "src/disasm.h" 15 #include "src/disasm.h"
15 #include "src/runtime/runtime-utils.h" 16 #include "src/runtime/runtime-utils.h"
16 #include "src/s390/constants-s390.h" 17 #include "src/s390/constants-s390.h"
17 #include "src/s390/frames-s390.h" 18 #include "src/s390/frames-s390.h"
18 #include "src/s390/simulator-s390.h" 19 #include "src/s390/simulator-s390.h"
19 #if defined(USE_SIMULATOR) 20 #if defined(USE_SIMULATOR)
20 21
21 // Only build the simulator if not compiling for real s390 hardware. 22 // Only build the simulator if not compiling for real s390 hardware.
22 namespace v8 { 23 namespace v8 {
(...skipping 718 matching lines...) Expand 10 before | Expand all | Expand 10 after
741 memcpy(cached_line, line, CachePage::kLineLength); 742 memcpy(cached_line, line, CachePage::kLineLength);
742 *cache_valid_byte = CachePage::LINE_VALID; 743 *cache_valid_byte = CachePage::LINE_VALID;
743 } 744 }
744 } 745 }
745 746
746 void Simulator::Initialize(Isolate* isolate) { 747 void Simulator::Initialize(Isolate* isolate) {
747 if (isolate->simulator_initialized()) return; 748 if (isolate->simulator_initialized()) return;
748 isolate->set_simulator_initialized(true); 749 isolate->set_simulator_initialized(true);
749 ::v8::internal::ExternalReference::set_redirector(isolate, 750 ::v8::internal::ExternalReference::set_redirector(isolate,
750 &RedirectExternalReference); 751 &RedirectExternalReference);
752 static base::OnceType once = V8_ONCE_INIT;
753 base::CallOnce(&once, &Simulator::EvalTableInit);
751 } 754 }
752 755
756 Simulator::EvaluateFuncType Simulator::EvalTable[] = {NULL};
757
758 void Simulator::EvalTableInit() {
759 for (int i = 0; i < MAX_NUM_OPCODES; i++) {
760 EvalTable[i] = &Simulator::Evaluate_Unknown;
761 }
762
763 EvalTable[BKPT] = &Simulator::Evaluate_BKPT;
764 EvalTable[SPM] = &Simulator::Evaluate_SPM;
765 EvalTable[BALR] = &Simulator::Evaluate_BALR;
766 EvalTable[BCTR] = &Simulator::Evaluate_BCTR;
767 EvalTable[BCR] = &Simulator::Evaluate_BCR;
768 EvalTable[SVC] = &Simulator::Evaluate_SVC;
769 EvalTable[BSM] = &Simulator::Evaluate_BSM;
770 EvalTable[BASSM] = &Simulator::Evaluate_BASSM;
771 EvalTable[BASR] = &Simulator::Evaluate_BASR;
772 EvalTable[MVCL] = &Simulator::Evaluate_MVCL;
773 EvalTable[CLCL] = &Simulator::Evaluate_CLCL;
774 EvalTable[LPR] = &Simulator::Evaluate_LPR;
775 EvalTable[LNR] = &Simulator::Evaluate_LNR;
776 EvalTable[LTR] = &Simulator::Evaluate_LTR;
777 EvalTable[LCR] = &Simulator::Evaluate_LCR;
778 EvalTable[NR] = &Simulator::Evaluate_NR;
779 EvalTable[CLR] = &Simulator::Evaluate_CLR;
780 EvalTable[OR] = &Simulator::Evaluate_OR;
781 EvalTable[XR] = &Simulator::Evaluate_XR;
782 EvalTable[LR] = &Simulator::Evaluate_LR;
783 EvalTable[CR] = &Simulator::Evaluate_CR;
784 EvalTable[AR] = &Simulator::Evaluate_AR;
785 EvalTable[SR] = &Simulator::Evaluate_SR;
786 EvalTable[MR] = &Simulator::Evaluate_MR;
787 EvalTable[DR] = &Simulator::Evaluate_DR;
788 EvalTable[ALR] = &Simulator::Evaluate_ALR;
789 EvalTable[SLR] = &Simulator::Evaluate_SLR;
790 EvalTable[LDR] = &Simulator::Evaluate_LDR;
791 EvalTable[CDR] = &Simulator::Evaluate_CDR;
792 EvalTable[LER] = &Simulator::Evaluate_LER;
793 EvalTable[STH] = &Simulator::Evaluate_STH;
794 EvalTable[LA] = &Simulator::Evaluate_LA;
795 EvalTable[STC] = &Simulator::Evaluate_STC;
796 EvalTable[IC_z] = &Simulator::Evaluate_IC_z;
797 EvalTable[EX] = &Simulator::Evaluate_EX;
798 EvalTable[BAL] = &Simulator::Evaluate_BAL;
799 EvalTable[BCT] = &Simulator::Evaluate_BCT;
800 EvalTable[BC] = &Simulator::Evaluate_BC;
801 EvalTable[LH] = &Simulator::Evaluate_LH;
802 EvalTable[CH] = &Simulator::Evaluate_CH;
803 EvalTable[AH] = &Simulator::Evaluate_AH;
804 EvalTable[SH] = &Simulator::Evaluate_SH;
805 EvalTable[MH] = &Simulator::Evaluate_MH;
806 EvalTable[BAS] = &Simulator::Evaluate_BAS;
807 EvalTable[CVD] = &Simulator::Evaluate_CVD;
808 EvalTable[CVB] = &Simulator::Evaluate_CVB;
809 EvalTable[ST] = &Simulator::Evaluate_ST;
810 EvalTable[LAE] = &Simulator::Evaluate_LAE;
811 EvalTable[N] = &Simulator::Evaluate_N;
812 EvalTable[CL] = &Simulator::Evaluate_CL;
813 EvalTable[O] = &Simulator::Evaluate_O;
814 EvalTable[X] = &Simulator::Evaluate_X;
815 EvalTable[L] = &Simulator::Evaluate_L;
816 EvalTable[C] = &Simulator::Evaluate_C;
817 EvalTable[A] = &Simulator::Evaluate_A;
818 EvalTable[S] = &Simulator::Evaluate_S;
819 EvalTable[M] = &Simulator::Evaluate_M;
820 EvalTable[D] = &Simulator::Evaluate_D;
821 EvalTable[AL] = &Simulator::Evaluate_AL;
822 EvalTable[SL] = &Simulator::Evaluate_SL;
823 EvalTable[STD] = &Simulator::Evaluate_STD;
824 EvalTable[LD] = &Simulator::Evaluate_LD;
825 EvalTable[CD] = &Simulator::Evaluate_CD;
826 EvalTable[STE] = &Simulator::Evaluate_STE;
827 EvalTable[MS] = &Simulator::Evaluate_MS;
828 EvalTable[LE] = &Simulator::Evaluate_LE;
829 EvalTable[BRXH] = &Simulator::Evaluate_BRXH;
830 EvalTable[BRXLE] = &Simulator::Evaluate_BRXLE;
831 EvalTable[BXH] = &Simulator::Evaluate_BXH;
832 EvalTable[BXLE] = &Simulator::Evaluate_BXLE;
833 EvalTable[SRL] = &Simulator::Evaluate_SRL;
834 EvalTable[SLL] = &Simulator::Evaluate_SLL;
835 EvalTable[SRA] = &Simulator::Evaluate_SRA;
836 EvalTable[SLA] = &Simulator::Evaluate_SLA;
837 EvalTable[SRDL] = &Simulator::Evaluate_SRDL;
838 EvalTable[SLDL] = &Simulator::Evaluate_SLDL;
839 EvalTable[SRDA] = &Simulator::Evaluate_SRDA;
840 EvalTable[SLDA] = &Simulator::Evaluate_SLDA;
841 EvalTable[STM] = &Simulator::Evaluate_STM;
842 EvalTable[TM] = &Simulator::Evaluate_TM;
843 EvalTable[MVI] = &Simulator::Evaluate_MVI;
844 EvalTable[TS] = &Simulator::Evaluate_TS;
845 EvalTable[NI] = &Simulator::Evaluate_NI;
846 EvalTable[CLI] = &Simulator::Evaluate_CLI;
847 EvalTable[OI] = &Simulator::Evaluate_OI;
848 EvalTable[XI] = &Simulator::Evaluate_XI;
849 EvalTable[LM] = &Simulator::Evaluate_LM;
850 EvalTable[MVCLE] = &Simulator::Evaluate_MVCLE;
851 EvalTable[CLCLE] = &Simulator::Evaluate_CLCLE;
852 EvalTable[MC] = &Simulator::Evaluate_MC;
853 EvalTable[CDS] = &Simulator::Evaluate_CDS;
854 EvalTable[STCM] = &Simulator::Evaluate_STCM;
855 EvalTable[ICM] = &Simulator::Evaluate_ICM;
856 EvalTable[BPRP] = &Simulator::Evaluate_BPRP;
857 EvalTable[BPP] = &Simulator::Evaluate_BPP;
858 EvalTable[TRTR] = &Simulator::Evaluate_TRTR;
859 EvalTable[MVN] = &Simulator::Evaluate_MVN;
860 EvalTable[MVC] = &Simulator::Evaluate_MVC;
861 EvalTable[MVZ] = &Simulator::Evaluate_MVZ;
862 EvalTable[NC] = &Simulator::Evaluate_NC;
863 EvalTable[CLC] = &Simulator::Evaluate_CLC;
864 EvalTable[OC] = &Simulator::Evaluate_OC;
865 EvalTable[XC] = &Simulator::Evaluate_XC;
866 EvalTable[MVCP] = &Simulator::Evaluate_MVCP;
867 EvalTable[TR] = &Simulator::Evaluate_TR;
868 EvalTable[TRT] = &Simulator::Evaluate_TRT;
869 EvalTable[ED] = &Simulator::Evaluate_ED;
870 EvalTable[EDMK] = &Simulator::Evaluate_EDMK;
871 EvalTable[PKU] = &Simulator::Evaluate_PKU;
872 EvalTable[UNPKU] = &Simulator::Evaluate_UNPKU;
873 EvalTable[MVCIN] = &Simulator::Evaluate_MVCIN;
874 EvalTable[PKA] = &Simulator::Evaluate_PKA;
875 EvalTable[UNPKA] = &Simulator::Evaluate_UNPKA;
876 EvalTable[PLO] = &Simulator::Evaluate_PLO;
877 EvalTable[LMD] = &Simulator::Evaluate_LMD;
878 EvalTable[SRP] = &Simulator::Evaluate_SRP;
879 EvalTable[MVO] = &Simulator::Evaluate_MVO;
880 EvalTable[PACK] = &Simulator::Evaluate_PACK;
881 EvalTable[UNPK] = &Simulator::Evaluate_UNPK;
882 EvalTable[ZAP] = &Simulator::Evaluate_ZAP;
883 EvalTable[AP] = &Simulator::Evaluate_AP;
884 EvalTable[SP] = &Simulator::Evaluate_SP;
885 EvalTable[MP] = &Simulator::Evaluate_MP;
886 EvalTable[DP] = &Simulator::Evaluate_DP;
887 EvalTable[UPT] = &Simulator::Evaluate_UPT;
888 EvalTable[PFPO] = &Simulator::Evaluate_PFPO;
889 EvalTable[IIHH] = &Simulator::Evaluate_IIHH;
890 EvalTable[IIHL] = &Simulator::Evaluate_IIHL;
891 EvalTable[IILH] = &Simulator::Evaluate_IILH;
892 EvalTable[IILL] = &Simulator::Evaluate_IILL;
893 EvalTable[NIHH] = &Simulator::Evaluate_NIHH;
894 EvalTable[NIHL] = &Simulator::Evaluate_NIHL;
895 EvalTable[NILH] = &Simulator::Evaluate_NILH;
896 EvalTable[NILL] = &Simulator::Evaluate_NILL;
897 EvalTable[OIHH] = &Simulator::Evaluate_OIHH;
898 EvalTable[OIHL] = &Simulator::Evaluate_OIHL;
899 EvalTable[OILH] = &Simulator::Evaluate_OILH;
900 EvalTable[OILL] = &Simulator::Evaluate_OILL;
901 EvalTable[LLIHH] = &Simulator::Evaluate_LLIHH;
902 EvalTable[LLIHL] = &Simulator::Evaluate_LLIHL;
903 EvalTable[LLILH] = &Simulator::Evaluate_LLILH;
904 EvalTable[LLILL] = &Simulator::Evaluate_LLILL;
905 EvalTable[TMLH] = &Simulator::Evaluate_TMLH;
906 EvalTable[TMLL] = &Simulator::Evaluate_TMLL;
907 EvalTable[TMHH] = &Simulator::Evaluate_TMHH;
908 EvalTable[TMHL] = &Simulator::Evaluate_TMHL;
909 EvalTable[BRC] = &Simulator::Evaluate_BRC;
910 EvalTable[BRAS] = &Simulator::Evaluate_BRAS;
911 EvalTable[BRCT] = &Simulator::Evaluate_BRCT;
912 EvalTable[BRCTG] = &Simulator::Evaluate_BRCTG;
913 EvalTable[LHI] = &Simulator::Evaluate_LHI;
914 EvalTable[LGHI] = &Simulator::Evaluate_LGHI;
915 EvalTable[AHI] = &Simulator::Evaluate_AHI;
916 EvalTable[AGHI] = &Simulator::Evaluate_AGHI;
917 EvalTable[MHI] = &Simulator::Evaluate_MHI;
918 EvalTable[MGHI] = &Simulator::Evaluate_MGHI;
919 EvalTable[CHI] = &Simulator::Evaluate_CHI;
920 EvalTable[CGHI] = &Simulator::Evaluate_CGHI;
921 EvalTable[LARL] = &Simulator::Evaluate_LARL;
922 EvalTable[LGFI] = &Simulator::Evaluate_LGFI;
923 EvalTable[BRCL] = &Simulator::Evaluate_BRCL;
924 EvalTable[BRASL] = &Simulator::Evaluate_BRASL;
925 EvalTable[XIHF] = &Simulator::Evaluate_XIHF;
926 EvalTable[XILF] = &Simulator::Evaluate_XILF;
927 EvalTable[IIHF] = &Simulator::Evaluate_IIHF;
928 EvalTable[IILF] = &Simulator::Evaluate_IILF;
929 EvalTable[NIHF] = &Simulator::Evaluate_NIHF;
930 EvalTable[NILF] = &Simulator::Evaluate_NILF;
931 EvalTable[OIHF] = &Simulator::Evaluate_OIHF;
932 EvalTable[OILF] = &Simulator::Evaluate_OILF;
933 EvalTable[LLIHF] = &Simulator::Evaluate_LLIHF;
934 EvalTable[LLILF] = &Simulator::Evaluate_LLILF;
935 EvalTable[MSGFI] = &Simulator::Evaluate_MSGFI;
936 EvalTable[MSFI] = &Simulator::Evaluate_MSFI;
937 EvalTable[SLGFI] = &Simulator::Evaluate_SLGFI;
938 EvalTable[SLFI] = &Simulator::Evaluate_SLFI;
939 EvalTable[AGFI] = &Simulator::Evaluate_AGFI;
940 EvalTable[AFI] = &Simulator::Evaluate_AFI;
941 EvalTable[ALGFI] = &Simulator::Evaluate_ALGFI;
942 EvalTable[ALFI] = &Simulator::Evaluate_ALFI;
943 EvalTable[CGFI] = &Simulator::Evaluate_CGFI;
944 EvalTable[CFI] = &Simulator::Evaluate_CFI;
945 EvalTable[CLGFI] = &Simulator::Evaluate_CLGFI;
946 EvalTable[CLFI] = &Simulator::Evaluate_CLFI;
947 EvalTable[LLHRL] = &Simulator::Evaluate_LLHRL;
948 EvalTable[LGHRL] = &Simulator::Evaluate_LGHRL;
949 EvalTable[LHRL] = &Simulator::Evaluate_LHRL;
950 EvalTable[LLGHRL] = &Simulator::Evaluate_LLGHRL;
951 EvalTable[STHRL] = &Simulator::Evaluate_STHRL;
952 EvalTable[LGRL] = &Simulator::Evaluate_LGRL;
953 EvalTable[STGRL] = &Simulator::Evaluate_STGRL;
954 EvalTable[LGFRL] = &Simulator::Evaluate_LGFRL;
955 EvalTable[LRL] = &Simulator::Evaluate_LRL;
956 EvalTable[LLGFRL] = &Simulator::Evaluate_LLGFRL;
957 EvalTable[STRL] = &Simulator::Evaluate_STRL;
958 EvalTable[EXRL] = &Simulator::Evaluate_EXRL;
959 EvalTable[PFDRL] = &Simulator::Evaluate_PFDRL;
960 EvalTable[CGHRL] = &Simulator::Evaluate_CGHRL;
961 EvalTable[CHRL] = &Simulator::Evaluate_CHRL;
962 EvalTable[CGRL] = &Simulator::Evaluate_CGRL;
963 EvalTable[CGFRL] = &Simulator::Evaluate_CGFRL;
964 EvalTable[ECTG] = &Simulator::Evaluate_ECTG;
965 EvalTable[CSST] = &Simulator::Evaluate_CSST;
966 EvalTable[LPD] = &Simulator::Evaluate_LPD;
967 EvalTable[LPDG] = &Simulator::Evaluate_LPDG;
968 EvalTable[BRCTH] = &Simulator::Evaluate_BRCTH;
969 EvalTable[AIH] = &Simulator::Evaluate_AIH;
970 EvalTable[ALSIH] = &Simulator::Evaluate_ALSIH;
971 EvalTable[ALSIHN] = &Simulator::Evaluate_ALSIHN;
972 EvalTable[CIH] = &Simulator::Evaluate_CIH;
973 EvalTable[STCK] = &Simulator::Evaluate_STCK;
974 EvalTable[CFC] = &Simulator::Evaluate_CFC;
975 EvalTable[IPM] = &Simulator::Evaluate_IPM;
976 EvalTable[HSCH] = &Simulator::Evaluate_HSCH;
977 EvalTable[MSCH] = &Simulator::Evaluate_MSCH;
978 EvalTable[SSCH] = &Simulator::Evaluate_SSCH;
979 EvalTable[STSCH] = &Simulator::Evaluate_STSCH;
980 EvalTable[TSCH] = &Simulator::Evaluate_TSCH;
981 EvalTable[TPI] = &Simulator::Evaluate_TPI;
982 EvalTable[SAL] = &Simulator::Evaluate_SAL;
983 EvalTable[RSCH] = &Simulator::Evaluate_RSCH;
984 EvalTable[STCRW] = &Simulator::Evaluate_STCRW;
985 EvalTable[STCPS] = &Simulator::Evaluate_STCPS;
986 EvalTable[RCHP] = &Simulator::Evaluate_RCHP;
987 EvalTable[SCHM] = &Simulator::Evaluate_SCHM;
988 EvalTable[CKSM] = &Simulator::Evaluate_CKSM;
989 EvalTable[SAR] = &Simulator::Evaluate_SAR;
990 EvalTable[EAR] = &Simulator::Evaluate_EAR;
991 EvalTable[MSR] = &Simulator::Evaluate_MSR;
992 EvalTable[MVST] = &Simulator::Evaluate_MVST;
993 EvalTable[CUSE] = &Simulator::Evaluate_CUSE;
994 EvalTable[SRST] = &Simulator::Evaluate_SRST;
995 EvalTable[XSCH] = &Simulator::Evaluate_XSCH;
996 EvalTable[STCKE] = &Simulator::Evaluate_STCKE;
997 EvalTable[STCKF] = &Simulator::Evaluate_STCKF;
998 EvalTable[SRNM] = &Simulator::Evaluate_SRNM;
999 EvalTable[STFPC] = &Simulator::Evaluate_STFPC;
1000 EvalTable[LFPC] = &Simulator::Evaluate_LFPC;
1001 EvalTable[TRE] = &Simulator::Evaluate_TRE;
1002 EvalTable[CUUTF] = &Simulator::Evaluate_CUUTF;
1003 EvalTable[CUTFU] = &Simulator::Evaluate_CUTFU;
1004 EvalTable[STFLE] = &Simulator::Evaluate_STFLE;
1005 EvalTable[SRNMB] = &Simulator::Evaluate_SRNMB;
1006 EvalTable[SRNMT] = &Simulator::Evaluate_SRNMT;
1007 EvalTable[LFAS] = &Simulator::Evaluate_LFAS;
1008 EvalTable[PPA] = &Simulator::Evaluate_PPA;
1009 EvalTable[ETND] = &Simulator::Evaluate_ETND;
1010 EvalTable[TEND] = &Simulator::Evaluate_TEND;
1011 EvalTable[NIAI] = &Simulator::Evaluate_NIAI;
1012 EvalTable[TABORT] = &Simulator::Evaluate_TABORT;
1013 EvalTable[TRAP4] = &Simulator::Evaluate_TRAP4;
1014 EvalTable[LPEBR] = &Simulator::Evaluate_LPEBR;
1015 EvalTable[LNEBR] = &Simulator::Evaluate_LNEBR;
1016 EvalTable[LTEBR] = &Simulator::Evaluate_LTEBR;
1017 EvalTable[LCEBR] = &Simulator::Evaluate_LCEBR;
1018 EvalTable[LDEBR] = &Simulator::Evaluate_LDEBR;
1019 EvalTable[LXDBR] = &Simulator::Evaluate_LXDBR;
1020 EvalTable[LXEBR] = &Simulator::Evaluate_LXEBR;
1021 EvalTable[MXDBR] = &Simulator::Evaluate_MXDBR;
1022 EvalTable[KEBR] = &Simulator::Evaluate_KEBR;
1023 EvalTable[CEBR] = &Simulator::Evaluate_CEBR;
1024 EvalTable[AEBR] = &Simulator::Evaluate_AEBR;
1025 EvalTable[SEBR] = &Simulator::Evaluate_SEBR;
1026 EvalTable[MDEBR] = &Simulator::Evaluate_MDEBR;
1027 EvalTable[DEBR] = &Simulator::Evaluate_DEBR;
1028 EvalTable[MAEBR] = &Simulator::Evaluate_MAEBR;
1029 EvalTable[MSEBR] = &Simulator::Evaluate_MSEBR;
1030 EvalTable[LPDBR] = &Simulator::Evaluate_LPDBR;
1031 EvalTable[LNDBR] = &Simulator::Evaluate_LNDBR;
1032 EvalTable[LTDBR] = &Simulator::Evaluate_LTDBR;
1033 EvalTable[LCDBR] = &Simulator::Evaluate_LCDBR;
1034 EvalTable[SQEBR] = &Simulator::Evaluate_SQEBR;
1035 EvalTable[SQDBR] = &Simulator::Evaluate_SQDBR;
1036 EvalTable[SQXBR] = &Simulator::Evaluate_SQXBR;
1037 EvalTable[MEEBR] = &Simulator::Evaluate_MEEBR;
1038 EvalTable[KDBR] = &Simulator::Evaluate_KDBR;
1039 EvalTable[CDBR] = &Simulator::Evaluate_CDBR;
1040 EvalTable[ADBR] = &Simulator::Evaluate_ADBR;
1041 EvalTable[SDBR] = &Simulator::Evaluate_SDBR;
1042 EvalTable[MDBR] = &Simulator::Evaluate_MDBR;
1043 EvalTable[DDBR] = &Simulator::Evaluate_DDBR;
1044 EvalTable[MADBR] = &Simulator::Evaluate_MADBR;
1045 EvalTable[MSDBR] = &Simulator::Evaluate_MSDBR;
1046 EvalTable[LPXBR] = &Simulator::Evaluate_LPXBR;
1047 EvalTable[LNXBR] = &Simulator::Evaluate_LNXBR;
1048 EvalTable[LTXBR] = &Simulator::Evaluate_LTXBR;
1049 EvalTable[LCXBR] = &Simulator::Evaluate_LCXBR;
1050 EvalTable[LEDBRA] = &Simulator::Evaluate_LEDBRA;
1051 EvalTable[LDXBRA] = &Simulator::Evaluate_LDXBRA;
1052 EvalTable[LEXBRA] = &Simulator::Evaluate_LEXBRA;
1053 EvalTable[FIXBRA] = &Simulator::Evaluate_FIXBRA;
1054 EvalTable[KXBR] = &Simulator::Evaluate_KXBR;
1055 EvalTable[CXBR] = &Simulator::Evaluate_CXBR;
1056 EvalTable[AXBR] = &Simulator::Evaluate_AXBR;
1057 EvalTable[SXBR] = &Simulator::Evaluate_SXBR;
1058 EvalTable[MXBR] = &Simulator::Evaluate_MXBR;
1059 EvalTable[DXBR] = &Simulator::Evaluate_DXBR;
1060 EvalTable[TBEDR] = &Simulator::Evaluate_TBEDR;
1061 EvalTable[TBDR] = &Simulator::Evaluate_TBDR;
1062 EvalTable[DIEBR] = &Simulator::Evaluate_DIEBR;
1063 EvalTable[FIEBRA] = &Simulator::Evaluate_FIEBRA;
1064 EvalTable[THDER] = &Simulator::Evaluate_THDER;
1065 EvalTable[THDR] = &Simulator::Evaluate_THDR;
1066 EvalTable[DIDBR] = &Simulator::Evaluate_DIDBR;
1067 EvalTable[FIDBRA] = &Simulator::Evaluate_FIDBRA;
1068 EvalTable[LXR] = &Simulator::Evaluate_LXR;
1069 EvalTable[LPDFR] = &Simulator::Evaluate_LPDFR;
1070 EvalTable[LNDFR] = &Simulator::Evaluate_LNDFR;
1071 EvalTable[LCDFR] = &Simulator::Evaluate_LCDFR;
1072 EvalTable[LZER] = &Simulator::Evaluate_LZER;
1073 EvalTable[LZDR] = &Simulator::Evaluate_LZDR;
1074 EvalTable[LZXR] = &Simulator::Evaluate_LZXR;
1075 EvalTable[SFPC] = &Simulator::Evaluate_SFPC;
1076 EvalTable[SFASR] = &Simulator::Evaluate_SFASR;
1077 EvalTable[EFPC] = &Simulator::Evaluate_EFPC;
1078 EvalTable[CELFBR] = &Simulator::Evaluate_CELFBR;
1079 EvalTable[CDLFBR] = &Simulator::Evaluate_CDLFBR;
1080 EvalTable[CXLFBR] = &Simulator::Evaluate_CXLFBR;
1081 EvalTable[CEFBRA] = &Simulator::Evaluate_CEFBRA;
1082 EvalTable[CDFBRA] = &Simulator::Evaluate_CDFBRA;
1083 EvalTable[CXFBRA] = &Simulator::Evaluate_CXFBRA;
1084 EvalTable[CFEBRA] = &Simulator::Evaluate_CFEBRA;
1085 EvalTable[CFDBRA] = &Simulator::Evaluate_CFDBRA;
1086 EvalTable[CFXBRA] = &Simulator::Evaluate_CFXBRA;
1087 EvalTable[CLFEBR] = &Simulator::Evaluate_CLFEBR;
1088 EvalTable[CLFDBR] = &Simulator::Evaluate_CLFDBR;
1089 EvalTable[CLFXBR] = &Simulator::Evaluate_CLFXBR;
1090 EvalTable[CELGBR] = &Simulator::Evaluate_CELGBR;
1091 EvalTable[CDLGBR] = &Simulator::Evaluate_CDLGBR;
1092 EvalTable[CXLGBR] = &Simulator::Evaluate_CXLGBR;
1093 EvalTable[CEGBRA] = &Simulator::Evaluate_CEGBRA;
1094 EvalTable[CDGBRA] = &Simulator::Evaluate_CDGBRA;
1095 EvalTable[CXGBRA] = &Simulator::Evaluate_CXGBRA;
1096 EvalTable[CGEBRA] = &Simulator::Evaluate_CGEBRA;
1097 EvalTable[CGDBRA] = &Simulator::Evaluate_CGDBRA;
1098 EvalTable[CGXBRA] = &Simulator::Evaluate_CGXBRA;
1099 EvalTable[CLGEBR] = &Simulator::Evaluate_CLGEBR;
1100 EvalTable[CLGDBR] = &Simulator::Evaluate_CLGDBR;
1101 EvalTable[CFER] = &Simulator::Evaluate_CFER;
1102 EvalTable[CFDR] = &Simulator::Evaluate_CFDR;
1103 EvalTable[CFXR] = &Simulator::Evaluate_CFXR;
1104 EvalTable[LDGR] = &Simulator::Evaluate_LDGR;
1105 EvalTable[CGER] = &Simulator::Evaluate_CGER;
1106 EvalTable[CGDR] = &Simulator::Evaluate_CGDR;
1107 EvalTable[CGXR] = &Simulator::Evaluate_CGXR;
1108 EvalTable[LGDR] = &Simulator::Evaluate_LGDR;
1109 EvalTable[MDTR] = &Simulator::Evaluate_MDTR;
1110 EvalTable[MDTRA] = &Simulator::Evaluate_MDTRA;
1111 EvalTable[DDTRA] = &Simulator::Evaluate_DDTRA;
1112 EvalTable[ADTRA] = &Simulator::Evaluate_ADTRA;
1113 EvalTable[SDTRA] = &Simulator::Evaluate_SDTRA;
1114 EvalTable[LDETR] = &Simulator::Evaluate_LDETR;
1115 EvalTable[LEDTR] = &Simulator::Evaluate_LEDTR;
1116 EvalTable[LTDTR] = &Simulator::Evaluate_LTDTR;
1117 EvalTable[FIDTR] = &Simulator::Evaluate_FIDTR;
1118 EvalTable[MXTRA] = &Simulator::Evaluate_MXTRA;
1119 EvalTable[DXTRA] = &Simulator::Evaluate_DXTRA;
1120 EvalTable[AXTRA] = &Simulator::Evaluate_AXTRA;
1121 EvalTable[SXTRA] = &Simulator::Evaluate_SXTRA;
1122 EvalTable[LXDTR] = &Simulator::Evaluate_LXDTR;
1123 EvalTable[LDXTR] = &Simulator::Evaluate_LDXTR;
1124 EvalTable[LTXTR] = &Simulator::Evaluate_LTXTR;
1125 EvalTable[FIXTR] = &Simulator::Evaluate_FIXTR;
1126 EvalTable[KDTR] = &Simulator::Evaluate_KDTR;
1127 EvalTable[CGDTRA] = &Simulator::Evaluate_CGDTRA;
1128 EvalTable[CUDTR] = &Simulator::Evaluate_CUDTR;
1129 EvalTable[CDTR] = &Simulator::Evaluate_CDTR;
1130 EvalTable[EEDTR] = &Simulator::Evaluate_EEDTR;
1131 EvalTable[ESDTR] = &Simulator::Evaluate_ESDTR;
1132 EvalTable[KXTR] = &Simulator::Evaluate_KXTR;
1133 EvalTable[CGXTRA] = &Simulator::Evaluate_CGXTRA;
1134 EvalTable[CUXTR] = &Simulator::Evaluate_CUXTR;
1135 EvalTable[CSXTR] = &Simulator::Evaluate_CSXTR;
1136 EvalTable[CXTR] = &Simulator::Evaluate_CXTR;
1137 EvalTable[EEXTR] = &Simulator::Evaluate_EEXTR;
1138 EvalTable[ESXTR] = &Simulator::Evaluate_ESXTR;
1139 EvalTable[CDGTRA] = &Simulator::Evaluate_CDGTRA;
1140 EvalTable[CDUTR] = &Simulator::Evaluate_CDUTR;
1141 EvalTable[CDSTR] = &Simulator::Evaluate_CDSTR;
1142 EvalTable[CEDTR] = &Simulator::Evaluate_CEDTR;
1143 EvalTable[QADTR] = &Simulator::Evaluate_QADTR;
1144 EvalTable[IEDTR] = &Simulator::Evaluate_IEDTR;
1145 EvalTable[RRDTR] = &Simulator::Evaluate_RRDTR;
1146 EvalTable[CXGTRA] = &Simulator::Evaluate_CXGTRA;
1147 EvalTable[CXUTR] = &Simulator::Evaluate_CXUTR;
1148 EvalTable[CXSTR] = &Simulator::Evaluate_CXSTR;
1149 EvalTable[CEXTR] = &Simulator::Evaluate_CEXTR;
1150 EvalTable[QAXTR] = &Simulator::Evaluate_QAXTR;
1151 EvalTable[IEXTR] = &Simulator::Evaluate_IEXTR;
1152 EvalTable[RRXTR] = &Simulator::Evaluate_RRXTR;
1153 EvalTable[LPGR] = &Simulator::Evaluate_LPGR;
1154 EvalTable[LNGR] = &Simulator::Evaluate_LNGR;
1155 EvalTable[LTGR] = &Simulator::Evaluate_LTGR;
1156 EvalTable[LCGR] = &Simulator::Evaluate_LCGR;
1157 EvalTable[LGR] = &Simulator::Evaluate_LGR;
1158 EvalTable[LGBR] = &Simulator::Evaluate_LGBR;
1159 EvalTable[LGHR] = &Simulator::Evaluate_LGHR;
1160 EvalTable[AGR] = &Simulator::Evaluate_AGR;
1161 EvalTable[SGR] = &Simulator::Evaluate_SGR;
1162 EvalTable[ALGR] = &Simulator::Evaluate_ALGR;
1163 EvalTable[SLGR] = &Simulator::Evaluate_SLGR;
1164 EvalTable[MSGR] = &Simulator::Evaluate_MSGR;
1165 EvalTable[DSGR] = &Simulator::Evaluate_DSGR;
1166 EvalTable[LRVGR] = &Simulator::Evaluate_LRVGR;
1167 EvalTable[LPGFR] = &Simulator::Evaluate_LPGFR;
1168 EvalTable[LNGFR] = &Simulator::Evaluate_LNGFR;
1169 EvalTable[LTGFR] = &Simulator::Evaluate_LTGFR;
1170 EvalTable[LCGFR] = &Simulator::Evaluate_LCGFR;
1171 EvalTable[LGFR] = &Simulator::Evaluate_LGFR;
1172 EvalTable[LLGFR] = &Simulator::Evaluate_LLGFR;
1173 EvalTable[LLGTR] = &Simulator::Evaluate_LLGTR;
1174 EvalTable[AGFR] = &Simulator::Evaluate_AGFR;
1175 EvalTable[SGFR] = &Simulator::Evaluate_SGFR;
1176 EvalTable[ALGFR] = &Simulator::Evaluate_ALGFR;
1177 EvalTable[SLGFR] = &Simulator::Evaluate_SLGFR;
1178 EvalTable[MSGFR] = &Simulator::Evaluate_MSGFR;
1179 EvalTable[DSGFR] = &Simulator::Evaluate_DSGFR;
1180 EvalTable[KMAC] = &Simulator::Evaluate_KMAC;
1181 EvalTable[LRVR] = &Simulator::Evaluate_LRVR;
1182 EvalTable[CGR] = &Simulator::Evaluate_CGR;
1183 EvalTable[CLGR] = &Simulator::Evaluate_CLGR;
1184 EvalTable[LBR] = &Simulator::Evaluate_LBR;
1185 EvalTable[LHR] = &Simulator::Evaluate_LHR;
1186 EvalTable[KMF] = &Simulator::Evaluate_KMF;
1187 EvalTable[KMO] = &Simulator::Evaluate_KMO;
1188 EvalTable[PCC] = &Simulator::Evaluate_PCC;
1189 EvalTable[KMCTR] = &Simulator::Evaluate_KMCTR;
1190 EvalTable[KM] = &Simulator::Evaluate_KM;
1191 EvalTable[KMC] = &Simulator::Evaluate_KMC;
1192 EvalTable[CGFR] = &Simulator::Evaluate_CGFR;
1193 EvalTable[KIMD] = &Simulator::Evaluate_KIMD;
1194 EvalTable[KLMD] = &Simulator::Evaluate_KLMD;
1195 EvalTable[CFDTR] = &Simulator::Evaluate_CFDTR;
1196 EvalTable[CLGDTR] = &Simulator::Evaluate_CLGDTR;
1197 EvalTable[CLFDTR] = &Simulator::Evaluate_CLFDTR;
1198 EvalTable[BCTGR] = &Simulator::Evaluate_BCTGR;
1199 EvalTable[CFXTR] = &Simulator::Evaluate_CFXTR;
1200 EvalTable[CLFXTR] = &Simulator::Evaluate_CLFXTR;
1201 EvalTable[CDFTR] = &Simulator::Evaluate_CDFTR;
1202 EvalTable[CDLGTR] = &Simulator::Evaluate_CDLGTR;
1203 EvalTable[CDLFTR] = &Simulator::Evaluate_CDLFTR;
1204 EvalTable[CXFTR] = &Simulator::Evaluate_CXFTR;
1205 EvalTable[CXLGTR] = &Simulator::Evaluate_CXLGTR;
1206 EvalTable[CXLFTR] = &Simulator::Evaluate_CXLFTR;
1207 EvalTable[CGRT] = &Simulator::Evaluate_CGRT;
1208 EvalTable[NGR] = &Simulator::Evaluate_NGR;
1209 EvalTable[OGR] = &Simulator::Evaluate_OGR;
1210 EvalTable[XGR] = &Simulator::Evaluate_XGR;
1211 EvalTable[FLOGR] = &Simulator::Evaluate_FLOGR;
1212 EvalTable[LLGCR] = &Simulator::Evaluate_LLGCR;
1213 EvalTable[LLGHR] = &Simulator::Evaluate_LLGHR;
1214 EvalTable[MLGR] = &Simulator::Evaluate_MLGR;
1215 EvalTable[DLGR] = &Simulator::Evaluate_DLGR;
1216 EvalTable[ALCGR] = &Simulator::Evaluate_ALCGR;
1217 EvalTable[SLBGR] = &Simulator::Evaluate_SLBGR;
1218 EvalTable[EPSW] = &Simulator::Evaluate_EPSW;
1219 EvalTable[TRTT] = &Simulator::Evaluate_TRTT;
1220 EvalTable[TRTO] = &Simulator::Evaluate_TRTO;
1221 EvalTable[TROT] = &Simulator::Evaluate_TROT;
1222 EvalTable[TROO] = &Simulator::Evaluate_TROO;
1223 EvalTable[LLCR] = &Simulator::Evaluate_LLCR;
1224 EvalTable[LLHR] = &Simulator::Evaluate_LLHR;
1225 EvalTable[MLR] = &Simulator::Evaluate_MLR;
1226 EvalTable[DLR] = &Simulator::Evaluate_DLR;
1227 EvalTable[ALCR] = &Simulator::Evaluate_ALCR;
1228 EvalTable[SLBR] = &Simulator::Evaluate_SLBR;
1229 EvalTable[CU14] = &Simulator::Evaluate_CU14;
1230 EvalTable[CU24] = &Simulator::Evaluate_CU24;
1231 EvalTable[CU41] = &Simulator::Evaluate_CU41;
1232 EvalTable[CU42] = &Simulator::Evaluate_CU42;
1233 EvalTable[TRTRE] = &Simulator::Evaluate_TRTRE;
1234 EvalTable[SRSTU] = &Simulator::Evaluate_SRSTU;
1235 EvalTable[TRTE] = &Simulator::Evaluate_TRTE;
1236 EvalTable[AHHHR] = &Simulator::Evaluate_AHHHR;
1237 EvalTable[SHHHR] = &Simulator::Evaluate_SHHHR;
1238 EvalTable[ALHHHR] = &Simulator::Evaluate_ALHHHR;
1239 EvalTable[SLHHHR] = &Simulator::Evaluate_SLHHHR;
1240 EvalTable[CHHR] = &Simulator::Evaluate_CHHR;
1241 EvalTable[AHHLR] = &Simulator::Evaluate_AHHLR;
1242 EvalTable[SHHLR] = &Simulator::Evaluate_SHHLR;
1243 EvalTable[ALHHLR] = &Simulator::Evaluate_ALHHLR;
1244 EvalTable[SLHHLR] = &Simulator::Evaluate_SLHHLR;
1245 EvalTable[CHLR] = &Simulator::Evaluate_CHLR;
1246 EvalTable[POPCNT_Z] = &Simulator::Evaluate_POPCNT_Z;
1247 EvalTable[LOCGR] = &Simulator::Evaluate_LOCGR;
1248 EvalTable[NGRK] = &Simulator::Evaluate_NGRK;
1249 EvalTable[OGRK] = &Simulator::Evaluate_OGRK;
1250 EvalTable[XGRK] = &Simulator::Evaluate_XGRK;
1251 EvalTable[AGRK] = &Simulator::Evaluate_AGRK;
1252 EvalTable[SGRK] = &Simulator::Evaluate_SGRK;
1253 EvalTable[ALGRK] = &Simulator::Evaluate_ALGRK;
1254 EvalTable[SLGRK] = &Simulator::Evaluate_SLGRK;
1255 EvalTable[LOCR] = &Simulator::Evaluate_LOCR;
1256 EvalTable[NRK] = &Simulator::Evaluate_NRK;
1257 EvalTable[ORK] = &Simulator::Evaluate_ORK;
1258 EvalTable[XRK] = &Simulator::Evaluate_XRK;
1259 EvalTable[ARK] = &Simulator::Evaluate_ARK;
1260 EvalTable[SRK] = &Simulator::Evaluate_SRK;
1261 EvalTable[ALRK] = &Simulator::Evaluate_ALRK;
1262 EvalTable[SLRK] = &Simulator::Evaluate_SLRK;
1263 EvalTable[LTG] = &Simulator::Evaluate_LTG;
1264 EvalTable[LG] = &Simulator::Evaluate_LG;
1265 EvalTable[CVBY] = &Simulator::Evaluate_CVBY;
1266 EvalTable[AG] = &Simulator::Evaluate_AG;
1267 EvalTable[SG] = &Simulator::Evaluate_SG;
1268 EvalTable[ALG] = &Simulator::Evaluate_ALG;
1269 EvalTable[SLG] = &Simulator::Evaluate_SLG;
1270 EvalTable[MSG] = &Simulator::Evaluate_MSG;
1271 EvalTable[DSG] = &Simulator::Evaluate_DSG;
1272 EvalTable[CVBG] = &Simulator::Evaluate_CVBG;
1273 EvalTable[LRVG] = &Simulator::Evaluate_LRVG;
1274 EvalTable[LT] = &Simulator::Evaluate_LT;
1275 EvalTable[LGF] = &Simulator::Evaluate_LGF;
1276 EvalTable[LGH] = &Simulator::Evaluate_LGH;
1277 EvalTable[LLGF] = &Simulator::Evaluate_LLGF;
1278 EvalTable[LLGT] = &Simulator::Evaluate_LLGT;
1279 EvalTable[AGF] = &Simulator::Evaluate_AGF;
1280 EvalTable[SGF] = &Simulator::Evaluate_SGF;
1281 EvalTable[ALGF] = &Simulator::Evaluate_ALGF;
1282 EvalTable[SLGF] = &Simulator::Evaluate_SLGF;
1283 EvalTable[MSGF] = &Simulator::Evaluate_MSGF;
1284 EvalTable[DSGF] = &Simulator::Evaluate_DSGF;
1285 EvalTable[LRV] = &Simulator::Evaluate_LRV;
1286 EvalTable[LRVH] = &Simulator::Evaluate_LRVH;
1287 EvalTable[CG] = &Simulator::Evaluate_CG;
1288 EvalTable[CLG] = &Simulator::Evaluate_CLG;
1289 EvalTable[STG] = &Simulator::Evaluate_STG;
1290 EvalTable[NTSTG] = &Simulator::Evaluate_NTSTG;
1291 EvalTable[CVDY] = &Simulator::Evaluate_CVDY;
1292 EvalTable[CVDG] = &Simulator::Evaluate_CVDG;
1293 EvalTable[STRVG] = &Simulator::Evaluate_STRVG;
1294 EvalTable[CGF] = &Simulator::Evaluate_CGF;
1295 EvalTable[CLGF] = &Simulator::Evaluate_CLGF;
1296 EvalTable[LTGF] = &Simulator::Evaluate_LTGF;
1297 EvalTable[CGH] = &Simulator::Evaluate_CGH;
1298 EvalTable[PFD] = &Simulator::Evaluate_PFD;
1299 EvalTable[STRV] = &Simulator::Evaluate_STRV;
1300 EvalTable[STRVH] = &Simulator::Evaluate_STRVH;
1301 EvalTable[BCTG] = &Simulator::Evaluate_BCTG;
1302 EvalTable[STY] = &Simulator::Evaluate_STY;
1303 EvalTable[MSY] = &Simulator::Evaluate_MSY;
1304 EvalTable[NY] = &Simulator::Evaluate_NY;
1305 EvalTable[CLY] = &Simulator::Evaluate_CLY;
1306 EvalTable[OY] = &Simulator::Evaluate_OY;
1307 EvalTable[XY] = &Simulator::Evaluate_XY;
1308 EvalTable[LY] = &Simulator::Evaluate_LY;
1309 EvalTable[CY] = &Simulator::Evaluate_CY;
1310 EvalTable[AY] = &Simulator::Evaluate_AY;
1311 EvalTable[SY] = &Simulator::Evaluate_SY;
1312 EvalTable[MFY] = &Simulator::Evaluate_MFY;
1313 EvalTable[ALY] = &Simulator::Evaluate_ALY;
1314 EvalTable[SLY] = &Simulator::Evaluate_SLY;
1315 EvalTable[STHY] = &Simulator::Evaluate_STHY;
1316 EvalTable[LAY] = &Simulator::Evaluate_LAY;
1317 EvalTable[STCY] = &Simulator::Evaluate_STCY;
1318 EvalTable[ICY] = &Simulator::Evaluate_ICY;
1319 EvalTable[LAEY] = &Simulator::Evaluate_LAEY;
1320 EvalTable[LB] = &Simulator::Evaluate_LB;
1321 EvalTable[LGB] = &Simulator::Evaluate_LGB;
1322 EvalTable[LHY] = &Simulator::Evaluate_LHY;
1323 EvalTable[CHY] = &Simulator::Evaluate_CHY;
1324 EvalTable[AHY] = &Simulator::Evaluate_AHY;
1325 EvalTable[SHY] = &Simulator::Evaluate_SHY;
1326 EvalTable[MHY] = &Simulator::Evaluate_MHY;
1327 EvalTable[NG] = &Simulator::Evaluate_NG;
1328 EvalTable[OG] = &Simulator::Evaluate_OG;
1329 EvalTable[XG] = &Simulator::Evaluate_XG;
1330 EvalTable[LGAT] = &Simulator::Evaluate_LGAT;
1331 EvalTable[MLG] = &Simulator::Evaluate_MLG;
1332 EvalTable[DLG] = &Simulator::Evaluate_DLG;
1333 EvalTable[ALCG] = &Simulator::Evaluate_ALCG;
1334 EvalTable[SLBG] = &Simulator::Evaluate_SLBG;
1335 EvalTable[STPQ] = &Simulator::Evaluate_STPQ;
1336 EvalTable[LPQ] = &Simulator::Evaluate_LPQ;
1337 EvalTable[LLGC] = &Simulator::Evaluate_LLGC;
1338 EvalTable[LLGH] = &Simulator::Evaluate_LLGH;
1339 EvalTable[LLC] = &Simulator::Evaluate_LLC;
1340 EvalTable[LLH] = &Simulator::Evaluate_LLH;
1341 EvalTable[ML] = &Simulator::Evaluate_ML;
1342 EvalTable[DL] = &Simulator::Evaluate_DL;
1343 EvalTable[ALC] = &Simulator::Evaluate_ALC;
1344 EvalTable[SLB] = &Simulator::Evaluate_SLB;
1345 EvalTable[LLGTAT] = &Simulator::Evaluate_LLGTAT;
1346 EvalTable[LLGFAT] = &Simulator::Evaluate_LLGFAT;
1347 EvalTable[LAT] = &Simulator::Evaluate_LAT;
1348 EvalTable[LBH] = &Simulator::Evaluate_LBH;
1349 EvalTable[LLCH] = &Simulator::Evaluate_LLCH;
1350 EvalTable[STCH] = &Simulator::Evaluate_STCH;
1351 EvalTable[LHH] = &Simulator::Evaluate_LHH;
1352 EvalTable[LLHH] = &Simulator::Evaluate_LLHH;
1353 EvalTable[STHH] = &Simulator::Evaluate_STHH;
1354 EvalTable[LFHAT] = &Simulator::Evaluate_LFHAT;
1355 EvalTable[LFH] = &Simulator::Evaluate_LFH;
1356 EvalTable[STFH] = &Simulator::Evaluate_STFH;
1357 EvalTable[CHF] = &Simulator::Evaluate_CHF;
1358 EvalTable[MVCDK] = &Simulator::Evaluate_MVCDK;
1359 EvalTable[MVHHI] = &Simulator::Evaluate_MVHHI;
1360 EvalTable[MVGHI] = &Simulator::Evaluate_MVGHI;
1361 EvalTable[MVHI] = &Simulator::Evaluate_MVHI;
1362 EvalTable[CHHSI] = &Simulator::Evaluate_CHHSI;
1363 EvalTable[CGHSI] = &Simulator::Evaluate_CGHSI;
1364 EvalTable[CHSI] = &Simulator::Evaluate_CHSI;
1365 EvalTable[CLFHSI] = &Simulator::Evaluate_CLFHSI;
1366 EvalTable[TBEGIN] = &Simulator::Evaluate_TBEGIN;
1367 EvalTable[TBEGINC] = &Simulator::Evaluate_TBEGINC;
1368 EvalTable[LMG] = &Simulator::Evaluate_LMG;
1369 EvalTable[SRAG] = &Simulator::Evaluate_SRAG;
1370 EvalTable[SLAG] = &Simulator::Evaluate_SLAG;
1371 EvalTable[SRLG] = &Simulator::Evaluate_SRLG;
1372 EvalTable[SLLG] = &Simulator::Evaluate_SLLG;
1373 EvalTable[CSY] = &Simulator::Evaluate_CSY;
1374 EvalTable[RLLG] = &Simulator::Evaluate_RLLG;
1375 EvalTable[RLL] = &Simulator::Evaluate_RLL;
1376 EvalTable[STMG] = &Simulator::Evaluate_STMG;
1377 EvalTable[STMH] = &Simulator::Evaluate_STMH;
1378 EvalTable[STCMH] = &Simulator::Evaluate_STCMH;
1379 EvalTable[STCMY] = &Simulator::Evaluate_STCMY;
1380 EvalTable[CDSY] = &Simulator::Evaluate_CDSY;
1381 EvalTable[CDSG] = &Simulator::Evaluate_CDSG;
1382 EvalTable[BXHG] = &Simulator::Evaluate_BXHG;
1383 EvalTable[BXLEG] = &Simulator::Evaluate_BXLEG;
1384 EvalTable[ECAG] = &Simulator::Evaluate_ECAG;
1385 EvalTable[TMY] = &Simulator::Evaluate_TMY;
1386 EvalTable[MVIY] = &Simulator::Evaluate_MVIY;
1387 EvalTable[NIY] = &Simulator::Evaluate_NIY;
1388 EvalTable[CLIY] = &Simulator::Evaluate_CLIY;
1389 EvalTable[OIY] = &Simulator::Evaluate_OIY;
1390 EvalTable[XIY] = &Simulator::Evaluate_XIY;
1391 EvalTable[ASI] = &Simulator::Evaluate_ASI;
1392 EvalTable[ALSI] = &Simulator::Evaluate_ALSI;
1393 EvalTable[AGSI] = &Simulator::Evaluate_AGSI;
1394 EvalTable[ALGSI] = &Simulator::Evaluate_ALGSI;
1395 EvalTable[ICMH] = &Simulator::Evaluate_ICMH;
1396 EvalTable[ICMY] = &Simulator::Evaluate_ICMY;
1397 EvalTable[MVCLU] = &Simulator::Evaluate_MVCLU;
1398 EvalTable[CLCLU] = &Simulator::Evaluate_CLCLU;
1399 EvalTable[STMY] = &Simulator::Evaluate_STMY;
1400 EvalTable[LMH] = &Simulator::Evaluate_LMH;
1401 EvalTable[LMY] = &Simulator::Evaluate_LMY;
1402 EvalTable[TP] = &Simulator::Evaluate_TP;
1403 EvalTable[SRAK] = &Simulator::Evaluate_SRAK;
1404 EvalTable[SLAK] = &Simulator::Evaluate_SLAK;
1405 EvalTable[SRLK] = &Simulator::Evaluate_SRLK;
1406 EvalTable[SLLK] = &Simulator::Evaluate_SLLK;
1407 EvalTable[LOCG] = &Simulator::Evaluate_LOCG;
1408 EvalTable[STOCG] = &Simulator::Evaluate_STOCG;
1409 EvalTable[LANG] = &Simulator::Evaluate_LANG;
1410 EvalTable[LAOG] = &Simulator::Evaluate_LAOG;
1411 EvalTable[LAXG] = &Simulator::Evaluate_LAXG;
1412 EvalTable[LAAG] = &Simulator::Evaluate_LAAG;
1413 EvalTable[LAALG] = &Simulator::Evaluate_LAALG;
1414 EvalTable[LOC] = &Simulator::Evaluate_LOC;
1415 EvalTable[STOC] = &Simulator::Evaluate_STOC;
1416 EvalTable[LAN] = &Simulator::Evaluate_LAN;
1417 EvalTable[LAO] = &Simulator::Evaluate_LAO;
1418 EvalTable[LAX] = &Simulator::Evaluate_LAX;
1419 EvalTable[LAA] = &Simulator::Evaluate_LAA;
1420 EvalTable[LAAL] = &Simulator::Evaluate_LAAL;
1421 EvalTable[BRXHG] = &Simulator::Evaluate_BRXHG;
1422 EvalTable[BRXLG] = &Simulator::Evaluate_BRXLG;
1423 EvalTable[RISBLG] = &Simulator::Evaluate_RISBLG;
1424 EvalTable[RNSBG] = &Simulator::Evaluate_RNSBG;
1425 EvalTable[RISBG] = &Simulator::Evaluate_RISBG;
1426 EvalTable[ROSBG] = &Simulator::Evaluate_ROSBG;
1427 EvalTable[RXSBG] = &Simulator::Evaluate_RXSBG;
1428 EvalTable[RISBGN] = &Simulator::Evaluate_RISBGN;
1429 EvalTable[RISBHG] = &Simulator::Evaluate_RISBHG;
1430 EvalTable[CGRJ] = &Simulator::Evaluate_CGRJ;
1431 EvalTable[CGIT] = &Simulator::Evaluate_CGIT;
1432 EvalTable[CIT] = &Simulator::Evaluate_CIT;
1433 EvalTable[CLFIT] = &Simulator::Evaluate_CLFIT;
1434 EvalTable[CGIJ] = &Simulator::Evaluate_CGIJ;
1435 EvalTable[CIJ] = &Simulator::Evaluate_CIJ;
1436 EvalTable[AHIK] = &Simulator::Evaluate_AHIK;
1437 EvalTable[AGHIK] = &Simulator::Evaluate_AGHIK;
1438 EvalTable[ALHSIK] = &Simulator::Evaluate_ALHSIK;
1439 EvalTable[ALGHSIK] = &Simulator::Evaluate_ALGHSIK;
1440 EvalTable[CGRB] = &Simulator::Evaluate_CGRB;
1441 EvalTable[CGIB] = &Simulator::Evaluate_CGIB;
1442 EvalTable[CIB] = &Simulator::Evaluate_CIB;
1443 EvalTable[LDEB] = &Simulator::Evaluate_LDEB;
1444 EvalTable[LXDB] = &Simulator::Evaluate_LXDB;
1445 EvalTable[LXEB] = &Simulator::Evaluate_LXEB;
1446 EvalTable[MXDB] = &Simulator::Evaluate_MXDB;
1447 EvalTable[KEB] = &Simulator::Evaluate_KEB;
1448 EvalTable[CEB] = &Simulator::Evaluate_CEB;
1449 EvalTable[AEB] = &Simulator::Evaluate_AEB;
1450 EvalTable[SEB] = &Simulator::Evaluate_SEB;
1451 EvalTable[MDEB] = &Simulator::Evaluate_MDEB;
1452 EvalTable[DEB] = &Simulator::Evaluate_DEB;
1453 EvalTable[MAEB] = &Simulator::Evaluate_MAEB;
1454 EvalTable[MSEB] = &Simulator::Evaluate_MSEB;
1455 EvalTable[TCEB] = &Simulator::Evaluate_TCEB;
1456 EvalTable[TCDB] = &Simulator::Evaluate_TCDB;
1457 EvalTable[TCXB] = &Simulator::Evaluate_TCXB;
1458 EvalTable[SQEB] = &Simulator::Evaluate_SQEB;
1459 EvalTable[SQDB] = &Simulator::Evaluate_SQDB;
1460 EvalTable[MEEB] = &Simulator::Evaluate_MEEB;
1461 EvalTable[KDB] = &Simulator::Evaluate_KDB;
1462 EvalTable[CDB] = &Simulator::Evaluate_CDB;
1463 EvalTable[ADB] = &Simulator::Evaluate_ADB;
1464 EvalTable[SDB] = &Simulator::Evaluate_SDB;
1465 EvalTable[MDB] = &Simulator::Evaluate_MDB;
1466 EvalTable[DDB] = &Simulator::Evaluate_DDB;
1467 EvalTable[MADB] = &Simulator::Evaluate_MADB;
1468 EvalTable[MSDB] = &Simulator::Evaluate_MSDB;
1469 EvalTable[SLDT] = &Simulator::Evaluate_SLDT;
1470 EvalTable[SRDT] = &Simulator::Evaluate_SRDT;
1471 EvalTable[SLXT] = &Simulator::Evaluate_SLXT;
1472 EvalTable[SRXT] = &Simulator::Evaluate_SRXT;
1473 EvalTable[TDCET] = &Simulator::Evaluate_TDCET;
1474 EvalTable[TDGET] = &Simulator::Evaluate_TDGET;
1475 EvalTable[TDCDT] = &Simulator::Evaluate_TDCDT;
1476 EvalTable[TDGDT] = &Simulator::Evaluate_TDGDT;
1477 EvalTable[TDCXT] = &Simulator::Evaluate_TDCXT;
1478 EvalTable[TDGXT] = &Simulator::Evaluate_TDGXT;
1479 EvalTable[LEY] = &Simulator::Evaluate_LEY;
1480 EvalTable[LDY] = &Simulator::Evaluate_LDY;
1481 EvalTable[STEY] = &Simulator::Evaluate_STEY;
1482 EvalTable[STDY] = &Simulator::Evaluate_STDY;
1483 EvalTable[CZDT] = &Simulator::Evaluate_CZDT;
1484 EvalTable[CZXT] = &Simulator::Evaluate_CZXT;
1485 EvalTable[CDZT] = &Simulator::Evaluate_CDZT;
1486 EvalTable[CXZT] = &Simulator::Evaluate_CXZT;
1487 } // NOLINT
1488
753 Simulator::Simulator(Isolate* isolate) : isolate_(isolate) { 1489 Simulator::Simulator(Isolate* isolate) : isolate_(isolate) {
754 i_cache_ = isolate_->simulator_i_cache(); 1490 i_cache_ = isolate_->simulator_i_cache();
755 if (i_cache_ == NULL) { 1491 if (i_cache_ == NULL) {
756 i_cache_ = new v8::internal::HashMap(&ICacheMatch); 1492 i_cache_ = new v8::internal::HashMap(&ICacheMatch);
757 isolate_->set_simulator_i_cache(i_cache_); 1493 isolate_->set_simulator_i_cache(i_cache_);
758 } 1494 }
759 Initialize(isolate); 1495 Initialize(isolate);
760 // Set up simulator support first. Some of this information is needed to 1496 // Set up simulator support first. Some of this information is needed to
761 // setup the architecture state. 1497 // setup the architecture state.
762 #if V8_TARGET_ARCH_S390X 1498 #if V8_TARGET_ARCH_S390X
(...skipping 1817 matching lines...) Expand 10 before | Expand all | Expand 10 after
2580 bool isOF = CheckOverflowForUIntAdd(r2_val, r3_val); 3316 bool isOF = CheckOverflowForUIntAdd(r2_val, r3_val);
2581 SetS390ConditionCode<uint64_t>(r2_val + r3_val, 0); 3317 SetS390ConditionCode<uint64_t>(r2_val + r3_val, 0);
2582 SetS390OverflowCode(isOF); 3318 SetS390OverflowCode(isOF);
2583 set_register(r1, r2_val + r3_val); 3319 set_register(r1, r2_val + r3_val);
2584 } else if (SLGRK == op) { 3320 } else if (SLGRK == op) {
2585 bool isOF = CheckOverflowForUIntSub(r2_val, r3_val); 3321 bool isOF = CheckOverflowForUIntSub(r2_val, r3_val);
2586 SetS390ConditionCode<uint64_t>(r2_val - r3_val, 0); 3322 SetS390ConditionCode<uint64_t>(r2_val - r3_val, 0);
2587 SetS390OverflowCode(isOF); 3323 SetS390OverflowCode(isOF);
2588 set_register(r1, r2_val - r3_val); 3324 set_register(r1, r2_val - r3_val);
2589 } 3325 }
3326 break;
2590 } 3327 }
2591 case AGHI: 3328 case AGHI:
2592 case MGHI: { 3329 case MGHI: {
2593 RIInstruction* riinst = reinterpret_cast<RIInstruction*>(instr); 3330 RIInstruction* riinst = reinterpret_cast<RIInstruction*>(instr);
2594 int32_t r1 = riinst->R1Value(); 3331 int32_t r1 = riinst->R1Value();
2595 int64_t i = static_cast<int64_t>(riinst->I2Value()); 3332 int64_t i = static_cast<int64_t>(riinst->I2Value());
2596 int64_t r1_val = get_register(r1); 3333 int64_t r1_val = get_register(r1);
2597 bool isOF = false; 3334 bool isOF = false;
2598 switch (op) { 3335 switch (op) {
2599 case AGHI: 3336 case AGHI:
(...skipping 2195 matching lines...) Expand 10 before | Expand all | Expand 10 after
4795 } 5532 }
4796 5533
4797 int32_t Simulator::ByteReverse(int32_t word) { 5534 int32_t Simulator::ByteReverse(int32_t word) {
4798 int32_t result = word << 24; 5535 int32_t result = word << 24;
4799 result |= (word << 8) & 0x00ff0000; 5536 result |= (word << 8) & 0x00ff0000;
4800 result |= (word >> 8) & 0x0000ff00; 5537 result |= (word >> 8) & 0x0000ff00;
4801 result |= (word >> 24) & 0x00000ff; 5538 result |= (word >> 24) & 0x00000ff;
4802 return result; 5539 return result;
4803 } 5540 }
4804 5541
5542 int Simulator::DecodeInstructionOriginal(Instruction* instr) {
5543 int instrLength = instr->InstructionLength();
5544 bool processed = true;
5545 if (instrLength == 2)
5546 processed = DecodeTwoByte(instr);
5547 else if (instrLength == 4)
5548 processed = DecodeFourByte(instr);
5549 else if (instrLength == 6)
5550 processed = DecodeSixByte(instr);
5551 return instrLength;
5552 }
5553
5554 int Simulator::DecodeInstruction(Instruction* instr) {
5555 Opcode op = instr->S390OpcodeValue();
5556 DCHECK(EvalTable[op] != NULL);
5557 return (this->*EvalTable[op])(instr);
5558 }
5559
4805 // Executes the current instruction. 5560 // Executes the current instruction.
4806 void Simulator::ExecuteInstruction(Instruction* instr, bool auto_incr_pc) { 5561 void Simulator::ExecuteInstruction(Instruction* instr, bool auto_incr_pc) {
4807 if (v8::internal::FLAG_check_icache) { 5562 if (v8::internal::FLAG_check_icache) {
4808 CheckICache(isolate_->simulator_i_cache(), instr); 5563 CheckICache(isolate_->simulator_i_cache(), instr);
4809 } 5564 }
4810 5565
4811 pc_modified_ = false; 5566 pc_modified_ = false;
4812 5567
4813 if (::v8::internal::FLAG_trace_sim) { 5568 if (::v8::internal::FLAG_trace_sim) {
4814 disasm::NameConverter converter; 5569 disasm::NameConverter converter;
4815 disasm::Disassembler dasm(converter); 5570 disasm::Disassembler dasm(converter);
4816 // use a reasonably large buffer 5571 // use a reasonably large buffer
4817 v8::internal::EmbeddedVector<char, 256> buffer; 5572 v8::internal::EmbeddedVector<char, 256> buffer;
4818 dasm.InstructionDecode(buffer, reinterpret_cast<byte*>(instr)); 5573 dasm.InstructionDecode(buffer, reinterpret_cast<byte*>(instr));
4819 PrintF("%05" PRId64 " %08" V8PRIxPTR " %s\n", icount_, 5574 PrintF("%05" PRId64 " %08" V8PRIxPTR " %s\n", icount_,
4820 reinterpret_cast<intptr_t>(instr), buffer.start()); 5575 reinterpret_cast<intptr_t>(instr), buffer.start());
4821 5576
4822 // Flush stdout to prevent incomplete file output during abnormal exits 5577 // Flush stdout to prevent incomplete file output during abnormal exits
4823 // This is caused by the output being buffered before being written to file 5578 // This is caused by the output being buffered before being written to file
4824 fflush(stdout); 5579 fflush(stdout);
4825 } 5580 }
4826 5581
4827 int instrLength = instr->InstructionLength(); 5582 // Try to simulate as S390 Instruction first.
4828 if (instrLength == 2) 5583 int length = DecodeInstruction(instr);
4829 DecodeTwoByte(instr);
4830 else if (instrLength == 4)
4831 DecodeFourByte(instr);
4832 else
4833 DecodeSixByte(instr);
4834 5584
4835 if (!pc_modified_ && auto_incr_pc) { 5585 if (!pc_modified_ && auto_incr_pc) {
4836 set_pc(reinterpret_cast<intptr_t>(instr) + instrLength); 5586 DCHECK(length == instr->InstructionLength());
5587 set_pc(reinterpret_cast<intptr_t>(instr) + length);
4837 } 5588 }
5589 return;
4838 } 5590 }
4839 5591
4840 void Simulator::DebugStart() { 5592 void Simulator::DebugStart() {
4841 S390Debugger dbg(this); 5593 S390Debugger dbg(this);
4842 dbg.Debug(); 5594 dbg.Debug();
4843 } 5595 }
4844 5596
4845 void Simulator::Execute() { 5597 void Simulator::Execute() {
4846 // Get the PC to simulate. Cannot use the accessor here as we need the 5598 // Get the PC to simulate. Cannot use the accessor here as we need the
4847 // raw PC value and not the one used as input to arithmetic instructions. 5599 // raw PC value and not the one used as input to arithmetic instructions.
(...skipping 258 matching lines...) Expand 10 before | Expand all | Expand 10 after
5106 } 5858 }
5107 5859
5108 uintptr_t Simulator::PopAddress() { 5860 uintptr_t Simulator::PopAddress() {
5109 uintptr_t current_sp = get_register(sp); 5861 uintptr_t current_sp = get_register(sp);
5110 uintptr_t* stack_slot = reinterpret_cast<uintptr_t*>(current_sp); 5862 uintptr_t* stack_slot = reinterpret_cast<uintptr_t*>(current_sp);
5111 uintptr_t address = *stack_slot; 5863 uintptr_t address = *stack_slot;
5112 set_register(sp, current_sp + sizeof(uintptr_t)); 5864 set_register(sp, current_sp + sizeof(uintptr_t));
5113 return address; 5865 return address;
5114 } 5866 }
5115 5867
5868 #define EVALUATE(name) \
5869 int Simulator::Evaluate_##name(Instruction* instr)
5870
5871 #define DCHECK_OPCODE(op) DCHECK(instr->S390OpcodeValue() == op)
5872
5873 #define AS(type) reinterpret_cast<type*>(instr)
5874
5875 #define DECODE_RIL_C_INSTRUCTION(m1, ri2) \
5876 Condition m1 = static_cast<Condition>(AS(RILInstruction)->R1Value()); \
5877 uint64_t ri2 = AS(RILInstruction)->I2Value(); \
5878 int length = 6;
5879
5880 #define DECODE_RXY_A_INSTRUCTION(r1, x2, b2, d2) \
5881 int r1 = AS(RXYInstruction)->R1Value(); \
5882 int x2 = AS(RXYInstruction)->X2Value(); \
5883 int b2 = AS(RXYInstruction)->B2Value(); \
5884 int d2 = AS(RXYInstruction)->D2Value(); \
5885 int length = 6;
5886
5887 #define DECODE_RRE_INSTRUCTION(r1, r2) \
5888 int r1 = AS(RREInstruction)->R1Value(); \
5889 int r2 = AS(RREInstruction)->R2Value(); \
5890 int length = 4;
5891
5892 #define DECODE_RR_INSTRUCTION(r1, r2) \
5893 int r1 = AS(RRInstruction)->R1Value(); \
5894 int r2 = AS(RRInstruction)->R2Value(); \
5895 int length = 2;
5896
5897 #define DECODE_RIE_D_INSTRUCTION(r1, r2, i2) \
5898 int r1 = AS(RIEInstruction)->R1Value(); \
5899 int r2 = AS(RIEInstruction)->R2Value(); \
5900 int32_t i2 = AS(RIEInstruction)->I6Value(); \
5901 int length = 6;
5902
5903 #define DECODE_RIE_F_INSTRUCTION(r1, r2, i3, i4, i5) \
5904 int r1 = AS(RIEInstruction)->R1Value(); \
5905 int r2 = AS(RIEInstruction)->R2Value(); \
5906 uint32_t i3 = AS(RIEInstruction)->I3Value(); \
5907 uint32_t i4 = AS(RIEInstruction)->I4Value(); \
5908 uint32_t i5 = AS(RIEInstruction)->I5Value(); \
5909 int length = 6;
5910
5911 #define DECODE_RSY_A_INSTRUCTION(r1, r3, b2, d2) \
5912 int r1 = AS(RSYInstruction)->R1Value(); \
5913 int r3 = AS(RSYInstruction)->R3Value(); \
5914 int b2 = AS(RSYInstruction)->B2Value(); \
5915 intptr_t d2 = AS(RSYInstruction)->D2Value(); \
5916 int length = 6;
5917
5918 #define DECODE_RI_A_INSTRUCTION(instr, r1, i2) \
5919 int32_t r1 = AS(RIInstruction)->R1Value(); \
5920 int16_t i2 = AS(RIInstruction)->I2Value(); \
5921 int length = 4;
5922
5923 #define DECODE_RI_C_INSTRUCTION(instr, m1, i2) \
5924 Condition m1 = static_cast<Condition>(AS(RIInstruction)->R1Value()); \
5925 int16_t i2 = AS(RIInstruction)->I2Value(); \
5926 int length = 4;
5927
5928 #define GET_ADDRESS(index_reg, base_reg, offset) \
5929 (((index_reg) == 0) ? 0 : get_register(index_reg)) + \
5930 (((base_reg) == 0) ? 0 : get_register(base_reg)) + offset
5931
5932 int Simulator::Evaluate_Unknown(Instruction* instr) {
5933 UNREACHABLE();
5934 return 0;
5935 }
5936
5937 EVALUATE(CLR) {
5938 DCHECK_OPCODE(CLR);
5939 DECODE_RR_INSTRUCTION(r1, r2);
5940 uint32_t r1_val = get_low_register<uint32_t>(r1);
5941 uint32_t r2_val = get_low_register<uint32_t>(r2);
5942 SetS390ConditionCode<uint32_t>(r1_val, r2_val);
5943 return length;
5944 }
5945
5946 EVALUATE(LR) {
5947 DCHECK_OPCODE(LR);
5948 DECODE_RR_INSTRUCTION(r1, r2);
5949 set_low_register(r1, get_low_register<int32_t>(r2));
5950 return length;
5951 }
5952
5953 EVALUATE(AR) {
5954 DCHECK_OPCODE(AR);
5955 DECODE_RR_INSTRUCTION(r1, r2);
5956 int32_t r1_val = get_low_register<int32_t>(r1);
5957 int32_t r2_val = get_low_register<int32_t>(r2);
5958 bool isOF = CheckOverflowForIntAdd(r1_val, r2_val, int32_t);
5959 r1_val += r2_val;
5960 SetS390ConditionCode<int32_t>(r1_val, 0);
5961 SetS390OverflowCode(isOF);
5962 set_low_register(r1, r1_val);
5963 return length;
5964 }
5965
5966 EVALUATE(L) {
5967 DCHECK_OPCODE(L);
5968 RXInstruction* rxinst = reinterpret_cast<RXInstruction*>(instr);
5969 int b2 = rxinst->B2Value();
5970 int x2 = rxinst->X2Value();
5971 int32_t r1 = rxinst->R1Value();
5972 int length = 4;
5973 int64_t b2_val = (b2 == 0) ? 0 : get_register(b2);
5974 int64_t x2_val = (x2 == 0) ? 0 : get_register(x2);
5975 intptr_t d2_val = rxinst->D2Value();
5976 intptr_t addr = b2_val + x2_val + d2_val;
5977 int32_t mem_val = ReadW(addr, instr);
5978 set_low_register(r1, mem_val);
5979 return length;
5980 }
5981
5982 EVALUATE(BRC) {
5983 DCHECK_OPCODE(BRC);
5984 DECODE_RI_C_INSTRUCTION(instr, m1, i2);
5985
5986 if (TestConditionCode(m1)) {
5987 intptr_t offset = 2 * i2;
5988 set_pc(get_pc() + offset);
5989 }
5990 return length;
5991 }
5992
5993 EVALUATE(AHI) {
5994 DCHECK_OPCODE(AHI);
5995 DECODE_RI_A_INSTRUCTION(instr, r1, i2);
5996 int32_t r1_val = get_low_register<int32_t>(r1);
5997 bool isOF = CheckOverflowForIntAdd(r1_val, i2, int32_t);
5998 r1_val += i2;
5999 set_low_register(r1, r1_val);
6000 SetS390ConditionCode<int32_t>(r1_val, 0);
6001 SetS390OverflowCode(isOF);
6002 return length;
6003 }
6004
6005 EVALUATE(AGHI) {
6006 DCHECK_OPCODE(AGHI);
6007 DECODE_RI_A_INSTRUCTION(instr, r1, i2);
6008 int64_t r1_val = get_register(r1);
6009 bool isOF = false;
6010 isOF = CheckOverflowForIntAdd(r1_val, i2, int64_t);
6011 r1_val += i2;
6012 set_register(r1, r1_val);
6013 SetS390ConditionCode<int64_t>(r1_val, 0);
6014 SetS390OverflowCode(isOF);
6015 return length;
6016 }
6017
6018 EVALUATE(BRCL) {
6019 DCHECK_OPCODE(BRCL);
6020 DECODE_RIL_C_INSTRUCTION(m1, ri2);
6021
6022 if (TestConditionCode(m1)) {
6023 intptr_t offset = 2 * ri2;
6024 set_pc(get_pc() + offset);
6025 }
6026 return length;
6027 }
6028
6029 EVALUATE(IIHF) {
6030 DCHECK_OPCODE(IIHF);
6031 RILInstruction* rilInstr = reinterpret_cast<RILInstruction*>(instr);
6032 int r1 = rilInstr->R1Value();
6033 uint32_t imm = rilInstr->I2UnsignedValue();
6034 int length = 6;
6035 set_high_register(r1, imm);
6036 return length;
6037 }
6038
6039 EVALUATE(IILF) {
6040 DCHECK_OPCODE(IILF);
6041 RILInstruction* rilInstr = reinterpret_cast<RILInstruction*>(instr);
6042 int r1 = rilInstr->R1Value();
6043 uint32_t imm = rilInstr->I2UnsignedValue();
6044 int length = 6;
6045 set_low_register(r1, imm);
6046 return length;
6047 }
6048
6049 EVALUATE(LGR) {
6050 DCHECK_OPCODE(LGR);
6051 DECODE_RRE_INSTRUCTION(r1, r2);
6052 set_register(r1, get_register(r2));
6053 return length;
6054 }
6055
6056 EVALUATE(LG) {
6057 DCHECK_OPCODE(LG);
6058 DECODE_RXY_A_INSTRUCTION(r1, x2, b2, d2);
6059 intptr_t addr = GET_ADDRESS(x2, b2, d2);
6060 int64_t mem_val = ReadDW(addr);
6061 set_register(r1, mem_val);
6062 return length;
6063 }
6064
6065 EVALUATE(AGR) {
6066 DCHECK_OPCODE(AGR);
6067 DECODE_RRE_INSTRUCTION(r1, r2);
6068 int64_t r1_val = get_register(r1);
6069 int64_t r2_val = get_register(r2);
6070 bool isOF = CheckOverflowForIntAdd(r1_val, r2_val, int64_t);
6071 r1_val += r2_val;
6072 set_register(r1, r1_val);
6073 SetS390ConditionCode<int64_t>(r1_val, 0);
6074 SetS390OverflowCode(isOF);
6075 return length;
6076 }
6077
6078 EVALUATE(LGFR) {
6079 DCHECK_OPCODE(LGFR);
6080 DECODE_RRE_INSTRUCTION(r1, r2);
6081 int32_t r2_val = get_low_register<int32_t>(r2);
6082 int64_t result = static_cast<int64_t>(r2_val);
6083 set_register(r1, result);
6084
6085 return length;
6086 }
6087
6088 EVALUATE(LBR) {
6089 DCHECK_OPCODE(LBR);
6090 DECODE_RRE_INSTRUCTION(r1, r2);
6091 int32_t r2_val = get_low_register<int32_t>(r2);
6092 r2_val <<= 24;
6093 r2_val >>= 24;
6094 set_low_register(r1, r2_val);
6095 return length;
6096 }
6097
6098 EVALUATE(LGF) {
6099 DCHECK_OPCODE(LGF);
6100 DECODE_RXY_A_INSTRUCTION(r1, x2, b2, d2);
6101 intptr_t addr = GET_ADDRESS(x2, b2, d2);
6102 int64_t mem_val = static_cast<int64_t>(ReadW(addr, instr));
6103 set_register(r1, mem_val);
6104 return length;
6105 }
6106
6107 EVALUATE(ST) {
6108 DCHECK_OPCODE(ST);
6109 RXInstruction* rxinst = reinterpret_cast<RXInstruction*>(instr);
6110 int b2 = rxinst->B2Value();
6111 int x2 = rxinst->X2Value();
6112 int length = 4;
6113 int32_t r1_val = get_low_register<int32_t>(rxinst->R1Value());
6114 int64_t b2_val = (b2 == 0) ? 0 : get_register(b2);
6115 int64_t x2_val = (x2 == 0) ? 0 : get_register(x2);
6116 intptr_t d2_val = rxinst->D2Value();
6117 intptr_t addr = b2_val + x2_val + d2_val;
6118 WriteW(addr, r1_val, instr);
6119 return length;
6120 }
6121
6122 EVALUATE(STG) {
6123 DCHECK_OPCODE(STG);
6124 DECODE_RXY_A_INSTRUCTION(r1, x2, b2, d2);
6125 intptr_t addr = GET_ADDRESS(x2, b2, d2);
6126 uint64_t value = get_register(r1);
6127 WriteDW(addr, value);
6128 return length;
6129 }
6130
6131 EVALUATE(STY) {
6132 DCHECK_OPCODE(STY);
6133 DECODE_RXY_A_INSTRUCTION(r1, x2, b2, d2);
6134 intptr_t addr = GET_ADDRESS(x2, b2, d2);
6135 uint32_t value = get_low_register<uint32_t>(r1);
6136 WriteW(addr, value, instr);
6137 return length;
6138 }
6139
6140 EVALUATE(LY) {
6141 DCHECK_OPCODE(LY);
6142 DECODE_RXY_A_INSTRUCTION(r1, x2, b2, d2);
6143 intptr_t addr = GET_ADDRESS(x2, b2, d2);
6144 uint32_t mem_val = ReadWU(addr, instr);
6145 set_low_register(r1, mem_val);
6146 return length;
6147 }
6148
6149 EVALUATE(LLGC) {
6150 DCHECK_OPCODE(LLGC);
6151 DECODE_RXY_A_INSTRUCTION(r1, x2, b2, d2);
6152 uint8_t mem_val = ReadBU(GET_ADDRESS(x2, b2, d2));
6153 set_register(r1, static_cast<uint64_t>(mem_val));
6154 return length;
6155 }
6156
6157 EVALUATE(LLC) {
6158 DCHECK_OPCODE(LLC);
6159 DECODE_RXY_A_INSTRUCTION(r1, x2, b2, d2);
6160 uint8_t mem_val = ReadBU(GET_ADDRESS(x2, b2, d2));
6161 set_low_register(r1, static_cast<uint32_t>(mem_val));
6162 return length;
6163 }
6164
6165 EVALUATE(RLL) {
6166 DCHECK_OPCODE(RLL);
6167 DECODE_RSY_A_INSTRUCTION(r1, r3, b2, d2);
6168 // only takes rightmost 6 bits
6169 int shiftBits = GET_ADDRESS(0, b2, d2) & 0x3F;
6170 // unsigned
6171 uint32_t r3_val = get_low_register<uint32_t>(r3);
6172 uint32_t alu_out = 0;
6173 uint32_t rotateBits = r3_val >> (32 - shiftBits);
6174 alu_out = (r3_val << shiftBits) | (rotateBits);
6175 set_low_register(r1, alu_out);
6176 return length;
6177 }
6178
6179 EVALUATE(RISBG) {
6180 DCHECK_OPCODE(RISBG);
6181 DECODE_RIE_F_INSTRUCTION(r1, r2, i3, i4, i5);
6182 // Starting Bit Position is Bits 2-7 of I3 field
6183 uint32_t start_bit = i3 & 0x3F;
6184 // Ending Bit Position is Bits 2-7 of I4 field
6185 uint32_t end_bit = i4 & 0x3F;
6186 // Shift Amount is Bits 2-7 of I5 field
6187 uint32_t shift_amount = i5 & 0x3F;
6188 // Zero out Remaining (unslected) bits if Bit 0 of I4 is 1.
6189 bool zero_remaining = (0 != (i4 & 0x80));
6190
6191 uint64_t src_val = get_register(r2);
6192
6193 // Rotate Left by Shift Amount first
6194 uint64_t rotated_val =
6195 (src_val << shift_amount) | (src_val >> (64 - shift_amount));
6196 int32_t width = end_bit - start_bit + 1;
6197
6198 uint64_t selection_mask = 0;
6199 if (width < 64) {
6200 selection_mask = (static_cast<uint64_t>(1) << width) - 1;
6201 } else {
6202 selection_mask = static_cast<uint64_t>(static_cast<int64_t>(-1));
6203 }
6204 selection_mask = selection_mask << (63 - end_bit);
6205
6206 uint64_t selected_val = rotated_val & selection_mask;
6207
6208 if (!zero_remaining) {
6209 // Merged the unselected bits from the original value
6210 selected_val = (src_val & ~selection_mask) | selected_val;
6211 }
6212
6213 // Condition code is set by treating result as 64-bit signed int
6214 SetS390ConditionCode<int64_t>(selected_val, 0);
6215 set_register(r1, selected_val);
6216 return length;
6217 }
6218
6219 EVALUATE(AHIK) {
6220 DCHECK_OPCODE(AHIK);
6221 DECODE_RIE_D_INSTRUCTION(r1, r2, i2);
6222 int32_t r2_val = get_low_register<int32_t>(r2);
6223 int32_t imm = static_cast<int32_t>(i2);
6224 bool isOF = CheckOverflowForIntAdd(r2_val, imm, int32_t);
6225 set_low_register(r1, r2_val + imm);
6226 SetS390ConditionCode<int32_t>(r2_val + imm, 0);
6227 SetS390OverflowCode(isOF);
6228 return length;
6229 }
6230
6231 EVALUATE(AGHIK) {
6232 // 64-bit Add
6233 DCHECK_OPCODE(AGHIK);
6234 DECODE_RIE_D_INSTRUCTION(r1, r2, i2);
6235 int64_t r2_val = get_register(r2);
6236 int64_t imm = static_cast<int64_t>(i2);
6237 bool isOF = CheckOverflowForIntAdd(r2_val, imm, int64_t);
6238 set_register(r1, r2_val + imm);
6239 SetS390ConditionCode<int64_t>(r2_val + imm, 0);
6240 SetS390OverflowCode(isOF);
6241 return length;
6242 }
6243
6244 EVALUATE(BKPT) { return DecodeInstructionOriginal(instr); }
6245
6246 EVALUATE(SPM) { return DecodeInstructionOriginal(instr); }
6247
6248 EVALUATE(BALR) { return DecodeInstructionOriginal(instr); }
6249
6250 EVALUATE(BCTR) { return DecodeInstructionOriginal(instr); }
6251
6252 EVALUATE(BCR) { return DecodeInstructionOriginal(instr); }
6253
6254 EVALUATE(SVC) { return DecodeInstructionOriginal(instr); }
6255
6256 EVALUATE(BSM) { return DecodeInstructionOriginal(instr); }
6257
6258 EVALUATE(BASSM) { return DecodeInstructionOriginal(instr); }
6259
6260 EVALUATE(BASR) { return DecodeInstructionOriginal(instr); }
6261
6262 EVALUATE(MVCL) { return DecodeInstructionOriginal(instr); }
6263
6264 EVALUATE(CLCL) { return DecodeInstructionOriginal(instr); }
6265
6266 EVALUATE(LPR) { return DecodeInstructionOriginal(instr); }
6267
6268 EVALUATE(LNR) { return DecodeInstructionOriginal(instr); }
6269
6270 EVALUATE(LTR) { return DecodeInstructionOriginal(instr); }
6271
6272 EVALUATE(LCR) { return DecodeInstructionOriginal(instr); }
6273
6274 EVALUATE(NR) { return DecodeInstructionOriginal(instr); }
6275
6276 EVALUATE(OR) { return DecodeInstructionOriginal(instr); }
6277
6278 EVALUATE(XR) { return DecodeInstructionOriginal(instr); }
6279
6280 EVALUATE(CR) { return DecodeInstructionOriginal(instr); }
6281
6282 EVALUATE(SR) { return DecodeInstructionOriginal(instr); }
6283
6284 EVALUATE(MR) { return DecodeInstructionOriginal(instr); }
6285
6286 EVALUATE(DR) { return DecodeInstructionOriginal(instr); }
6287
6288 EVALUATE(ALR) { return DecodeInstructionOriginal(instr); }
6289
6290 EVALUATE(SLR) { return DecodeInstructionOriginal(instr); }
6291
6292 EVALUATE(LDR) { return DecodeInstructionOriginal(instr); }
6293
6294 EVALUATE(CDR) { return DecodeInstructionOriginal(instr); }
6295
6296 EVALUATE(LER) { return DecodeInstructionOriginal(instr); }
6297
6298 EVALUATE(STH) { return DecodeInstructionOriginal(instr); }
6299
6300 EVALUATE(LA) { return DecodeInstructionOriginal(instr); }
6301
6302 EVALUATE(STC) { return DecodeInstructionOriginal(instr); }
6303
6304 EVALUATE(IC_z) { return DecodeInstructionOriginal(instr); }
6305
6306 EVALUATE(EX) { return DecodeInstructionOriginal(instr); }
6307
6308 EVALUATE(BAL) { return DecodeInstructionOriginal(instr); }
6309
6310 EVALUATE(BCT) { return DecodeInstructionOriginal(instr); }
6311
6312 EVALUATE(BC) { return DecodeInstructionOriginal(instr); }
6313
6314 EVALUATE(LH) { return DecodeInstructionOriginal(instr); }
6315
6316 EVALUATE(CH) { return DecodeInstructionOriginal(instr); }
6317
6318 EVALUATE(AH) { return DecodeInstructionOriginal(instr); }
6319
6320 EVALUATE(SH) { return DecodeInstructionOriginal(instr); }
6321
6322 EVALUATE(MH) { return DecodeInstructionOriginal(instr); }
6323
6324 EVALUATE(BAS) { return DecodeInstructionOriginal(instr); }
6325
6326 EVALUATE(CVD) { return DecodeInstructionOriginal(instr); }
6327
6328 EVALUATE(CVB) { return DecodeInstructionOriginal(instr); }
6329
6330 EVALUATE(LAE) { return DecodeInstructionOriginal(instr); }
6331
6332 EVALUATE(N) { return DecodeInstructionOriginal(instr); }
6333
6334 EVALUATE(CL) { return DecodeInstructionOriginal(instr); }
6335
6336 EVALUATE(O) { return DecodeInstructionOriginal(instr); }
6337
6338 EVALUATE(X) { return DecodeInstructionOriginal(instr); }
6339
6340 EVALUATE(C) { return DecodeInstructionOriginal(instr); }
6341
6342 EVALUATE(A) { return DecodeInstructionOriginal(instr); }
6343
6344 EVALUATE(S) { return DecodeInstructionOriginal(instr); }
6345
6346 EVALUATE(M) { return DecodeInstructionOriginal(instr); }
6347
6348 EVALUATE(D) { return DecodeInstructionOriginal(instr); }
6349
6350 EVALUATE(AL) { return DecodeInstructionOriginal(instr); }
6351
6352 EVALUATE(SL) { return DecodeInstructionOriginal(instr); }
6353
6354 EVALUATE(STD) { return DecodeInstructionOriginal(instr); }
6355
6356 EVALUATE(LD) { return DecodeInstructionOriginal(instr); }
6357
6358 EVALUATE(CD) { return DecodeInstructionOriginal(instr); }
6359
6360 EVALUATE(STE) { return DecodeInstructionOriginal(instr); }
6361
6362 EVALUATE(MS) { return DecodeInstructionOriginal(instr); }
6363
6364 EVALUATE(LE) { return DecodeInstructionOriginal(instr); }
6365
6366 EVALUATE(BRXH) { return DecodeInstructionOriginal(instr); }
6367
6368 EVALUATE(BRXLE) { return DecodeInstructionOriginal(instr); }
6369
6370 EVALUATE(BXH) { return DecodeInstructionOriginal(instr); }
6371
6372 EVALUATE(BXLE) { return DecodeInstructionOriginal(instr); }
6373
6374 EVALUATE(SRL) { return DecodeInstructionOriginal(instr); }
6375
6376 EVALUATE(SLL) { return DecodeInstructionOriginal(instr); }
6377
6378 EVALUATE(SRA) { return DecodeInstructionOriginal(instr); }
6379
6380 EVALUATE(SLA) { return DecodeInstructionOriginal(instr); }
6381
6382 EVALUATE(SRDL) { return DecodeInstructionOriginal(instr); }
6383
6384 EVALUATE(SLDL) { return DecodeInstructionOriginal(instr); }
6385
6386 EVALUATE(SRDA) { return DecodeInstructionOriginal(instr); }
6387
6388 EVALUATE(SLDA) { return DecodeInstructionOriginal(instr); }
6389
6390 EVALUATE(STM) { return DecodeInstructionOriginal(instr); }
6391
6392 EVALUATE(TM) { return DecodeInstructionOriginal(instr); }
6393
6394 EVALUATE(MVI) { return DecodeInstructionOriginal(instr); }
6395
6396 EVALUATE(TS) { return DecodeInstructionOriginal(instr); }
6397
6398 EVALUATE(NI) { return DecodeInstructionOriginal(instr); }
6399
6400 EVALUATE(CLI) { return DecodeInstructionOriginal(instr); }
6401
6402 EVALUATE(OI) { return DecodeInstructionOriginal(instr); }
6403
6404 EVALUATE(XI) { return DecodeInstructionOriginal(instr); }
6405
6406 EVALUATE(LM) { return DecodeInstructionOriginal(instr); }
6407
6408 EVALUATE(MVCLE) { return DecodeInstructionOriginal(instr); }
6409
6410 EVALUATE(CLCLE) { return DecodeInstructionOriginal(instr); }
6411
6412 EVALUATE(MC) { return DecodeInstructionOriginal(instr); }
6413
6414 EVALUATE(CDS) { return DecodeInstructionOriginal(instr); }
6415
6416 EVALUATE(STCM) { return DecodeInstructionOriginal(instr); }
6417
6418 EVALUATE(ICM) { return DecodeInstructionOriginal(instr); }
6419
6420 EVALUATE(BPRP) { return DecodeInstructionOriginal(instr); }
6421
6422 EVALUATE(BPP) { return DecodeInstructionOriginal(instr); }
6423
6424 EVALUATE(TRTR) { return DecodeInstructionOriginal(instr); }
6425
6426 EVALUATE(MVN) { return DecodeInstructionOriginal(instr); }
6427
6428 EVALUATE(MVC) { return DecodeInstructionOriginal(instr); }
6429
6430 EVALUATE(MVZ) { return DecodeInstructionOriginal(instr); }
6431
6432 EVALUATE(NC) { return DecodeInstructionOriginal(instr); }
6433
6434 EVALUATE(CLC) { return DecodeInstructionOriginal(instr); }
6435
6436 EVALUATE(OC) { return DecodeInstructionOriginal(instr); }
6437
6438 EVALUATE(XC) { return DecodeInstructionOriginal(instr); }
6439
6440 EVALUATE(MVCP) { return DecodeInstructionOriginal(instr); }
6441
6442 EVALUATE(TR) { return DecodeInstructionOriginal(instr); }
6443
6444 EVALUATE(TRT) { return DecodeInstructionOriginal(instr); }
6445
6446 EVALUATE(ED) { return DecodeInstructionOriginal(instr); }
6447
6448 EVALUATE(EDMK) { return DecodeInstructionOriginal(instr); }
6449
6450 EVALUATE(PKU) { return DecodeInstructionOriginal(instr); }
6451
6452 EVALUATE(UNPKU) { return DecodeInstructionOriginal(instr); }
6453
6454 EVALUATE(MVCIN) { return DecodeInstructionOriginal(instr); }
6455
6456 EVALUATE(PKA) { return DecodeInstructionOriginal(instr); }
6457
6458 EVALUATE(UNPKA) { return DecodeInstructionOriginal(instr); }
6459
6460 EVALUATE(PLO) { return DecodeInstructionOriginal(instr); }
6461
6462 EVALUATE(LMD) { return DecodeInstructionOriginal(instr); }
6463
6464 EVALUATE(SRP) { return DecodeInstructionOriginal(instr); }
6465
6466 EVALUATE(MVO) { return DecodeInstructionOriginal(instr); }
6467
6468 EVALUATE(PACK) { return DecodeInstructionOriginal(instr); }
6469
6470 EVALUATE(UNPK) { return DecodeInstructionOriginal(instr); }
6471
6472 EVALUATE(ZAP) { return DecodeInstructionOriginal(instr); }
6473
6474 EVALUATE(AP) { return DecodeInstructionOriginal(instr); }
6475
6476 EVALUATE(SP) { return DecodeInstructionOriginal(instr); }
6477
6478 EVALUATE(MP) { return DecodeInstructionOriginal(instr); }
6479
6480 EVALUATE(DP) { return DecodeInstructionOriginal(instr); }
6481
6482 EVALUATE(UPT) { return DecodeInstructionOriginal(instr); }
6483
6484 EVALUATE(PFPO) { return DecodeInstructionOriginal(instr); }
6485
6486 EVALUATE(IIHH) { return DecodeInstructionOriginal(instr); }
6487
6488 EVALUATE(IIHL) { return DecodeInstructionOriginal(instr); }
6489
6490 EVALUATE(IILH) { return DecodeInstructionOriginal(instr); }
6491
6492 EVALUATE(IILL) { return DecodeInstructionOriginal(instr); }
6493
6494 EVALUATE(NIHH) { return DecodeInstructionOriginal(instr); }
6495
6496 EVALUATE(NIHL) { return DecodeInstructionOriginal(instr); }
6497
6498 EVALUATE(NILH) { return DecodeInstructionOriginal(instr); }
6499
6500 EVALUATE(NILL) { return DecodeInstructionOriginal(instr); }
6501
6502 EVALUATE(OIHH) { return DecodeInstructionOriginal(instr); }
6503
6504 EVALUATE(OIHL) { return DecodeInstructionOriginal(instr); }
6505
6506 EVALUATE(OILH) { return DecodeInstructionOriginal(instr); }
6507
6508 EVALUATE(OILL) { return DecodeInstructionOriginal(instr); }
6509
6510 EVALUATE(LLIHH) { return DecodeInstructionOriginal(instr); }
6511
6512 EVALUATE(LLIHL) { return DecodeInstructionOriginal(instr); }
6513
6514 EVALUATE(LLILH) { return DecodeInstructionOriginal(instr); }
6515
6516 EVALUATE(LLILL) { return DecodeInstructionOriginal(instr); }
6517
6518 EVALUATE(TMLH) { return DecodeInstructionOriginal(instr); }
6519
6520 EVALUATE(TMLL) { return DecodeInstructionOriginal(instr); }
6521
6522 EVALUATE(TMHH) { return DecodeInstructionOriginal(instr); }
6523
6524 EVALUATE(TMHL) { return DecodeInstructionOriginal(instr); }
6525
6526 EVALUATE(BRAS) { return DecodeInstructionOriginal(instr); }
6527
6528 EVALUATE(BRCT) { return DecodeInstructionOriginal(instr); }
6529
6530 EVALUATE(BRCTG) { return DecodeInstructionOriginal(instr); }
6531
6532 EVALUATE(LHI) { return DecodeInstructionOriginal(instr); }
6533
6534 EVALUATE(LGHI) { return DecodeInstructionOriginal(instr); }
6535
6536 EVALUATE(MHI) { return DecodeInstructionOriginal(instr); }
6537
6538 EVALUATE(MGHI) { return DecodeInstructionOriginal(instr); }
6539
6540 EVALUATE(CHI) { return DecodeInstructionOriginal(instr); }
6541
6542 EVALUATE(CGHI) { return DecodeInstructionOriginal(instr); }
6543
6544 EVALUATE(LARL) { return DecodeInstructionOriginal(instr); }
6545
6546 EVALUATE(LGFI) { return DecodeInstructionOriginal(instr); }
6547
6548 EVALUATE(BRASL) { return DecodeInstructionOriginal(instr); }
6549
6550 EVALUATE(XIHF) { return DecodeInstructionOriginal(instr); }
6551
6552 EVALUATE(XILF) { return DecodeInstructionOriginal(instr); }
6553
6554 EVALUATE(NIHF) { return DecodeInstructionOriginal(instr); }
6555
6556 EVALUATE(NILF) { return DecodeInstructionOriginal(instr); }
6557
6558 EVALUATE(OIHF) { return DecodeInstructionOriginal(instr); }
6559
6560 EVALUATE(OILF) { return DecodeInstructionOriginal(instr); }
6561
6562 EVALUATE(LLIHF) { return DecodeInstructionOriginal(instr); }
6563
6564 EVALUATE(LLILF) { return DecodeInstructionOriginal(instr); }
6565
6566 EVALUATE(MSGFI) { return DecodeInstructionOriginal(instr); }
6567
6568 EVALUATE(MSFI) { return DecodeInstructionOriginal(instr); }
6569
6570 EVALUATE(SLGFI) { return DecodeInstructionOriginal(instr); }
6571
6572 EVALUATE(SLFI) { return DecodeInstructionOriginal(instr); }
6573
6574 EVALUATE(AGFI) { return DecodeInstructionOriginal(instr); }
6575
6576 EVALUATE(AFI) { return DecodeInstructionOriginal(instr); }
6577
6578 EVALUATE(ALGFI) { return DecodeInstructionOriginal(instr); }
6579
6580 EVALUATE(ALFI) { return DecodeInstructionOriginal(instr); }
6581
6582 EVALUATE(CGFI) { return DecodeInstructionOriginal(instr); }
6583
6584 EVALUATE(CFI) { return DecodeInstructionOriginal(instr); }
6585
6586 EVALUATE(CLGFI) { return DecodeInstructionOriginal(instr); }
6587
6588 EVALUATE(CLFI) { return DecodeInstructionOriginal(instr); }
6589
6590 EVALUATE(LLHRL) { return DecodeInstructionOriginal(instr); }
6591
6592 EVALUATE(LGHRL) { return DecodeInstructionOriginal(instr); }
6593
6594 EVALUATE(LHRL) { return DecodeInstructionOriginal(instr); }
6595
6596 EVALUATE(LLGHRL) { return DecodeInstructionOriginal(instr); }
6597
6598 EVALUATE(STHRL) { return DecodeInstructionOriginal(instr); }
6599
6600 EVALUATE(LGRL) { return DecodeInstructionOriginal(instr); }
6601
6602 EVALUATE(STGRL) { return DecodeInstructionOriginal(instr); }
6603
6604 EVALUATE(LGFRL) { return DecodeInstructionOriginal(instr); }
6605
6606 EVALUATE(LRL) { return DecodeInstructionOriginal(instr); }
6607
6608 EVALUATE(LLGFRL) { return DecodeInstructionOriginal(instr); }
6609
6610 EVALUATE(STRL) { return DecodeInstructionOriginal(instr); }
6611
6612 EVALUATE(EXRL) { return DecodeInstructionOriginal(instr); }
6613
6614 EVALUATE(PFDRL) { return DecodeInstructionOriginal(instr); }
6615
6616 EVALUATE(CGHRL) { return DecodeInstructionOriginal(instr); }
6617
6618 EVALUATE(CHRL) { return DecodeInstructionOriginal(instr); }
6619
6620 EVALUATE(CGRL) { return DecodeInstructionOriginal(instr); }
6621
6622 EVALUATE(CGFRL) { return DecodeInstructionOriginal(instr); }
6623
6624 EVALUATE(ECTG) { return DecodeInstructionOriginal(instr); }
6625
6626 EVALUATE(CSST) { return DecodeInstructionOriginal(instr); }
6627
6628 EVALUATE(LPD) { return DecodeInstructionOriginal(instr); }
6629
6630 EVALUATE(LPDG) { return DecodeInstructionOriginal(instr); }
6631
6632 EVALUATE(BRCTH) { return DecodeInstructionOriginal(instr); }
6633
6634 EVALUATE(AIH) { return DecodeInstructionOriginal(instr); }
6635
6636 EVALUATE(ALSIH) { return DecodeInstructionOriginal(instr); }
6637
6638 EVALUATE(ALSIHN) { return DecodeInstructionOriginal(instr); }
6639
6640 EVALUATE(CIH) { return DecodeInstructionOriginal(instr); }
6641
6642 EVALUATE(STCK) { return DecodeInstructionOriginal(instr); }
6643
6644 EVALUATE(CFC) { return DecodeInstructionOriginal(instr); }
6645
6646 EVALUATE(IPM) { return DecodeInstructionOriginal(instr); }
6647
6648 EVALUATE(HSCH) { return DecodeInstructionOriginal(instr); }
6649
6650 EVALUATE(MSCH) { return DecodeInstructionOriginal(instr); }
6651
6652 EVALUATE(SSCH) { return DecodeInstructionOriginal(instr); }
6653
6654 EVALUATE(STSCH) { return DecodeInstructionOriginal(instr); }
6655
6656 EVALUATE(TSCH) { return DecodeInstructionOriginal(instr); }
6657
6658 EVALUATE(TPI) { return DecodeInstructionOriginal(instr); }
6659
6660 EVALUATE(SAL) { return DecodeInstructionOriginal(instr); }
6661
6662 EVALUATE(RSCH) { return DecodeInstructionOriginal(instr); }
6663
6664 EVALUATE(STCRW) { return DecodeInstructionOriginal(instr); }
6665
6666 EVALUATE(STCPS) { return DecodeInstructionOriginal(instr); }
6667
6668 EVALUATE(RCHP) { return DecodeInstructionOriginal(instr); }
6669
6670 EVALUATE(SCHM) { return DecodeInstructionOriginal(instr); }
6671
6672 EVALUATE(CKSM) { return DecodeInstructionOriginal(instr); }
6673
6674 EVALUATE(SAR) { return DecodeInstructionOriginal(instr); }
6675
6676 EVALUATE(EAR) { return DecodeInstructionOriginal(instr); }
6677
6678 EVALUATE(MSR) { return DecodeInstructionOriginal(instr); }
6679
6680 EVALUATE(MVST) { return DecodeInstructionOriginal(instr); }
6681
6682 EVALUATE(CUSE) { return DecodeInstructionOriginal(instr); }
6683
6684 EVALUATE(SRST) { return DecodeInstructionOriginal(instr); }
6685
6686 EVALUATE(XSCH) { return DecodeInstructionOriginal(instr); }
6687
6688 EVALUATE(STCKE) { return DecodeInstructionOriginal(instr); }
6689
6690 EVALUATE(STCKF) { return DecodeInstructionOriginal(instr); }
6691
6692 EVALUATE(SRNM) { return DecodeInstructionOriginal(instr); }
6693
6694 EVALUATE(STFPC) { return DecodeInstructionOriginal(instr); }
6695
6696 EVALUATE(LFPC) { return DecodeInstructionOriginal(instr); }
6697
6698 EVALUATE(TRE) { return DecodeInstructionOriginal(instr); }
6699
6700 EVALUATE(CUUTF) { return DecodeInstructionOriginal(instr); }
6701
6702 EVALUATE(CUTFU) { return DecodeInstructionOriginal(instr); }
6703
6704 EVALUATE(STFLE) { return DecodeInstructionOriginal(instr); }
6705
6706 EVALUATE(SRNMB) { return DecodeInstructionOriginal(instr); }
6707
6708 EVALUATE(SRNMT) { return DecodeInstructionOriginal(instr); }
6709
6710 EVALUATE(LFAS) { return DecodeInstructionOriginal(instr); }
6711
6712 EVALUATE(PPA) { return DecodeInstructionOriginal(instr); }
6713
6714 EVALUATE(ETND) { return DecodeInstructionOriginal(instr); }
6715
6716 EVALUATE(TEND) { return DecodeInstructionOriginal(instr); }
6717
6718 EVALUATE(NIAI) { return DecodeInstructionOriginal(instr); }
6719
6720 EVALUATE(TABORT) { return DecodeInstructionOriginal(instr); }
6721
6722 EVALUATE(TRAP4) { return DecodeInstructionOriginal(instr); }
6723
6724 EVALUATE(LPEBR) { return DecodeInstructionOriginal(instr); }
6725
6726 EVALUATE(LNEBR) { return DecodeInstructionOriginal(instr); }
6727
6728 EVALUATE(LTEBR) { return DecodeInstructionOriginal(instr); }
6729
6730 EVALUATE(LCEBR) { return DecodeInstructionOriginal(instr); }
6731
6732 EVALUATE(LDEBR) { return DecodeInstructionOriginal(instr); }
6733
6734 EVALUATE(LXDBR) { return DecodeInstructionOriginal(instr); }
6735
6736 EVALUATE(LXEBR) { return DecodeInstructionOriginal(instr); }
6737
6738 EVALUATE(MXDBR) { return DecodeInstructionOriginal(instr); }
6739
6740 EVALUATE(KEBR) { return DecodeInstructionOriginal(instr); }
6741
6742 EVALUATE(CEBR) { return DecodeInstructionOriginal(instr); }
6743
6744 EVALUATE(AEBR) { return DecodeInstructionOriginal(instr); }
6745
6746 EVALUATE(SEBR) { return DecodeInstructionOriginal(instr); }
6747
6748 EVALUATE(MDEBR) { return DecodeInstructionOriginal(instr); }
6749
6750 EVALUATE(DEBR) { return DecodeInstructionOriginal(instr); }
6751
6752 EVALUATE(MAEBR) { return DecodeInstructionOriginal(instr); }
6753
6754 EVALUATE(MSEBR) { return DecodeInstructionOriginal(instr); }
6755
6756 EVALUATE(LPDBR) { return DecodeInstructionOriginal(instr); }
6757
6758 EVALUATE(LNDBR) { return DecodeInstructionOriginal(instr); }
6759
6760 EVALUATE(LTDBR) { return DecodeInstructionOriginal(instr); }
6761
6762 EVALUATE(LCDBR) { return DecodeInstructionOriginal(instr); }
6763
6764 EVALUATE(SQEBR) { return DecodeInstructionOriginal(instr); }
6765
6766 EVALUATE(SQDBR) { return DecodeInstructionOriginal(instr); }
6767
6768 EVALUATE(SQXBR) { return DecodeInstructionOriginal(instr); }
6769
6770 EVALUATE(MEEBR) { return DecodeInstructionOriginal(instr); }
6771
6772 EVALUATE(KDBR) { return DecodeInstructionOriginal(instr); }
6773
6774 EVALUATE(CDBR) { return DecodeInstructionOriginal(instr); }
6775
6776 EVALUATE(ADBR) { return DecodeInstructionOriginal(instr); }
6777
6778 EVALUATE(SDBR) { return DecodeInstructionOriginal(instr); }
6779
6780 EVALUATE(MDBR) { return DecodeInstructionOriginal(instr); }
6781
6782 EVALUATE(DDBR) { return DecodeInstructionOriginal(instr); }
6783
6784 EVALUATE(MADBR) { return DecodeInstructionOriginal(instr); }
6785
6786 EVALUATE(MSDBR) { return DecodeInstructionOriginal(instr); }
6787
6788 EVALUATE(LPXBR) { return DecodeInstructionOriginal(instr); }
6789
6790 EVALUATE(LNXBR) { return DecodeInstructionOriginal(instr); }
6791
6792 EVALUATE(LTXBR) { return DecodeInstructionOriginal(instr); }
6793
6794 EVALUATE(LCXBR) { return DecodeInstructionOriginal(instr); }
6795
6796 EVALUATE(LEDBRA) { return DecodeInstructionOriginal(instr); }
6797
6798 EVALUATE(LDXBRA) { return DecodeInstructionOriginal(instr); }
6799
6800 EVALUATE(LEXBRA) { return DecodeInstructionOriginal(instr); }
6801
6802 EVALUATE(FIXBRA) { return DecodeInstructionOriginal(instr); }
6803
6804 EVALUATE(KXBR) { return DecodeInstructionOriginal(instr); }
6805
6806 EVALUATE(CXBR) { return DecodeInstructionOriginal(instr); }
6807
6808 EVALUATE(AXBR) { return DecodeInstructionOriginal(instr); }
6809
6810 EVALUATE(SXBR) { return DecodeInstructionOriginal(instr); }
6811
6812 EVALUATE(MXBR) { return DecodeInstructionOriginal(instr); }
6813
6814 EVALUATE(DXBR) { return DecodeInstructionOriginal(instr); }
6815
6816 EVALUATE(TBEDR) { return DecodeInstructionOriginal(instr); }
6817
6818 EVALUATE(TBDR) { return DecodeInstructionOriginal(instr); }
6819
6820 EVALUATE(DIEBR) { return DecodeInstructionOriginal(instr); }
6821
6822 EVALUATE(FIEBRA) { return DecodeInstructionOriginal(instr); }
6823
6824 EVALUATE(THDER) { return DecodeInstructionOriginal(instr); }
6825
6826 EVALUATE(THDR) { return DecodeInstructionOriginal(instr); }
6827
6828 EVALUATE(DIDBR) { return DecodeInstructionOriginal(instr); }
6829
6830 EVALUATE(FIDBRA) { return DecodeInstructionOriginal(instr); }
6831
6832 EVALUATE(LXR) { return DecodeInstructionOriginal(instr); }
6833
6834 EVALUATE(LPDFR) { return DecodeInstructionOriginal(instr); }
6835
6836 EVALUATE(LNDFR) { return DecodeInstructionOriginal(instr); }
6837
6838 EVALUATE(LCDFR) { return DecodeInstructionOriginal(instr); }
6839
6840 EVALUATE(LZER) { return DecodeInstructionOriginal(instr); }
6841
6842 EVALUATE(LZDR) { return DecodeInstructionOriginal(instr); }
6843
6844 EVALUATE(LZXR) { return DecodeInstructionOriginal(instr); }
6845
6846 EVALUATE(SFPC) { return DecodeInstructionOriginal(instr); }
6847
6848 EVALUATE(SFASR) { return DecodeInstructionOriginal(instr); }
6849
6850 EVALUATE(EFPC) { return DecodeInstructionOriginal(instr); }
6851
6852 EVALUATE(CELFBR) { return DecodeInstructionOriginal(instr); }
6853
6854 EVALUATE(CDLFBR) { return DecodeInstructionOriginal(instr); }
6855
6856 EVALUATE(CXLFBR) { return DecodeInstructionOriginal(instr); }
6857
6858 EVALUATE(CEFBRA) { return DecodeInstructionOriginal(instr); }
6859
6860 EVALUATE(CDFBRA) { return DecodeInstructionOriginal(instr); }
6861
6862 EVALUATE(CXFBRA) { return DecodeInstructionOriginal(instr); }
6863
6864 EVALUATE(CFEBRA) { return DecodeInstructionOriginal(instr); }
6865
6866 EVALUATE(CFDBRA) { return DecodeInstructionOriginal(instr); }
6867
6868 EVALUATE(CFXBRA) { return DecodeInstructionOriginal(instr); }
6869
6870 EVALUATE(CLFEBR) { return DecodeInstructionOriginal(instr); }
6871
6872 EVALUATE(CLFDBR) { return DecodeInstructionOriginal(instr); }
6873
6874 EVALUATE(CLFXBR) { return DecodeInstructionOriginal(instr); }
6875
6876 EVALUATE(CELGBR) { return DecodeInstructionOriginal(instr); }
6877
6878 EVALUATE(CDLGBR) { return DecodeInstructionOriginal(instr); }
6879
6880 EVALUATE(CXLGBR) { return DecodeInstructionOriginal(instr); }
6881
6882 EVALUATE(CEGBRA) { return DecodeInstructionOriginal(instr); }
6883
6884 EVALUATE(CDGBRA) { return DecodeInstructionOriginal(instr); }
6885
6886 EVALUATE(CXGBRA) { return DecodeInstructionOriginal(instr); }
6887
6888 EVALUATE(CGEBRA) { return DecodeInstructionOriginal(instr); }
6889
6890 EVALUATE(CGDBRA) { return DecodeInstructionOriginal(instr); }
6891
6892 EVALUATE(CGXBRA) { return DecodeInstructionOriginal(instr); }
6893
6894 EVALUATE(CLGEBR) { return DecodeInstructionOriginal(instr); }
6895
6896 EVALUATE(CLGDBR) { return DecodeInstructionOriginal(instr); }
6897
6898 EVALUATE(CFER) { return DecodeInstructionOriginal(instr); }
6899
6900 EVALUATE(CFDR) { return DecodeInstructionOriginal(instr); }
6901
6902 EVALUATE(CFXR) { return DecodeInstructionOriginal(instr); }
6903
6904 EVALUATE(LDGR) { return DecodeInstructionOriginal(instr); }
6905
6906 EVALUATE(CGER) { return DecodeInstructionOriginal(instr); }
6907
6908 EVALUATE(CGDR) { return DecodeInstructionOriginal(instr); }
6909
6910 EVALUATE(CGXR) { return DecodeInstructionOriginal(instr); }
6911
6912 EVALUATE(LGDR) { return DecodeInstructionOriginal(instr); }
6913
6914 EVALUATE(MDTR) { return DecodeInstructionOriginal(instr); }
6915
6916 EVALUATE(MDTRA) { return DecodeInstructionOriginal(instr); }
6917
6918 EVALUATE(DDTRA) { return DecodeInstructionOriginal(instr); }
6919
6920 EVALUATE(ADTRA) { return DecodeInstructionOriginal(instr); }
6921
6922 EVALUATE(SDTRA) { return DecodeInstructionOriginal(instr); }
6923
6924 EVALUATE(LDETR) { return DecodeInstructionOriginal(instr); }
6925
6926 EVALUATE(LEDTR) { return DecodeInstructionOriginal(instr); }
6927
6928 EVALUATE(LTDTR) { return DecodeInstructionOriginal(instr); }
6929
6930 EVALUATE(FIDTR) { return DecodeInstructionOriginal(instr); }
6931
6932 EVALUATE(MXTRA) { return DecodeInstructionOriginal(instr); }
6933
6934 EVALUATE(DXTRA) { return DecodeInstructionOriginal(instr); }
6935
6936 EVALUATE(AXTRA) { return DecodeInstructionOriginal(instr); }
6937
6938 EVALUATE(SXTRA) { return DecodeInstructionOriginal(instr); }
6939
6940 EVALUATE(LXDTR) { return DecodeInstructionOriginal(instr); }
6941
6942 EVALUATE(LDXTR) { return DecodeInstructionOriginal(instr); }
6943
6944 EVALUATE(LTXTR) { return DecodeInstructionOriginal(instr); }
6945
6946 EVALUATE(FIXTR) { return DecodeInstructionOriginal(instr); }
6947
6948 EVALUATE(KDTR) { return DecodeInstructionOriginal(instr); }
6949
6950 EVALUATE(CGDTRA) { return DecodeInstructionOriginal(instr); }
6951
6952 EVALUATE(CUDTR) { return DecodeInstructionOriginal(instr); }
6953
6954 EVALUATE(CDTR) { return DecodeInstructionOriginal(instr); }
6955
6956 EVALUATE(EEDTR) { return DecodeInstructionOriginal(instr); }
6957
6958 EVALUATE(ESDTR) { return DecodeInstructionOriginal(instr); }
6959
6960 EVALUATE(KXTR) { return DecodeInstructionOriginal(instr); }
6961
6962 EVALUATE(CGXTRA) { return DecodeInstructionOriginal(instr); }
6963
6964 EVALUATE(CUXTR) { return DecodeInstructionOriginal(instr); }
6965
6966 EVALUATE(CSXTR) { return DecodeInstructionOriginal(instr); }
6967
6968 EVALUATE(CXTR) { return DecodeInstructionOriginal(instr); }
6969
6970 EVALUATE(EEXTR) { return DecodeInstructionOriginal(instr); }
6971
6972 EVALUATE(ESXTR) { return DecodeInstructionOriginal(instr); }
6973
6974 EVALUATE(CDGTRA) { return DecodeInstructionOriginal(instr); }
6975
6976 EVALUATE(CDUTR) { return DecodeInstructionOriginal(instr); }
6977
6978 EVALUATE(CDSTR) { return DecodeInstructionOriginal(instr); }
6979
6980 EVALUATE(CEDTR) { return DecodeInstructionOriginal(instr); }
6981
6982 EVALUATE(QADTR) { return DecodeInstructionOriginal(instr); }
6983
6984 EVALUATE(IEDTR) { return DecodeInstructionOriginal(instr); }
6985
6986 EVALUATE(RRDTR) { return DecodeInstructionOriginal(instr); }
6987
6988 EVALUATE(CXGTRA) { return DecodeInstructionOriginal(instr); }
6989
6990 EVALUATE(CXUTR) { return DecodeInstructionOriginal(instr); }
6991
6992 EVALUATE(CXSTR) { return DecodeInstructionOriginal(instr); }
6993
6994 EVALUATE(CEXTR) { return DecodeInstructionOriginal(instr); }
6995
6996 EVALUATE(QAXTR) { return DecodeInstructionOriginal(instr); }
6997
6998 EVALUATE(IEXTR) { return DecodeInstructionOriginal(instr); }
6999
7000 EVALUATE(RRXTR) { return DecodeInstructionOriginal(instr); }
7001
7002 EVALUATE(LPGR) { return DecodeInstructionOriginal(instr); }
7003
7004 EVALUATE(LNGR) { return DecodeInstructionOriginal(instr); }
7005
7006 EVALUATE(LTGR) { return DecodeInstructionOriginal(instr); }
7007
7008 EVALUATE(LCGR) { return DecodeInstructionOriginal(instr); }
7009
7010 EVALUATE(LGBR) { return DecodeInstructionOriginal(instr); }
7011
7012 EVALUATE(LGHR) { return DecodeInstructionOriginal(instr); }
7013
7014 EVALUATE(SGR) { return DecodeInstructionOriginal(instr); }
7015
7016 EVALUATE(ALGR) { return DecodeInstructionOriginal(instr); }
7017
7018 EVALUATE(SLGR) { return DecodeInstructionOriginal(instr); }
7019
7020 EVALUATE(MSGR) { return DecodeInstructionOriginal(instr); }
7021
7022 EVALUATE(DSGR) { return DecodeInstructionOriginal(instr); }
7023
7024 EVALUATE(LRVGR) { return DecodeInstructionOriginal(instr); }
7025
7026 EVALUATE(LPGFR) { return DecodeInstructionOriginal(instr); }
7027
7028 EVALUATE(LNGFR) { return DecodeInstructionOriginal(instr); }
7029
7030 EVALUATE(LTGFR) { return DecodeInstructionOriginal(instr); }
7031
7032 EVALUATE(LCGFR) { return DecodeInstructionOriginal(instr); }
7033
7034 EVALUATE(LLGFR) { return DecodeInstructionOriginal(instr); }
7035
7036 EVALUATE(LLGTR) { return DecodeInstructionOriginal(instr); }
7037
7038 EVALUATE(AGFR) { return DecodeInstructionOriginal(instr); }
7039
7040 EVALUATE(SGFR) { return DecodeInstructionOriginal(instr); }
7041
7042 EVALUATE(ALGFR) { return DecodeInstructionOriginal(instr); }
7043
7044 EVALUATE(SLGFR) { return DecodeInstructionOriginal(instr); }
7045
7046 EVALUATE(MSGFR) { return DecodeInstructionOriginal(instr); }
7047
7048 EVALUATE(DSGFR) { return DecodeInstructionOriginal(instr); }
7049
7050 EVALUATE(KMAC) { return DecodeInstructionOriginal(instr); }
7051
7052 EVALUATE(LRVR) { return DecodeInstructionOriginal(instr); }
7053
7054 EVALUATE(CGR) { return DecodeInstructionOriginal(instr); }
7055
7056 EVALUATE(CLGR) { return DecodeInstructionOriginal(instr); }
7057
7058 EVALUATE(LHR) { return DecodeInstructionOriginal(instr); }
7059
7060 EVALUATE(KMF) { return DecodeInstructionOriginal(instr); }
7061
7062 EVALUATE(KMO) { return DecodeInstructionOriginal(instr); }
7063
7064 EVALUATE(PCC) { return DecodeInstructionOriginal(instr); }
7065
7066 EVALUATE(KMCTR) { return DecodeInstructionOriginal(instr); }
7067
7068 EVALUATE(KM) { return DecodeInstructionOriginal(instr); }
7069
7070 EVALUATE(KMC) { return DecodeInstructionOriginal(instr); }
7071
7072 EVALUATE(CGFR) { return DecodeInstructionOriginal(instr); }
7073
7074 EVALUATE(KIMD) { return DecodeInstructionOriginal(instr); }
7075
7076 EVALUATE(KLMD) { return DecodeInstructionOriginal(instr); }
7077
7078 EVALUATE(CFDTR) { return DecodeInstructionOriginal(instr); }
7079
7080 EVALUATE(CLGDTR) { return DecodeInstructionOriginal(instr); }
7081
7082 EVALUATE(CLFDTR) { return DecodeInstructionOriginal(instr); }
7083
7084 EVALUATE(BCTGR) { return DecodeInstructionOriginal(instr); }
7085
7086 EVALUATE(CFXTR) { return DecodeInstructionOriginal(instr); }
7087
7088 EVALUATE(CLFXTR) { return DecodeInstructionOriginal(instr); }
7089
7090 EVALUATE(CDFTR) { return DecodeInstructionOriginal(instr); }
7091
7092 EVALUATE(CDLGTR) { return DecodeInstructionOriginal(instr); }
7093
7094 EVALUATE(CDLFTR) { return DecodeInstructionOriginal(instr); }
7095
7096 EVALUATE(CXFTR) { return DecodeInstructionOriginal(instr); }
7097
7098 EVALUATE(CXLGTR) { return DecodeInstructionOriginal(instr); }
7099
7100 EVALUATE(CXLFTR) { return DecodeInstructionOriginal(instr); }
7101
7102 EVALUATE(CGRT) { return DecodeInstructionOriginal(instr); }
7103
7104 EVALUATE(NGR) { return DecodeInstructionOriginal(instr); }
7105
7106 EVALUATE(OGR) { return DecodeInstructionOriginal(instr); }
7107
7108 EVALUATE(XGR) { return DecodeInstructionOriginal(instr); }
7109
7110 EVALUATE(FLOGR) { return DecodeInstructionOriginal(instr); }
7111
7112 EVALUATE(LLGCR) { return DecodeInstructionOriginal(instr); }
7113
7114 EVALUATE(LLGHR) { return DecodeInstructionOriginal(instr); }
7115
7116 EVALUATE(MLGR) { return DecodeInstructionOriginal(instr); }
7117
7118 EVALUATE(DLGR) { return DecodeInstructionOriginal(instr); }
7119
7120 EVALUATE(ALCGR) { return DecodeInstructionOriginal(instr); }
7121
7122 EVALUATE(SLBGR) { return DecodeInstructionOriginal(instr); }
7123
7124 EVALUATE(EPSW) { return DecodeInstructionOriginal(instr); }
7125
7126 EVALUATE(TRTT) { return DecodeInstructionOriginal(instr); }
7127
7128 EVALUATE(TRTO) { return DecodeInstructionOriginal(instr); }
7129
7130 EVALUATE(TROT) { return DecodeInstructionOriginal(instr); }
7131
7132 EVALUATE(TROO) { return DecodeInstructionOriginal(instr); }
7133
7134 EVALUATE(LLCR) { return DecodeInstructionOriginal(instr); }
7135
7136 EVALUATE(LLHR) { return DecodeInstructionOriginal(instr); }
7137
7138 EVALUATE(MLR) { return DecodeInstructionOriginal(instr); }
7139
7140 EVALUATE(DLR) { return DecodeInstructionOriginal(instr); }
7141
7142 EVALUATE(ALCR) { return DecodeInstructionOriginal(instr); }
7143
7144 EVALUATE(SLBR) { return DecodeInstructionOriginal(instr); }
7145
7146 EVALUATE(CU14) { return DecodeInstructionOriginal(instr); }
7147
7148 EVALUATE(CU24) { return DecodeInstructionOriginal(instr); }
7149
7150 EVALUATE(CU41) { return DecodeInstructionOriginal(instr); }
7151
7152 EVALUATE(CU42) { return DecodeInstructionOriginal(instr); }
7153
7154 EVALUATE(TRTRE) { return DecodeInstructionOriginal(instr); }
7155
7156 EVALUATE(SRSTU) { return DecodeInstructionOriginal(instr); }
7157
7158 EVALUATE(TRTE) { return DecodeInstructionOriginal(instr); }
7159
7160 EVALUATE(AHHHR) { return DecodeInstructionOriginal(instr); }
7161
7162 EVALUATE(SHHHR) { return DecodeInstructionOriginal(instr); }
7163
7164 EVALUATE(ALHHHR) { return DecodeInstructionOriginal(instr); }
7165
7166 EVALUATE(SLHHHR) { return DecodeInstructionOriginal(instr); }
7167
7168 EVALUATE(CHHR) { return DecodeInstructionOriginal(instr); }
7169
7170 EVALUATE(AHHLR) { return DecodeInstructionOriginal(instr); }
7171
7172 EVALUATE(SHHLR) { return DecodeInstructionOriginal(instr); }
7173
7174 EVALUATE(ALHHLR) { return DecodeInstructionOriginal(instr); }
7175
7176 EVALUATE(SLHHLR) { return DecodeInstructionOriginal(instr); }
7177
7178 EVALUATE(CHLR) { return DecodeInstructionOriginal(instr); }
7179
7180 EVALUATE(POPCNT_Z) { return DecodeInstructionOriginal(instr); }
7181
7182 EVALUATE(LOCGR) { return DecodeInstructionOriginal(instr); }
7183
7184 EVALUATE(NGRK) { return DecodeInstructionOriginal(instr); }
7185
7186 EVALUATE(OGRK) { return DecodeInstructionOriginal(instr); }
7187
7188 EVALUATE(XGRK) { return DecodeInstructionOriginal(instr); }
7189
7190 EVALUATE(AGRK) { return DecodeInstructionOriginal(instr); }
7191
7192 EVALUATE(SGRK) { return DecodeInstructionOriginal(instr); }
7193
7194 EVALUATE(ALGRK) { return DecodeInstructionOriginal(instr); }
7195
7196 EVALUATE(SLGRK) { return DecodeInstructionOriginal(instr); }
7197
7198 EVALUATE(LOCR) { return DecodeInstructionOriginal(instr); }
7199
7200 EVALUATE(NRK) { return DecodeInstructionOriginal(instr); }
7201
7202 EVALUATE(ORK) { return DecodeInstructionOriginal(instr); }
7203
7204 EVALUATE(XRK) { return DecodeInstructionOriginal(instr); }
7205
7206 EVALUATE(ARK) { return DecodeInstructionOriginal(instr); }
7207
7208 EVALUATE(SRK) { return DecodeInstructionOriginal(instr); }
7209
7210 EVALUATE(ALRK) { return DecodeInstructionOriginal(instr); }
7211
7212 EVALUATE(SLRK) { return DecodeInstructionOriginal(instr); }
7213
7214 EVALUATE(LTG) { return DecodeInstructionOriginal(instr); }
7215
7216 EVALUATE(CVBY) { return DecodeInstructionOriginal(instr); }
7217
7218 EVALUATE(AG) { return DecodeInstructionOriginal(instr); }
7219
7220 EVALUATE(SG) { return DecodeInstructionOriginal(instr); }
7221
7222 EVALUATE(ALG) { return DecodeInstructionOriginal(instr); }
7223
7224 EVALUATE(SLG) { return DecodeInstructionOriginal(instr); }
7225
7226 EVALUATE(MSG) { return DecodeInstructionOriginal(instr); }
7227
7228 EVALUATE(DSG) { return DecodeInstructionOriginal(instr); }
7229
7230 EVALUATE(CVBG) { return DecodeInstructionOriginal(instr); }
7231
7232 EVALUATE(LRVG) { return DecodeInstructionOriginal(instr); }
7233
7234 EVALUATE(LT) { return DecodeInstructionOriginal(instr); }
7235
7236 EVALUATE(LGH) { return DecodeInstructionOriginal(instr); }
7237
7238 EVALUATE(LLGF) { return DecodeInstructionOriginal(instr); }
7239
7240 EVALUATE(LLGT) { return DecodeInstructionOriginal(instr); }
7241
7242 EVALUATE(AGF) { return DecodeInstructionOriginal(instr); }
7243
7244 EVALUATE(SGF) { return DecodeInstructionOriginal(instr); }
7245
7246 EVALUATE(ALGF) { return DecodeInstructionOriginal(instr); }
7247
7248 EVALUATE(SLGF) { return DecodeInstructionOriginal(instr); }
7249
7250 EVALUATE(MSGF) { return DecodeInstructionOriginal(instr); }
7251
7252 EVALUATE(DSGF) { return DecodeInstructionOriginal(instr); }
7253
7254 EVALUATE(LRV) { return DecodeInstructionOriginal(instr); }
7255
7256 EVALUATE(LRVH) { return DecodeInstructionOriginal(instr); }
7257
7258 EVALUATE(CG) { return DecodeInstructionOriginal(instr); }
7259
7260 EVALUATE(CLG) { return DecodeInstructionOriginal(instr); }
7261
7262 EVALUATE(NTSTG) { return DecodeInstructionOriginal(instr); }
7263
7264 EVALUATE(CVDY) { return DecodeInstructionOriginal(instr); }
7265
7266 EVALUATE(CVDG) { return DecodeInstructionOriginal(instr); }
7267
7268 EVALUATE(STRVG) { return DecodeInstructionOriginal(instr); }
7269
7270 EVALUATE(CGF) { return DecodeInstructionOriginal(instr); }
7271
7272 EVALUATE(CLGF) { return DecodeInstructionOriginal(instr); }
7273
7274 EVALUATE(LTGF) { return DecodeInstructionOriginal(instr); }
7275
7276 EVALUATE(CGH) { return DecodeInstructionOriginal(instr); }
7277
7278 EVALUATE(PFD) { return DecodeInstructionOriginal(instr); }
7279
7280 EVALUATE(STRV) { return DecodeInstructionOriginal(instr); }
7281
7282 EVALUATE(STRVH) { return DecodeInstructionOriginal(instr); }
7283
7284 EVALUATE(BCTG) { return DecodeInstructionOriginal(instr); }
7285
7286 EVALUATE(MSY) { return DecodeInstructionOriginal(instr); }
7287
7288 EVALUATE(NY) { return DecodeInstructionOriginal(instr); }
7289
7290 EVALUATE(CLY) { return DecodeInstructionOriginal(instr); }
7291
7292 EVALUATE(OY) { return DecodeInstructionOriginal(instr); }
7293
7294 EVALUATE(XY) { return DecodeInstructionOriginal(instr); }
7295
7296 EVALUATE(CY) { return DecodeInstructionOriginal(instr); }
7297
7298 EVALUATE(AY) { return DecodeInstructionOriginal(instr); }
7299
7300 EVALUATE(SY) { return DecodeInstructionOriginal(instr); }
7301
7302 EVALUATE(MFY) { return DecodeInstructionOriginal(instr); }
7303
7304 EVALUATE(ALY) { return DecodeInstructionOriginal(instr); }
7305
7306 EVALUATE(SLY) { return DecodeInstructionOriginal(instr); }
7307
7308 EVALUATE(STHY) { return DecodeInstructionOriginal(instr); }
7309
7310 EVALUATE(LAY) { return DecodeInstructionOriginal(instr); }
7311
7312 EVALUATE(STCY) { return DecodeInstructionOriginal(instr); }
7313
7314 EVALUATE(ICY) { return DecodeInstructionOriginal(instr); }
7315
7316 EVALUATE(LAEY) { return DecodeInstructionOriginal(instr); }
7317
7318 EVALUATE(LB) { return DecodeInstructionOriginal(instr); }
7319
7320 EVALUATE(LGB) { return DecodeInstructionOriginal(instr); }
7321
7322 EVALUATE(LHY) { return DecodeInstructionOriginal(instr); }
7323
7324 EVALUATE(CHY) { return DecodeInstructionOriginal(instr); }
7325
7326 EVALUATE(AHY) { return DecodeInstructionOriginal(instr); }
7327
7328 EVALUATE(SHY) { return DecodeInstructionOriginal(instr); }
7329
7330 EVALUATE(MHY) { return DecodeInstructionOriginal(instr); }
7331
7332 EVALUATE(NG) { return DecodeInstructionOriginal(instr); }
7333
7334 EVALUATE(OG) { return DecodeInstructionOriginal(instr); }
7335
7336 EVALUATE(XG) { return DecodeInstructionOriginal(instr); }
7337
7338 EVALUATE(LGAT) { return DecodeInstructionOriginal(instr); }
7339
7340 EVALUATE(MLG) { return DecodeInstructionOriginal(instr); }
7341
7342 EVALUATE(DLG) { return DecodeInstructionOriginal(instr); }
7343
7344 EVALUATE(ALCG) { return DecodeInstructionOriginal(instr); }
7345
7346 EVALUATE(SLBG) { return DecodeInstructionOriginal(instr); }
7347
7348 EVALUATE(STPQ) { return DecodeInstructionOriginal(instr); }
7349
7350 EVALUATE(LPQ) { return DecodeInstructionOriginal(instr); }
7351
7352 EVALUATE(LLGH) { return DecodeInstructionOriginal(instr); }
7353
7354 EVALUATE(LLH) { return DecodeInstructionOriginal(instr); }
7355
7356 EVALUATE(ML) { return DecodeInstructionOriginal(instr); }
7357
7358 EVALUATE(DL) { return DecodeInstructionOriginal(instr); }
7359
7360 EVALUATE(ALC) { return DecodeInstructionOriginal(instr); }
7361
7362 EVALUATE(SLB) { return DecodeInstructionOriginal(instr); }
7363
7364 EVALUATE(LLGTAT) { return DecodeInstructionOriginal(instr); }
7365
7366 EVALUATE(LLGFAT) { return DecodeInstructionOriginal(instr); }
7367
7368 EVALUATE(LAT) { return DecodeInstructionOriginal(instr); }
7369
7370 EVALUATE(LBH) { return DecodeInstructionOriginal(instr); }
7371
7372 EVALUATE(LLCH) { return DecodeInstructionOriginal(instr); }
7373
7374 EVALUATE(STCH) { return DecodeInstructionOriginal(instr); }
7375
7376 EVALUATE(LHH) { return DecodeInstructionOriginal(instr); }
7377
7378 EVALUATE(LLHH) { return DecodeInstructionOriginal(instr); }
7379
7380 EVALUATE(STHH) { return DecodeInstructionOriginal(instr); }
7381
7382 EVALUATE(LFHAT) { return DecodeInstructionOriginal(instr); }
7383
7384 EVALUATE(LFH) { return DecodeInstructionOriginal(instr); }
7385
7386 EVALUATE(STFH) { return DecodeInstructionOriginal(instr); }
7387
7388 EVALUATE(CHF) { return DecodeInstructionOriginal(instr); }
7389
7390 EVALUATE(MVCDK) { return DecodeInstructionOriginal(instr); }
7391
7392 EVALUATE(MVHHI) { return DecodeInstructionOriginal(instr); }
7393
7394 EVALUATE(MVGHI) { return DecodeInstructionOriginal(instr); }
7395
7396 EVALUATE(MVHI) { return DecodeInstructionOriginal(instr); }
7397
7398 EVALUATE(CHHSI) { return DecodeInstructionOriginal(instr); }
7399
7400 EVALUATE(CGHSI) { return DecodeInstructionOriginal(instr); }
7401
7402 EVALUATE(CHSI) { return DecodeInstructionOriginal(instr); }
7403
7404 EVALUATE(CLFHSI) { return DecodeInstructionOriginal(instr); }
7405
7406 EVALUATE(TBEGIN) { return DecodeInstructionOriginal(instr); }
7407
7408 EVALUATE(TBEGINC) { return DecodeInstructionOriginal(instr); }
7409
7410 EVALUATE(LMG) { return DecodeInstructionOriginal(instr); }
7411
7412 EVALUATE(SRAG) { return DecodeInstructionOriginal(instr); }
7413
7414 EVALUATE(SLAG) { return DecodeInstructionOriginal(instr); }
7415
7416 EVALUATE(SRLG) { return DecodeInstructionOriginal(instr); }
7417
7418 EVALUATE(SLLG) { return DecodeInstructionOriginal(instr); }
7419
7420 EVALUATE(CSY) { return DecodeInstructionOriginal(instr); }
7421
7422 EVALUATE(RLLG) { return DecodeInstructionOriginal(instr); }
7423
7424 EVALUATE(STMG) { return DecodeInstructionOriginal(instr); }
7425
7426 EVALUATE(STMH) { return DecodeInstructionOriginal(instr); }
7427
7428 EVALUATE(STCMH) { return DecodeInstructionOriginal(instr); }
7429
7430 EVALUATE(STCMY) { return DecodeInstructionOriginal(instr); }
7431
7432 EVALUATE(CDSY) { return DecodeInstructionOriginal(instr); }
7433
7434 EVALUATE(CDSG) { return DecodeInstructionOriginal(instr); }
7435
7436 EVALUATE(BXHG) { return DecodeInstructionOriginal(instr); }
7437
7438 EVALUATE(BXLEG) { return DecodeInstructionOriginal(instr); }
7439
7440 EVALUATE(ECAG) { return DecodeInstructionOriginal(instr); }
7441
7442 EVALUATE(TMY) { return DecodeInstructionOriginal(instr); }
7443
7444 EVALUATE(MVIY) { return DecodeInstructionOriginal(instr); }
7445
7446 EVALUATE(NIY) { return DecodeInstructionOriginal(instr); }
7447
7448 EVALUATE(CLIY) { return DecodeInstructionOriginal(instr); }
7449
7450 EVALUATE(OIY) { return DecodeInstructionOriginal(instr); }
7451
7452 EVALUATE(XIY) { return DecodeInstructionOriginal(instr); }
7453
7454 EVALUATE(ASI) { return DecodeInstructionOriginal(instr); }
7455
7456 EVALUATE(ALSI) { return DecodeInstructionOriginal(instr); }
7457
7458 EVALUATE(AGSI) { return DecodeInstructionOriginal(instr); }
7459
7460 EVALUATE(ALGSI) { return DecodeInstructionOriginal(instr); }
7461
7462 EVALUATE(ICMH) { return DecodeInstructionOriginal(instr); }
7463
7464 EVALUATE(ICMY) { return DecodeInstructionOriginal(instr); }
7465
7466 EVALUATE(MVCLU) { return DecodeInstructionOriginal(instr); }
7467
7468 EVALUATE(CLCLU) { return DecodeInstructionOriginal(instr); }
7469
7470 EVALUATE(STMY) { return DecodeInstructionOriginal(instr); }
7471
7472 EVALUATE(LMH) { return DecodeInstructionOriginal(instr); }
7473
7474 EVALUATE(LMY) { return DecodeInstructionOriginal(instr); }
7475
7476 EVALUATE(TP) { return DecodeInstructionOriginal(instr); }
7477
7478 EVALUATE(SRAK) { return DecodeInstructionOriginal(instr); }
7479
7480 EVALUATE(SLAK) { return DecodeInstructionOriginal(instr); }
7481
7482 EVALUATE(SRLK) { return DecodeInstructionOriginal(instr); }
7483
7484 EVALUATE(SLLK) { return DecodeInstructionOriginal(instr); }
7485
7486 EVALUATE(LOCG) { return DecodeInstructionOriginal(instr); }
7487
7488 EVALUATE(STOCG) { return DecodeInstructionOriginal(instr); }
7489
7490 EVALUATE(LANG) { return DecodeInstructionOriginal(instr); }
7491
7492 EVALUATE(LAOG) { return DecodeInstructionOriginal(instr); }
7493
7494 EVALUATE(LAXG) { return DecodeInstructionOriginal(instr); }
7495
7496 EVALUATE(LAAG) { return DecodeInstructionOriginal(instr); }
7497
7498 EVALUATE(LAALG) { return DecodeInstructionOriginal(instr); }
7499
7500 EVALUATE(LOC) { return DecodeInstructionOriginal(instr); }
7501
7502 EVALUATE(STOC) { return DecodeInstructionOriginal(instr); }
7503
7504 EVALUATE(LAN) { return DecodeInstructionOriginal(instr); }
7505
7506 EVALUATE(LAO) { return DecodeInstructionOriginal(instr); }
7507
7508 EVALUATE(LAX) { return DecodeInstructionOriginal(instr); }
7509
7510 EVALUATE(LAA) { return DecodeInstructionOriginal(instr); }
7511
7512 EVALUATE(LAAL) { return DecodeInstructionOriginal(instr); }
7513
7514 EVALUATE(BRXHG) { return DecodeInstructionOriginal(instr); }
7515
7516 EVALUATE(BRXLG) { return DecodeInstructionOriginal(instr); }
7517
7518 EVALUATE(RISBLG) { return DecodeInstructionOriginal(instr); }
7519
7520 EVALUATE(RNSBG) { return DecodeInstructionOriginal(instr); }
7521
7522 EVALUATE(ROSBG) { return DecodeInstructionOriginal(instr); }
7523
7524 EVALUATE(RXSBG) { return DecodeInstructionOriginal(instr); }
7525
7526 EVALUATE(RISBGN) { return DecodeInstructionOriginal(instr); }
7527
7528 EVALUATE(RISBHG) { return DecodeInstructionOriginal(instr); }
7529
7530 EVALUATE(CGRJ) { return DecodeInstructionOriginal(instr); }
7531
7532 EVALUATE(CGIT) { return DecodeInstructionOriginal(instr); }
7533
7534 EVALUATE(CIT) { return DecodeInstructionOriginal(instr); }
7535
7536 EVALUATE(CLFIT) { return DecodeInstructionOriginal(instr); }
7537
7538 EVALUATE(CGIJ) { return DecodeInstructionOriginal(instr); }
7539
7540 EVALUATE(CIJ) { return DecodeInstructionOriginal(instr); }
7541
7542 EVALUATE(ALHSIK) { return DecodeInstructionOriginal(instr); }
7543
7544 EVALUATE(ALGHSIK) { return DecodeInstructionOriginal(instr); }
7545
7546 EVALUATE(CGRB) { return DecodeInstructionOriginal(instr); }
7547
7548 EVALUATE(CGIB) { return DecodeInstructionOriginal(instr); }
7549
7550 EVALUATE(CIB) { return DecodeInstructionOriginal(instr); }
7551
7552 EVALUATE(LDEB) { return DecodeInstructionOriginal(instr); }
7553
7554 EVALUATE(LXDB) { return DecodeInstructionOriginal(instr); }
7555
7556 EVALUATE(LXEB) { return DecodeInstructionOriginal(instr); }
7557
7558 EVALUATE(MXDB) { return DecodeInstructionOriginal(instr); }
7559
7560 EVALUATE(KEB) { return DecodeInstructionOriginal(instr); }
7561
7562 EVALUATE(CEB) { return DecodeInstructionOriginal(instr); }
7563
7564 EVALUATE(AEB) { return DecodeInstructionOriginal(instr); }
7565
7566 EVALUATE(SEB) { return DecodeInstructionOriginal(instr); }
7567
7568 EVALUATE(MDEB) { return DecodeInstructionOriginal(instr); }
7569
7570 EVALUATE(DEB) { return DecodeInstructionOriginal(instr); }
7571
7572 EVALUATE(MAEB) { return DecodeInstructionOriginal(instr); }
7573
7574 EVALUATE(MSEB) { return DecodeInstructionOriginal(instr); }
7575
7576 EVALUATE(TCEB) { return DecodeInstructionOriginal(instr); }
7577
7578 EVALUATE(TCDB) { return DecodeInstructionOriginal(instr); }
7579
7580 EVALUATE(TCXB) { return DecodeInstructionOriginal(instr); }
7581
7582 EVALUATE(SQEB) { return DecodeInstructionOriginal(instr); }
7583
7584 EVALUATE(SQDB) { return DecodeInstructionOriginal(instr); }
7585
7586 EVALUATE(MEEB) { return DecodeInstructionOriginal(instr); }
7587
7588 EVALUATE(KDB) { return DecodeInstructionOriginal(instr); }
7589
7590 EVALUATE(CDB) { return DecodeInstructionOriginal(instr); }
7591
7592 EVALUATE(ADB) { return DecodeInstructionOriginal(instr); }
7593
7594 EVALUATE(SDB) { return DecodeInstructionOriginal(instr); }
7595
7596 EVALUATE(MDB) { return DecodeInstructionOriginal(instr); }
7597
7598 EVALUATE(DDB) { return DecodeInstructionOriginal(instr); }
7599
7600 EVALUATE(MADB) { return DecodeInstructionOriginal(instr); }
7601
7602 EVALUATE(MSDB) { return DecodeInstructionOriginal(instr); }
7603
7604 EVALUATE(SLDT) { return DecodeInstructionOriginal(instr); }
7605
7606 EVALUATE(SRDT) { return DecodeInstructionOriginal(instr); }
7607
7608 EVALUATE(SLXT) { return DecodeInstructionOriginal(instr); }
7609
7610 EVALUATE(SRXT) { return DecodeInstructionOriginal(instr); }
7611
7612 EVALUATE(TDCET) { return DecodeInstructionOriginal(instr); }
7613
7614 EVALUATE(TDGET) { return DecodeInstructionOriginal(instr); }
7615
7616 EVALUATE(TDCDT) { return DecodeInstructionOriginal(instr); }
7617
7618 EVALUATE(TDGDT) { return DecodeInstructionOriginal(instr); }
7619
7620 EVALUATE(TDCXT) { return DecodeInstructionOriginal(instr); }
7621
7622 EVALUATE(TDGXT) { return DecodeInstructionOriginal(instr); }
7623
7624 EVALUATE(LEY) { return DecodeInstructionOriginal(instr); }
7625
7626 EVALUATE(LDY) { return DecodeInstructionOriginal(instr); }
7627
7628 EVALUATE(STEY) { return DecodeInstructionOriginal(instr); }
7629
7630 EVALUATE(STDY) { return DecodeInstructionOriginal(instr); }
7631
7632 EVALUATE(CZDT) { return DecodeInstructionOriginal(instr); }
7633
7634 EVALUATE(CZXT) { return DecodeInstructionOriginal(instr); }
7635
7636 EVALUATE(CDZT) { return DecodeInstructionOriginal(instr); }
7637
7638 EVALUATE(CXZT) { return DecodeInstructionOriginal(instr); }
7639
7640 #undef EVALUATE
7641
5116 } // namespace internal 7642 } // namespace internal
5117 } // namespace v8 7643 } // namespace v8
5118 7644
5119 #endif // USE_SIMULATOR 7645 #endif // USE_SIMULATOR
5120 #endif // V8_TARGET_ARCH_S390 7646 #endif // V8_TARGET_ARCH_S390
OLDNEW
« no previous file with comments | « src/s390/simulator-s390.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698