two_byte_opcodes.isa (6578:825b77196521) | two_byte_opcodes.isa (6580:a1c40860fe09) |
---|---|
1// Copyright (c) 2008 The Regents of The University of Michigan 2// All rights reserved. 3// 4// Redistribution and use in source and binary forms, with or without 5// modification, are permitted provided that the following conditions are 6// met: redistributions of source code must retain the above copyright 7// notice, this list of conditions and the following disclaimer; 8// redistributions in binary form must reproduce the above copyright --- 966 unchanged lines hidden (view full) --- 975 default: Inst::UD2(); 976 } 977 default: Inst::UD2(); 978 } 979 format Inst { 980 0x1B: decode LEGACY_DECODEVAL { 981 // no prefix 982 0x0: decode OPCODE_OP_BOTTOM3 { | 1// Copyright (c) 2008 The Regents of The University of Michigan 2// All rights reserved. 3// 4// Redistribution and use in source and binary forms, with or without 5// modification, are permitted provided that the following conditions are 6// met: redistributions of source code must retain the above copyright 7// notice, this list of conditions and the following disclaimer; 8// redistributions in binary form must reproduce the above copyright --- 966 unchanged lines hidden (view full) --- 975 default: Inst::UD2(); 976 } 977 default: Inst::UD2(); 978 } 979 format Inst { 980 0x1B: decode LEGACY_DECODEVAL { 981 // no prefix 982 0x0: decode OPCODE_OP_BOTTOM3 { |
983 0x0: WarnUnimpl::psubusb_Pq_Qq(); 984 0x1: WarnUnimpl::psubusw_Pq_Qq(); | 983 0x0: PSUBUSB(Pq,Qq); 984 0x1: PSUBUSW(Pq,Qq); |
985 0x2: PMINUB(Pq,Qq); 986 0x3: PAND(Pq,Qq); 987 0x4: PADDUSB(Pq,Qq); 988 0x5: PADDUSW(Pq,Qq); 989 0x6: PMAXUB(Pq,Qq); 990 0x7: PANDN(Pq,Qq); 991 } 992 // operand size (0x66) 993 0x1: decode OPCODE_OP_BOTTOM3 { | 985 0x2: PMINUB(Pq,Qq); 986 0x3: PAND(Pq,Qq); 987 0x4: PADDUSB(Pq,Qq); 988 0x5: PADDUSW(Pq,Qq); 989 0x6: PMAXUB(Pq,Qq); 990 0x7: PANDN(Pq,Qq); 991 } 992 // operand size (0x66) 993 0x1: decode OPCODE_OP_BOTTOM3 { |
994 0x0: WarnUnimpl::psubusb_Vo_Wo(); 995 0x1: WarnUnimpl::psubusw_Vo_Wo(); | 994 0x0: PSUBUSB(Vo,Wo); 995 0x1: PSUBUSW(Vo,Wo); |
996 0x2: PMINUB(Vo,Wo); 997 0x3: PAND(Vo,Wo); 998 0x4: PADDUSB(Vo,Wo); 999 0x5: PADDUSW(Vo,Wo); 1000 0x6: PMAXUB(Vo,Wo); 1001 0x7: PANDN(Vo,Wo); 1002 } 1003 default: UD2(); --- 33 unchanged lines hidden (view full) --- 1037 default: Inst::UD2(); 1038 } 1039 default: Inst::UD2(); 1040 } 1041 format Inst { 1042 0x1D: decode LEGACY_DECODEVAL { 1043 // no prefix 1044 0x0: decode OPCODE_OP_BOTTOM3 { | 996 0x2: PMINUB(Vo,Wo); 997 0x3: PAND(Vo,Wo); 998 0x4: PADDUSB(Vo,Wo); 999 0x5: PADDUSW(Vo,Wo); 1000 0x6: PMAXUB(Vo,Wo); 1001 0x7: PANDN(Vo,Wo); 1002 } 1003 default: UD2(); --- 33 unchanged lines hidden (view full) --- 1037 default: Inst::UD2(); 1038 } 1039 default: Inst::UD2(); 1040 } 1041 format Inst { 1042 0x1D: decode LEGACY_DECODEVAL { 1043 // no prefix 1044 0x0: decode OPCODE_OP_BOTTOM3 { |
1045 0x0: WarnUnimpl::psubsb_Pq_Qq(); 1046 0x1: WarnUnimpl::psubsw_Pq_Qq(); | 1045 0x0: PSUBSB(Pq,Qq); 1046 0x1: PSUBSW(Pq,Qq); |
1047 0x2: PMINSW(Pq,Qq); 1048 0x3: POR(Pq,Qq); 1049 0x4: PADDSB(Pq,Qq); 1050 0x5: PADDSW(Pq,Qq); 1051 0x6: PMAXSW(Pq,Qq); 1052 0x7: PXOR(Pq,Qq); 1053 } 1054 // operand size (0x66) 1055 0x1: decode OPCODE_OP_BOTTOM3 { | 1047 0x2: PMINSW(Pq,Qq); 1048 0x3: POR(Pq,Qq); 1049 0x4: PADDSB(Pq,Qq); 1050 0x5: PADDSW(Pq,Qq); 1051 0x6: PMAXSW(Pq,Qq); 1052 0x7: PXOR(Pq,Qq); 1053 } 1054 // operand size (0x66) 1055 0x1: decode OPCODE_OP_BOTTOM3 { |
1056 0x0: WarnUnimpl::psubsb_Vo_Wo(); 1057 0x1: WarnUnimpl::psubsw_Vo_Wo(); | 1056 0x0: PSUBSB(Vo,Wo); 1057 0x1: PSUBSW(Vo,Wo); |
1058 0x2: PMINSW(Vo,Wo); 1059 0x3: POR(Vo,Wo); 1060 0x4: PADDSB(Vo,Wo); 1061 0x5: PADDSW(Vo,Wo); 1062 0x6: PMAXSW(Vo,Wo); 1063 0x7: PXOR(Vo,Wo); 1064 } 1065 default: UD2(); --- 28 unchanged lines hidden (view full) --- 1094 default: Inst::UD2(); 1095 } 1096 default: Inst::UD2(); 1097 } 1098 format Inst { 1099 0x1F: decode LEGACY_DECODEVAL { 1100 // no prefix 1101 0x0: decode OPCODE_OP_BOTTOM3 { | 1058 0x2: PMINSW(Vo,Wo); 1059 0x3: POR(Vo,Wo); 1060 0x4: PADDSB(Vo,Wo); 1061 0x5: PADDSW(Vo,Wo); 1062 0x6: PMAXSW(Vo,Wo); 1063 0x7: PXOR(Vo,Wo); 1064 } 1065 default: UD2(); --- 28 unchanged lines hidden (view full) --- 1094 default: Inst::UD2(); 1095 } 1096 default: Inst::UD2(); 1097 } 1098 format Inst { 1099 0x1F: decode LEGACY_DECODEVAL { 1100 // no prefix 1101 0x0: decode OPCODE_OP_BOTTOM3 { |
1102 0x0: WarnUnimpl::psubb_Pq_Qq(); 1103 0x1: WarnUnimpl::psubw_Pq_Qq(); 1104 0x2: WarnUnimpl::psubd_Pq_Qq(); 1105 0x3: WarnUnimpl::psubq_Pq_Qq(); | 1102 0x0: PSUBB(Pq,Qq); 1103 0x1: PSUBW(Pq,Qq); 1104 0x2: PSUBD(Pq,Qq); 1105 0x3: PSUBQ(Pq,Qq); |
1106 0x4: PADDB(Pq,Qq); 1107 0x5: PADDW(Pq,Qq); 1108 0x6: PADDD(Pq,Qq); 1109 0x7: UD2(); 1110 } 1111 // operand size (0x66) 1112 0x1: decode OPCODE_OP_BOTTOM3 { | 1106 0x4: PADDB(Pq,Qq); 1107 0x5: PADDW(Pq,Qq); 1108 0x6: PADDD(Pq,Qq); 1109 0x7: UD2(); 1110 } 1111 // operand size (0x66) 1112 0x1: decode OPCODE_OP_BOTTOM3 { |
1113 0x0: WarnUnimpl::psubb_Vo_Wo(); 1114 0x1: WarnUnimpl::psubw_Vo_Wo(); 1115 0x2: WarnUnimpl::psubd_Vo_Wo(); 1116 0x3: WarnUnimpl::psubq_Vo_Wo(); | 1113 0x0: PSUBB(Vo,Wo); 1114 0x1: PSUBW(Vo,Wo); 1115 0x2: PSUBD(Vo,Wo); 1116 0x3: PSUBQ(Vo,Wo); |
1117 0x4: PADDB(Vo,Wo); 1118 0x5: PADDW(Vo,Wo); 1119 0x6: PADDD(Vo,Wo); 1120 0x7: UD2(); 1121 } 1122 default: UD2(); 1123 } 1124 } 1125 default: FailUnimpl::twoByteOps(); 1126 } 1127 } 1128 default: M5InternalError::error( 1129 {{"Unexpected first opcode byte in two byte opcode!"}}); 1130} | 1117 0x4: PADDB(Vo,Wo); 1118 0x5: PADDW(Vo,Wo); 1119 0x6: PADDD(Vo,Wo); 1120 0x7: UD2(); 1121 } 1122 default: UD2(); 1123 } 1124 } 1125 default: FailUnimpl::twoByteOps(); 1126 } 1127 } 1128 default: M5InternalError::error( 1129 {{"Unexpected first opcode byte in two byte opcode!"}}); 1130} |