Changeset 95517 in vbox for trunk/src/VBox/VMM/VMMAll
- Timestamp:
- Jul 5, 2022 3:01:42 PM (3 years ago)
- Location:
- trunk/src/VBox/VMM/VMMAll
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/IEMAllInstructionsInterpretOnly.cpp
r95516 r95517 893 893 894 894 # ifndef IEM_WITHOUT_ASSEMBLY 895 /** Function table for the VPSHUFB instruction. */896 IEM_STATIC const IEMOPMEDIAF3 g_iemAImpl_vpshufb = { iemAImpl_vpshufb_u128, iemAImpl_vpshufb_u256 };897 895 /** Function table for the VPXOR instruction */ 898 896 IEM_STATIC const IEMOPMEDIAF3 g_iemAImpl_vpand = { iemAImpl_vpand_u128, iemAImpl_vpand_u256 }; … … 903 901 /** Function table for the VPXOR instruction */ 904 902 IEM_STATIC const IEMOPMEDIAF3 g_iemAImpl_vpxor = { iemAImpl_vpxor_u128, iemAImpl_vpxor_u256 }; 905 /** Function table for the VPCMPEQB instruction */906 IEM_STATIC const IEMOPMEDIAF3 g_iemAImpl_vpcmpeqb = { iemAImpl_vpcmpeqb_u128, iemAImpl_vpcmpeqb_u256 };907 /** Function table for the VPCMPEQW instruction */908 IEM_STATIC const IEMOPMEDIAF3 g_iemAImpl_vpcmpeqw = { iemAImpl_vpcmpeqw_u128, iemAImpl_vpcmpeqw_u256 };909 /** Function table for the VPCMPEQD instruction */910 IEM_STATIC const IEMOPMEDIAF3 g_iemAImpl_vpcmpeqd = { iemAImpl_vpcmpeqd_u128, iemAImpl_vpcmpeqd_u256 };911 /** Function table for the VPCMPEQQ instruction */912 IEM_STATIC const IEMOPMEDIAF3 g_iemAImpl_vpcmpeqq = { iemAImpl_vpcmpeqq_u128, iemAImpl_vpcmpeqq_u256 };913 /** Function table for the VPCMPGTB instruction */914 IEM_STATIC const IEMOPMEDIAF3 g_iemAImpl_vpcmpgtb = { iemAImpl_vpcmpgtb_u128, iemAImpl_vpcmpgtb_u256 };915 /** Function table for the VPCMPGTW instruction */916 IEM_STATIC const IEMOPMEDIAF3 g_iemAImpl_vpcmpgtw = { iemAImpl_vpcmpgtw_u128, iemAImpl_vpcmpgtw_u256 };917 /** Function table for the VPCMPGTD instruction */918 IEM_STATIC const IEMOPMEDIAF3 g_iemAImpl_vpcmpgtd = { iemAImpl_vpcmpgtd_u128, iemAImpl_vpcmpgtd_u256 };919 /** Function table for the VPCMPGTQ instruction */920 IEM_STATIC const IEMOPMEDIAF3 g_iemAImpl_vpcmpgtq = { iemAImpl_vpcmpgtq_u128, iemAImpl_vpcmpgtq_u256 };921 /** Function table for the VPADDB instruction */922 IEM_STATIC const IEMOPMEDIAF3 g_iemAImpl_vpaddb = { iemAImpl_vpaddb_u128, iemAImpl_vpaddb_u256 };923 /** Function table for the VPADDW instruction */924 IEM_STATIC const IEMOPMEDIAF3 g_iemAImpl_vpaddw = { iemAImpl_vpaddw_u128, iemAImpl_vpaddw_u256 };925 /** Function table for the VPADDD instruction */926 IEM_STATIC const IEMOPMEDIAF3 g_iemAImpl_vpaddd = { iemAImpl_vpaddd_u128, iemAImpl_vpaddd_u256 };927 /** Function table for the VPADDQ instruction */928 IEM_STATIC const IEMOPMEDIAF3 g_iemAImpl_vpaddq = { iemAImpl_vpaddq_u128, iemAImpl_vpaddq_u256 };929 /** Function table for the VPSUBB instruction */930 IEM_STATIC const IEMOPMEDIAF3 g_iemAImpl_vpsubb = { iemAImpl_vpsubb_u128, iemAImpl_vpsubb_u256 };931 /** Function table for the VPSUBW instruction */932 IEM_STATIC const IEMOPMEDIAF3 g_iemAImpl_vpsubw = { iemAImpl_vpsubw_u128, iemAImpl_vpsubw_u256 };933 /** Function table for the VPSUBD instruction */934 IEM_STATIC const IEMOPMEDIAF3 g_iemAImpl_vpsubd = { iemAImpl_vpsubd_u128, iemAImpl_vpsubd_u256 };935 /** Function table for the VPSUBQ instruction */936 IEM_STATIC const IEMOPMEDIAF3 g_iemAImpl_vpsubq = { iemAImpl_vpsubq_u128, iemAImpl_vpsubq_u256 };937 903 # endif 938 904 939 /** Function table for the VPSHUFB instruction, software fallback. */940 IEM_STATIC const IEMOPMEDIAF3 g_iemAImpl_vpshufb_fallback = { iemAImpl_vpshufb_u128_fallback, iemAImpl_vpshufb_u256_fallback };941 905 /** Function table for the VPAND instruction, software fallback. */ 942 906 IEM_STATIC const IEMOPMEDIAF3 g_iemAImpl_vpand_fallback = { iemAImpl_vpand_u128_fallback, iemAImpl_vpand_u256_fallback }; … … 947 911 /** Function table for the VPXOR instruction, software fallback. */ 948 912 IEM_STATIC const IEMOPMEDIAF3 g_iemAImpl_vpxor_fallback = { iemAImpl_vpxor_u128_fallback, iemAImpl_vpxor_u256_fallback }; 949 /** Function table for the VPCMPEQB instruction, software fallback. */950 IEM_STATIC const IEMOPMEDIAF3 g_iemAImpl_vpcmpeqb_fallback = { iemAImpl_vpcmpeqb_u128_fallback, iemAImpl_vpcmpeqb_u256_fallback };951 /** Function table for the VPCMPEQW instruction, software fallback. */952 IEM_STATIC const IEMOPMEDIAF3 g_iemAImpl_vpcmpeqw_fallback = { iemAImpl_vpcmpeqw_u128_fallback, iemAImpl_vpcmpeqw_u256_fallback };953 /** Function table for the VPCMPEQD instruction, software fallback. */954 IEM_STATIC const IEMOPMEDIAF3 g_iemAImpl_vpcmpeqd_fallback = { iemAImpl_vpcmpeqd_u128_fallback, iemAImpl_vpcmpeqd_u256_fallback };955 /** Function table for the VPCMPEQQ instruction, software fallback. */956 IEM_STATIC const IEMOPMEDIAF3 g_iemAImpl_vpcmpeqq_fallback = { iemAImpl_vpcmpeqq_u128_fallback, iemAImpl_vpcmpeqq_u256_fallback };957 /** Function table for the VPCMPGTB instruction, software fallback. */958 IEM_STATIC const IEMOPMEDIAF3 g_iemAImpl_vpcmpgtb_fallback = { iemAImpl_vpcmpgtb_u128_fallback, iemAImpl_vpcmpgtb_u256_fallback };959 /** Function table for the VPCMPGTW instruction, software fallback. */960 IEM_STATIC const IEMOPMEDIAF3 g_iemAImpl_vpcmpgtw_fallback = { iemAImpl_vpcmpgtw_u128_fallback, iemAImpl_vpcmpgtw_u256_fallback };961 /** Function table for the VPCMPGTD instruction, software fallback. */962 IEM_STATIC const IEMOPMEDIAF3 g_iemAImpl_vpcmpgtd_fallback = { iemAImpl_vpcmpgtd_u128_fallback, iemAImpl_vpcmpgtd_u256_fallback };963 /** Function table for the VPCMPGTQ instruction, software fallback. */964 IEM_STATIC const IEMOPMEDIAF3 g_iemAImpl_vpcmpgtq_fallback = { iemAImpl_vpcmpgtq_u128_fallback, iemAImpl_vpcmpgtq_u256_fallback };965 /** Function table for the VPADDB instruction, software fallback. */966 IEM_STATIC const IEMOPMEDIAF3 g_iemAImpl_vpaddb_fallback = { iemAImpl_vpaddb_u128_fallback, iemAImpl_vpaddb_u256_fallback };967 /** Function table for the VPADDW instruction, software fallback. */968 IEM_STATIC const IEMOPMEDIAF3 g_iemAImpl_vpaddw_fallback = { iemAImpl_vpaddw_u128_fallback, iemAImpl_vpaddw_u256_fallback };969 /** Function table for the VPADDD instruction, software fallback. */970 IEM_STATIC const IEMOPMEDIAF3 g_iemAImpl_vpaddd_fallback = { iemAImpl_vpaddd_u128_fallback, iemAImpl_vpaddd_u256_fallback };971 /** Function table for the VPADDQ instruction, software fallback. */972 IEM_STATIC const IEMOPMEDIAF3 g_iemAImpl_vpaddq_fallback = { iemAImpl_vpaddq_u128_fallback, iemAImpl_vpaddq_u256_fallback };973 /** Function table for the VPSUBB instruction, software fallback. */974 IEM_STATIC const IEMOPMEDIAF3 g_iemAImpl_vpsubb_fallback = { iemAImpl_vpsubb_u128_fallback, iemAImpl_vpsubb_u256_fallback };975 /** Function table for the VPSUBW instruction, software fallback. */976 IEM_STATIC const IEMOPMEDIAF3 g_iemAImpl_vpsubw_fallback = { iemAImpl_vpsubw_u128_fallback, iemAImpl_vpsubw_u256_fallback };977 /** Function table for the VPSUBD instruction, software fallback. */978 IEM_STATIC const IEMOPMEDIAF3 g_iemAImpl_vpsubd_fallback = { iemAImpl_vpsubd_u128_fallback, iemAImpl_vpsubd_u256_fallback };979 /** Function table for the VPSUBQ instruction, software fallback. */980 IEM_STATIC const IEMOPMEDIAF3 g_iemAImpl_vpsubq_fallback = { iemAImpl_vpsubq_u128_fallback, iemAImpl_vpsubq_u256_fallback };981 913 982 914 #endif /* !TST_IEM_CHECK_MC */ -
trunk/src/VBox/VMM/VMMAll/IEMAllInstructionsVexMap1.cpp.h
r95512 r95517 2108 2108 { 2109 2109 IEMOP_MNEMONIC3(VEX_RVM, VPUNPCKLBW, vpunpcklbw, Vx, Hx, Wx, DISOPTYPE_HARMLESS | DISOPTYPE_AVX, 0); 2110 IEMOPMEDIAOPTF3_INIT_VARS(iemAImpl_vpunpcklbw_u128, iemAImpl_vpunpcklbw_u256, 2111 iemAImpl_vpunpcklbw_u128_fallback, iemAImpl_vpunpcklbw_u256_fallback); 2110 IEMOPMEDIAOPTF3_INIT_VARS( vpunpcklbw); 2112 2111 return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx_LowSrc, IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &s_Host, &s_Fallback)); 2113 2112 } … … 2124 2123 { 2125 2124 IEMOP_MNEMONIC3(VEX_RVM, VPUNPCKLWD, vpunpcklwd, Vx, Hx, Wx, DISOPTYPE_HARMLESS | DISOPTYPE_AVX, 0); 2126 IEMOPMEDIAOPTF3_INIT_VARS(iemAImpl_vpunpcklwd_u128, iemAImpl_vpunpcklwd_u256, 2127 iemAImpl_vpunpcklwd_u128_fallback, iemAImpl_vpunpcklwd_u256_fallback); 2125 IEMOPMEDIAOPTF3_INIT_VARS( vpunpcklwd); 2128 2126 return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx_LowSrc, IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &s_Host, &s_Fallback)); 2129 2127 } … … 2139 2137 { 2140 2138 IEMOP_MNEMONIC3(VEX_RVM, VPUNPCKLDQ, vpunpckldq, Vx, Hx, Wx, DISOPTYPE_HARMLESS | DISOPTYPE_AVX, 0); 2141 IEMOPMEDIAOPTF3_INIT_VARS(iemAImpl_vpunpckldq_u128, iemAImpl_vpunpckldq_u256, 2142 iemAImpl_vpunpckldq_u128_fallback, iemAImpl_vpunpckldq_u256_fallback); 2139 IEMOPMEDIAOPTF3_INIT_VARS( vpunpckldq); 2143 2140 return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx_LowSrc, IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &s_Host, &s_Fallback)); 2144 2141 } … … 2161 2158 { 2162 2159 IEMOP_MNEMONIC3(VEX_RVM, VPCMPGTB, vpcmpgtb, Vx, Hx, Wx, DISOPTYPE_HARMLESS, 0); 2163 return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx,2164 IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &g_iemAImpl_vpcmpgtb, &g_iemAImpl_vpcmpgtb_fallback));2160 IEMOPMEDIAF3_INIT_VARS( vpcmpgtb); 2161 return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx, IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &s_Host, &s_Fallback)); 2165 2162 } 2166 2163 … … 2175 2172 { 2176 2173 IEMOP_MNEMONIC3(VEX_RVM, VPCMPGTW, vpcmpgtw, Vx, Hx, Wx, DISOPTYPE_HARMLESS, 0); 2177 return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx,2178 IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &g_iemAImpl_vpcmpgtw, &g_iemAImpl_vpcmpgtw_fallback));2174 IEMOPMEDIAF3_INIT_VARS( vpcmpgtw); 2175 return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx, IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &s_Host, &s_Fallback)); 2179 2176 } 2180 2177 … … 2189 2186 { 2190 2187 IEMOP_MNEMONIC3(VEX_RVM, VPCMPGTD, vpcmpgtd, Vx, Hx, Wx, DISOPTYPE_HARMLESS, 0); 2191 return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx,2192 IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &g_iemAImpl_vpcmpgtd, &g_iemAImpl_vpcmpgtd_fallback));2188 IEMOPMEDIAF3_INIT_VARS( vpcmpgtd); 2189 return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx, IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &s_Host, &s_Fallback)); 2193 2190 } 2194 2191 … … 2265 2262 { 2266 2263 IEMOP_MNEMONIC3(VEX_RVM, VPUNPCKHBW, vpunpckhbw, Vx, Hx, Wx, DISOPTYPE_HARMLESS | DISOPTYPE_AVX, 0); 2267 IEMOPMEDIAOPTF3_INIT_VARS(iemAImpl_vpunpckhbw_u128, iemAImpl_vpunpckhbw_u256, 2268 iemAImpl_vpunpckhbw_u128_fallback, iemAImpl_vpunpckhbw_u256_fallback); 2264 IEMOPMEDIAOPTF3_INIT_VARS( vpunpckhbw); 2269 2265 return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx_HighSrc, IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &s_Host, &s_Fallback)); 2270 2266 } … … 2281 2277 { 2282 2278 IEMOP_MNEMONIC3(VEX_RVM, VPUNPCKHWD, vpunpckhwd, Vx, Hx, Wx, DISOPTYPE_HARMLESS | DISOPTYPE_AVX, 0); 2283 IEMOPMEDIAOPTF3_INIT_VARS(iemAImpl_vpunpckhwd_u128, iemAImpl_vpunpckhwd_u256, 2284 iemAImpl_vpunpckhwd_u128_fallback, iemAImpl_vpunpckhwd_u256_fallback); 2279 IEMOPMEDIAOPTF3_INIT_VARS( vpunpckhwd); 2285 2280 return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx_HighSrc, IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &s_Host, &s_Fallback)); 2286 2281 } … … 2297 2292 { 2298 2293 IEMOP_MNEMONIC3(VEX_RVM, VPUNPCKHDQ, vpunpckhdq, Vx, Hx, Wx, DISOPTYPE_HARMLESS | DISOPTYPE_AVX, 0); 2299 IEMOPMEDIAOPTF3_INIT_VARS(iemAImpl_vpunpckhdq_u128, iemAImpl_vpunpckhdq_u256, 2300 iemAImpl_vpunpckhdq_u128_fallback, iemAImpl_vpunpckhdq_u256_fallback); 2294 IEMOPMEDIAOPTF3_INIT_VARS( vpunpckhdq); 2301 2295 return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx_HighSrc, IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &s_Host, &s_Fallback)); 2302 2296 } … … 2319 2313 { 2320 2314 IEMOP_MNEMONIC3(VEX_RVM, VPUNPCKLQDQ, vpunpcklqdq, Vx, Hx, Wx, DISOPTYPE_HARMLESS | DISOPTYPE_AVX, 0); 2321 IEMOPMEDIAOPTF3_INIT_VARS(iemAImpl_vpunpcklqdq_u128, iemAImpl_vpunpcklqdq_u256, 2322 iemAImpl_vpunpcklqdq_u128_fallback, iemAImpl_vpunpcklqdq_u256_fallback); 2315 IEMOPMEDIAOPTF3_INIT_VARS( vpunpcklqdq); 2323 2316 return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx_LowSrc, IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &s_Host, &s_Fallback)); 2324 2317 } … … 2336 2329 { 2337 2330 IEMOP_MNEMONIC3(VEX_RVM, VPUNPCKHQDQ, vpunpckhqdq, Vx, Hx, Wx, DISOPTYPE_HARMLESS | DISOPTYPE_AVX, 0); 2338 IEMOPMEDIAOPTF3_INIT_VARS(iemAImpl_vpunpckhqdq_u128, iemAImpl_vpunpckhqdq_u256, 2339 iemAImpl_vpunpckhqdq_u128_fallback, iemAImpl_vpunpckhqdq_u256_fallback); 2331 IEMOPMEDIAOPTF3_INIT_VARS( vpunpckhqdq); 2340 2332 return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx_HighSrc, IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &s_Host, &s_Fallback)); 2341 2333 } … … 2881 2873 { 2882 2874 IEMOP_MNEMONIC3(VEX_RVM, VPCMPEQB, vpcmpeqb, Vx, Hx, Wx, DISOPTYPE_HARMLESS, 0); 2883 return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx,2884 IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &g_iemAImpl_vpcmpeqb, &g_iemAImpl_vpcmpeqb_fallback));2875 IEMOPMEDIAF3_INIT_VARS( vpcmpeqb); 2876 return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx, IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &s_Host, &s_Fallback)); 2885 2877 } 2886 2878 … … 2896 2888 { 2897 2889 IEMOP_MNEMONIC3(VEX_RVM, VPCMPEQW, vpcmpeqw, Vx, Hx, Wx, DISOPTYPE_HARMLESS, 0); 2898 return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx,2899 IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &g_iemAImpl_vpcmpeqw, &g_iemAImpl_vpcmpeqw_fallback));2890 IEMOPMEDIAF3_INIT_VARS( vpcmpeqw); 2891 return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx, IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &s_Host, &s_Fallback)); 2900 2892 } 2901 2893 … … 2912 2904 { 2913 2905 IEMOP_MNEMONIC3(VEX_RVM, VPCMPEQD, vpcmpeqd, Vx, Hx, Wx, DISOPTYPE_HARMLESS, 0); 2914 return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx,2915 IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &g_iemAImpl_vpcmpeqd, &g_iemAImpl_vpcmpeqd_fallback));2906 IEMOPMEDIAF3_INIT_VARS( vpcmpeqd); 2907 return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx, IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &s_Host, &s_Fallback)); 2916 2908 } 2917 2909 … … 3578 3570 { 3579 3571 IEMOP_MNEMONIC3(VEX_RVM, VPADDQ, vpaddq, Vx, Hx, Wx, DISOPTYPE_HARMLESS, 0); 3580 return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx,3581 IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &g_iemAImpl_vpaddq, &g_iemAImpl_vpaddq_fallback));3572 IEMOPMEDIAF3_INIT_VARS( vpaddq); 3573 return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx, IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &s_Host, &s_Fallback)); 3582 3574 } 3583 3575 … … 4004 3996 { 4005 3997 IEMOP_MNEMONIC3(VEX_RVM, VPSUBB, vpsubb, Vx, Hx, Wx, DISOPTYPE_HARMLESS, 0); 4006 return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx,4007 IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &g_iemAImpl_vpsubb, &g_iemAImpl_vpsubb_fallback));3998 IEMOPMEDIAF3_INIT_VARS( vpsubb); 3999 return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx, IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &s_Host, &s_Fallback)); 4008 4000 } 4009 4001 … … 4018 4010 { 4019 4011 IEMOP_MNEMONIC3(VEX_RVM, VPSUBW, vpsubw, Vx, Hx, Wx, DISOPTYPE_HARMLESS, 0); 4020 return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx,4021 IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &g_iemAImpl_vpsubw, &g_iemAImpl_vpsubw_fallback));4012 IEMOPMEDIAF3_INIT_VARS( vpsubw); 4013 return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx, IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &s_Host, &s_Fallback)); 4022 4014 } 4023 4015 … … 4032 4024 { 4033 4025 IEMOP_MNEMONIC3(VEX_RVM, VPSUBD, vpsubd, Vx, Hx, Wx, DISOPTYPE_HARMLESS, 0); 4034 return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx,4035 IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &g_iemAImpl_vpsubd, &g_iemAImpl_vpsubd_fallback));4026 IEMOPMEDIAF3_INIT_VARS( vpsubd); 4027 return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx, IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &s_Host, &s_Fallback)); 4036 4028 } 4037 4029 … … 4046 4038 { 4047 4039 IEMOP_MNEMONIC3(VEX_RVM, VPSUBQ, vpsubq, Vx, Hx, Wx, DISOPTYPE_HARMLESS, 0); 4048 return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx,4049 IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &g_iemAImpl_vpsubq, &g_iemAImpl_vpsubq_fallback));4040 IEMOPMEDIAF3_INIT_VARS( vpsubq); 4041 return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx, IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &s_Host, &s_Fallback)); 4050 4042 } 4051 4043 … … 4060 4052 { 4061 4053 IEMOP_MNEMONIC3(VEX_RVM, VPADDB, vpaddb, Vx, Hx, Wx, DISOPTYPE_HARMLESS, 0); 4062 return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx,4063 IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &g_iemAImpl_vpaddb, &g_iemAImpl_vpaddb_fallback));4054 IEMOPMEDIAF3_INIT_VARS( vpaddb); 4055 return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx, IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &s_Host, &s_Fallback)); 4064 4056 } 4065 4057 … … 4074 4066 { 4075 4067 IEMOP_MNEMONIC3(VEX_RVM, VPADDW, vpaddw, Vx, Hx, Wx, DISOPTYPE_HARMLESS, 0); 4076 return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx,4077 IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &g_iemAImpl_vpaddw, &g_iemAImpl_vpaddw_fallback));4068 IEMOPMEDIAF3_INIT_VARS( vpaddw); 4069 return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx, IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &s_Host, &s_Fallback)); 4078 4070 } 4079 4071 … … 4088 4080 { 4089 4081 IEMOP_MNEMONIC3(VEX_RVM, VPADDD, vpaddd, Vx, Hx, Wx, DISOPTYPE_HARMLESS, 0); 4090 return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx,4091 IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &g_iemAImpl_vpaddd, &g_iemAImpl_vpaddd_fallback));4082 IEMOPMEDIAF3_INIT_VARS( vpaddd); 4083 return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx, IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &s_Host, &s_Fallback)); 4092 4084 } 4093 4085 -
trunk/src/VBox/VMM/VMMAll/IEMAllInstructionsVexMap2.cpp.h
r95512 r95517 31 31 { 32 32 IEMOP_MNEMONIC3(VEX_RVM, VPSHUFB, vpshufb, Vx, Hx, Wx, DISOPTYPE_HARMLESS, 0); 33 return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx,34 IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &g_iemAImpl_vpshufb, &g_iemAImpl_vpshufb_fallback));33 IEMOPMEDIAF3_INIT_VARS(vpshufb); 34 return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx, IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &s_Host, &s_Fallback)); 35 35 } 36 36 … … 147 147 { 148 148 IEMOP_MNEMONIC3(VEX_RVM, VPCMPEQQ, vpcmpeqq, Vx, Hx, Wx, DISOPTYPE_HARMLESS, 0); 149 return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx,150 IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &g_iemAImpl_vpcmpeqq, &g_iemAImpl_vpcmpeqq_fallback));149 IEMOPMEDIAF3_INIT_VARS(vpcmpeqq); 150 return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx, IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &s_Host, &s_Fallback)); 151 151 } 152 152 … … 268 268 { 269 269 IEMOP_MNEMONIC3(VEX_RVM, VPCMPGTQ, vpcmpgtq, Vx, Hx, Wx, DISOPTYPE_HARMLESS, 0); 270 return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx,271 IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &g_iemAImpl_vpcmpgtq, &g_iemAImpl_vpcmpgtq_fallback));270 IEMOPMEDIAF3_INIT_VARS(vpcmpgtq); 271 return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx, IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &s_Host, &s_Fallback)); 272 272 } 273 273
Note:
See TracChangeset
for help on using the changeset viewer.