Changeset 96007 in vbox
- Timestamp:
- Aug 3, 2022 7:27:57 PM (3 years ago)
- svn:sync-xref-src-repo-rev:
- 152792
- Location:
- trunk/src/VBox/VMM
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/IEMAllAImpl.asm
r96004 r96007 3636 3636 IEMIMPL_MEDIA_F2 pminuw, 0 3637 3637 IEMIMPL_MEDIA_F2 pminud, 0 3638 IEMIMPL_MEDIA_F2 pminsb, 0 3639 IEMIMPL_MEDIA_F2 pminsw, 1 3640 IEMIMPL_MEDIA_F2 pminsd, 0 3638 3641 IEMIMPL_MEDIA_F2 pmaxub, 1 3639 3642 IEMIMPL_MEDIA_F2 pmaxuw, 0 … … 4093 4096 IEMIMPL_MEDIA_F3 vpminuw 4094 4097 IEMIMPL_MEDIA_F3 vpminud 4098 IEMIMPL_MEDIA_F3 vpminsb 4099 IEMIMPL_MEDIA_F3 vpminsw 4100 IEMIMPL_MEDIA_F3 vpminsd 4095 4101 IEMIMPL_MEDIA_F3 vpmaxub 4096 4102 IEMIMPL_MEDIA_F3 vpmaxuw -
trunk/src/VBox/VMM/VMMAll/IEMAllAImplC.cpp
r96004 r96007 9914 9914 9915 9915 /* 9916 * PMINUB / VPMINUB / PMINUW / VPMINUW / PMINUD / VPMINUD 9917 */ 9918 #ifdef IEM_WITHOUT_ASSEMBLY 9919 9920 IEM_DECL_IMPL_DEF(void, iemAImpl_pminsw_u64,(PCX86FXSTATE pFpuState, uint64_t *puDst, uint64_t const *puSrc)) 9921 { 9922 RTUINT64U uSrc1 = { *puDst }; 9923 RTUINT64U uSrc2 = { *puSrc }; 9924 RTUINT64U uDst; 9925 9926 uDst.ai16[0] = RT_MIN(uSrc1.ai16[0], uSrc2.ai16[0]); 9927 uDst.ai16[1] = RT_MIN(uSrc1.ai16[1], uSrc2.ai16[1]); 9928 uDst.ai16[2] = RT_MIN(uSrc1.ai16[2], uSrc2.ai16[2]); 9929 uDst.ai16[3] = RT_MIN(uSrc1.ai16[3], uSrc2.ai16[3]); 9930 *puDst = uDst.u; 9931 RT_NOREF(pFpuState); 9932 } 9933 9934 9935 IEM_DECL_IMPL_DEF(void, iemAImpl_pminsw_u128,(PCX86FXSTATE pFpuState, PRTUINT128U puDst, PCRTUINT128U puSrc)) 9936 { 9937 RTUINT128U uSrc1 = *puDst; 9938 9939 puDst->ai16[ 0] = RT_MIN(uSrc1.ai16[ 0], puSrc->ai16[ 0]); 9940 puDst->ai16[ 1] = RT_MIN(uSrc1.ai16[ 1], puSrc->ai16[ 1]); 9941 puDst->ai16[ 2] = RT_MIN(uSrc1.ai16[ 2], puSrc->ai16[ 2]); 9942 puDst->ai16[ 3] = RT_MIN(uSrc1.ai16[ 3], puSrc->ai16[ 3]); 9943 puDst->ai16[ 4] = RT_MIN(uSrc1.ai16[ 4], puSrc->ai16[ 4]); 9944 puDst->ai16[ 5] = RT_MIN(uSrc1.ai16[ 5], puSrc->ai16[ 5]); 9945 puDst->ai16[ 6] = RT_MIN(uSrc1.ai16[ 6], puSrc->ai16[ 6]); 9946 puDst->ai16[ 7] = RT_MIN(uSrc1.ai16[ 7], puSrc->ai16[ 7]); 9947 RT_NOREF(pFpuState); 9948 } 9949 9950 #endif 9951 9952 IEM_DECL_IMPL_DEF(void, iemAImpl_pminsb_u128_fallback,(PCX86FXSTATE pFpuState, PRTUINT128U puDst, PCRTUINT128U puSrc)) 9953 { 9954 RTUINT128U uSrc1 = *puDst; 9955 9956 puDst->ai8[ 0] = RT_MIN(uSrc1.ai8[ 0], puSrc->ai8[ 0]); 9957 puDst->ai8[ 1] = RT_MIN(uSrc1.ai8[ 1], puSrc->ai8[ 1]); 9958 puDst->ai8[ 2] = RT_MIN(uSrc1.ai8[ 2], puSrc->ai8[ 2]); 9959 puDst->ai8[ 3] = RT_MIN(uSrc1.ai8[ 3], puSrc->ai8[ 3]); 9960 puDst->ai8[ 4] = RT_MIN(uSrc1.ai8[ 4], puSrc->ai8[ 4]); 9961 puDst->ai8[ 5] = RT_MIN(uSrc1.ai8[ 5], puSrc->ai8[ 5]); 9962 puDst->ai8[ 6] = RT_MIN(uSrc1.ai8[ 6], puSrc->ai8[ 6]); 9963 puDst->ai8[ 7] = RT_MIN(uSrc1.ai8[ 7], puSrc->ai8[ 7]); 9964 puDst->ai8[ 8] = RT_MIN(uSrc1.ai8[ 8], puSrc->ai8[ 8]); 9965 puDst->ai8[ 9] = RT_MIN(uSrc1.ai8[ 9], puSrc->ai8[ 9]); 9966 puDst->ai8[10] = RT_MIN(uSrc1.ai8[10], puSrc->ai8[10]); 9967 puDst->ai8[11] = RT_MIN(uSrc1.ai8[11], puSrc->ai8[11]); 9968 puDst->ai8[12] = RT_MIN(uSrc1.ai8[12], puSrc->ai8[12]); 9969 puDst->ai8[13] = RT_MIN(uSrc1.ai8[13], puSrc->ai8[13]); 9970 puDst->ai8[14] = RT_MIN(uSrc1.ai8[14], puSrc->ai8[14]); 9971 puDst->ai8[15] = RT_MIN(uSrc1.ai8[15], puSrc->ai8[15]); 9972 RT_NOREF(pFpuState); 9973 } 9974 9975 9976 IEM_DECL_IMPL_DEF(void, iemAImpl_pminsd_u128_fallback,(PCX86FXSTATE pFpuState, PRTUINT128U puDst, PCRTUINT128U puSrc)) 9977 { 9978 RTUINT128U uSrc1 = *puDst; 9979 9980 puDst->ai32[ 0] = RT_MIN(uSrc1.ai32[ 0], puSrc->ai32[ 0]); 9981 puDst->ai32[ 1] = RT_MIN(uSrc1.ai32[ 1], puSrc->ai32[ 1]); 9982 puDst->ai32[ 2] = RT_MIN(uSrc1.ai32[ 2], puSrc->ai32[ 2]); 9983 puDst->ai32[ 3] = RT_MIN(uSrc1.ai32[ 3], puSrc->ai32[ 3]); 9984 RT_NOREF(pFpuState); 9985 } 9986 9987 9988 IEM_DECL_IMPL_DEF(void, iemAImpl_vpminsb_u128_fallback,(PX86XSAVEAREA pExtState, PRTUINT128U puDst, 9989 PCRTUINT128U puSrc1, PCRTUINT128U puSrc2)) 9990 { 9991 puDst->ai8[ 0] = RT_MIN(puSrc1->ai8[ 0], puSrc2->ai8[ 0]); 9992 puDst->ai8[ 1] = RT_MIN(puSrc1->ai8[ 1], puSrc2->ai8[ 1]); 9993 puDst->ai8[ 2] = RT_MIN(puSrc1->ai8[ 2], puSrc2->ai8[ 2]); 9994 puDst->ai8[ 3] = RT_MIN(puSrc1->ai8[ 3], puSrc2->ai8[ 3]); 9995 puDst->ai8[ 4] = RT_MIN(puSrc1->ai8[ 4], puSrc2->ai8[ 4]); 9996 puDst->ai8[ 5] = RT_MIN(puSrc1->ai8[ 5], puSrc2->ai8[ 5]); 9997 puDst->ai8[ 6] = RT_MIN(puSrc1->ai8[ 6], puSrc2->ai8[ 6]); 9998 puDst->ai8[ 7] = RT_MIN(puSrc1->ai8[ 7], puSrc2->ai8[ 7]); 9999 puDst->ai8[ 8] = RT_MIN(puSrc1->ai8[ 8], puSrc2->ai8[ 8]); 10000 puDst->ai8[ 9] = RT_MIN(puSrc1->ai8[ 9], puSrc2->ai8[ 9]); 10001 puDst->ai8[10] = RT_MIN(puSrc1->ai8[10], puSrc2->ai8[10]); 10002 puDst->ai8[11] = RT_MIN(puSrc1->ai8[11], puSrc2->ai8[11]); 10003 puDst->ai8[12] = RT_MIN(puSrc1->ai8[12], puSrc2->ai8[12]); 10004 puDst->ai8[13] = RT_MIN(puSrc1->ai8[13], puSrc2->ai8[13]); 10005 puDst->ai8[14] = RT_MIN(puSrc1->ai8[14], puSrc2->ai8[14]); 10006 puDst->ai8[15] = RT_MIN(puSrc1->ai8[15], puSrc2->ai8[15]); 10007 RT_NOREF(pExtState); 10008 } 10009 10010 10011 IEM_DECL_IMPL_DEF(void, iemAImpl_vpminsb_u256_fallback,(PX86XSAVEAREA pExtState, PRTUINT256U puDst, 10012 PCRTUINT256U puSrc1, PCRTUINT256U puSrc2)) 10013 { 10014 puDst->ai8[ 0] = RT_MIN(puSrc1->ai8[ 0], puSrc2->ai8[ 0]); 10015 puDst->ai8[ 1] = RT_MIN(puSrc1->ai8[ 1], puSrc2->ai8[ 1]); 10016 puDst->ai8[ 2] = RT_MIN(puSrc1->ai8[ 2], puSrc2->ai8[ 2]); 10017 puDst->ai8[ 3] = RT_MIN(puSrc1->ai8[ 3], puSrc2->ai8[ 3]); 10018 puDst->ai8[ 4] = RT_MIN(puSrc1->ai8[ 4], puSrc2->ai8[ 4]); 10019 puDst->ai8[ 5] = RT_MIN(puSrc1->ai8[ 5], puSrc2->ai8[ 5]); 10020 puDst->ai8[ 6] = RT_MIN(puSrc1->ai8[ 6], puSrc2->ai8[ 6]); 10021 puDst->ai8[ 7] = RT_MIN(puSrc1->ai8[ 7], puSrc2->ai8[ 7]); 10022 puDst->ai8[ 8] = RT_MIN(puSrc1->ai8[ 8], puSrc2->ai8[ 8]); 10023 puDst->ai8[ 9] = RT_MIN(puSrc1->ai8[ 9], puSrc2->ai8[ 9]); 10024 puDst->ai8[10] = RT_MIN(puSrc1->ai8[10], puSrc2->ai8[10]); 10025 puDst->ai8[11] = RT_MIN(puSrc1->ai8[11], puSrc2->ai8[11]); 10026 puDst->ai8[12] = RT_MIN(puSrc1->ai8[12], puSrc2->ai8[12]); 10027 puDst->ai8[13] = RT_MIN(puSrc1->ai8[13], puSrc2->ai8[13]); 10028 puDst->ai8[14] = RT_MIN(puSrc1->ai8[14], puSrc2->ai8[14]); 10029 puDst->ai8[15] = RT_MIN(puSrc1->ai8[15], puSrc2->ai8[15]); 10030 puDst->ai8[16] = RT_MIN(puSrc1->ai8[16], puSrc2->ai8[16]); 10031 puDst->ai8[17] = RT_MIN(puSrc1->ai8[17], puSrc2->ai8[17]); 10032 puDst->ai8[18] = RT_MIN(puSrc1->ai8[18], puSrc2->ai8[18]); 10033 puDst->ai8[19] = RT_MIN(puSrc1->ai8[19], puSrc2->ai8[19]); 10034 puDst->ai8[20] = RT_MIN(puSrc1->ai8[20], puSrc2->ai8[20]); 10035 puDst->ai8[21] = RT_MIN(puSrc1->ai8[21], puSrc2->ai8[21]); 10036 puDst->ai8[22] = RT_MIN(puSrc1->ai8[22], puSrc2->ai8[22]); 10037 puDst->ai8[23] = RT_MIN(puSrc1->ai8[23], puSrc2->ai8[23]); 10038 puDst->ai8[24] = RT_MIN(puSrc1->ai8[24], puSrc2->ai8[24]); 10039 puDst->ai8[25] = RT_MIN(puSrc1->ai8[25], puSrc2->ai8[25]); 10040 puDst->ai8[26] = RT_MIN(puSrc1->ai8[26], puSrc2->ai8[26]); 10041 puDst->ai8[27] = RT_MIN(puSrc1->ai8[27], puSrc2->ai8[27]); 10042 puDst->ai8[28] = RT_MIN(puSrc1->ai8[28], puSrc2->ai8[28]); 10043 puDst->ai8[29] = RT_MIN(puSrc1->ai8[29], puSrc2->ai8[29]); 10044 puDst->ai8[30] = RT_MIN(puSrc1->ai8[30], puSrc2->ai8[30]); 10045 puDst->ai8[31] = RT_MIN(puSrc1->ai8[31], puSrc2->ai8[31]); 10046 RT_NOREF(pExtState); 10047 } 10048 10049 10050 IEM_DECL_IMPL_DEF(void, iemAImpl_vpminsw_u128_fallback,(PX86XSAVEAREA pExtState, PRTUINT128U puDst, 10051 PCRTUINT128U puSrc1, PCRTUINT128U puSrc2)) 10052 { 10053 puDst->ai16[ 0] = RT_MIN(puSrc1->ai16[ 0], puSrc2->ai16[ 0]); 10054 puDst->ai16[ 1] = RT_MIN(puSrc1->ai16[ 1], puSrc2->ai16[ 1]); 10055 puDst->ai16[ 2] = RT_MIN(puSrc1->ai16[ 2], puSrc2->ai16[ 2]); 10056 puDst->ai16[ 3] = RT_MIN(puSrc1->ai16[ 3], puSrc2->ai16[ 3]); 10057 puDst->ai16[ 4] = RT_MIN(puSrc1->ai16[ 4], puSrc2->ai16[ 4]); 10058 puDst->ai16[ 5] = RT_MIN(puSrc1->ai16[ 5], puSrc2->ai16[ 5]); 10059 puDst->ai16[ 6] = RT_MIN(puSrc1->ai16[ 6], puSrc2->ai16[ 6]); 10060 puDst->ai16[ 7] = RT_MIN(puSrc1->ai16[ 7], puSrc2->ai16[ 7]); 10061 RT_NOREF(pExtState); 10062 } 10063 10064 10065 IEM_DECL_IMPL_DEF(void, iemAImpl_vpminsw_u256_fallback,(PX86XSAVEAREA pExtState, PRTUINT256U puDst, 10066 PCRTUINT256U puSrc1, PCRTUINT256U puSrc2)) 10067 { 10068 puDst->ai16[ 0] = RT_MIN(puSrc1->ai16[ 0], puSrc2->ai16[ 0]); 10069 puDst->ai16[ 1] = RT_MIN(puSrc1->ai16[ 1], puSrc2->ai16[ 1]); 10070 puDst->ai16[ 2] = RT_MIN(puSrc1->ai16[ 2], puSrc2->ai16[ 2]); 10071 puDst->ai16[ 3] = RT_MIN(puSrc1->ai16[ 3], puSrc2->ai16[ 3]); 10072 puDst->ai16[ 4] = RT_MIN(puSrc1->ai16[ 4], puSrc2->ai16[ 4]); 10073 puDst->ai16[ 5] = RT_MIN(puSrc1->ai16[ 5], puSrc2->ai16[ 5]); 10074 puDst->ai16[ 6] = RT_MIN(puSrc1->ai16[ 6], puSrc2->ai16[ 6]); 10075 puDst->ai16[ 7] = RT_MIN(puSrc1->ai16[ 7], puSrc2->ai16[ 7]); 10076 puDst->ai16[ 8] = RT_MIN(puSrc1->ai16[ 8], puSrc2->ai16[ 8]); 10077 puDst->ai16[ 9] = RT_MIN(puSrc1->ai16[ 9], puSrc2->ai16[ 9]); 10078 puDst->ai16[10] = RT_MIN(puSrc1->ai16[10], puSrc2->ai16[10]); 10079 puDst->ai16[11] = RT_MIN(puSrc1->ai16[11], puSrc2->ai16[11]); 10080 puDst->ai16[12] = RT_MIN(puSrc1->ai16[12], puSrc2->ai16[12]); 10081 puDst->ai16[13] = RT_MIN(puSrc1->ai16[13], puSrc2->ai16[13]); 10082 puDst->ai16[14] = RT_MIN(puSrc1->ai16[14], puSrc2->ai16[14]); 10083 puDst->ai16[15] = RT_MIN(puSrc1->ai16[15], puSrc2->ai16[15]); 10084 RT_NOREF(pExtState); 10085 } 10086 10087 10088 IEM_DECL_IMPL_DEF(void, iemAImpl_vpminsd_u128_fallback,(PX86XSAVEAREA pExtState, PRTUINT128U puDst, 10089 PCRTUINT128U puSrc1, PCRTUINT128U puSrc2)) 10090 { 10091 puDst->ai32[ 0] = RT_MIN(puSrc1->ai32[ 0], puSrc2->ai32[ 0]); 10092 puDst->ai32[ 1] = RT_MIN(puSrc1->ai32[ 1], puSrc2->ai32[ 1]); 10093 puDst->ai32[ 2] = RT_MIN(puSrc1->ai32[ 2], puSrc2->ai32[ 2]); 10094 puDst->ai32[ 3] = RT_MIN(puSrc1->ai32[ 3], puSrc2->ai32[ 3]); 10095 RT_NOREF(pExtState); 10096 } 10097 10098 10099 IEM_DECL_IMPL_DEF(void, iemAImpl_vpminsd_u256_fallback,(PX86XSAVEAREA pExtState, PRTUINT256U puDst, 10100 PCRTUINT256U puSrc1, PCRTUINT256U puSrc2)) 10101 { 10102 puDst->ai32[ 0] = RT_MIN(puSrc1->ai32[ 0], puSrc2->ai32[ 0]); 10103 puDst->ai32[ 1] = RT_MIN(puSrc1->ai32[ 1], puSrc2->ai32[ 1]); 10104 puDst->ai32[ 2] = RT_MIN(puSrc1->ai32[ 2], puSrc2->ai32[ 2]); 10105 puDst->ai32[ 3] = RT_MIN(puSrc1->ai32[ 3], puSrc2->ai32[ 3]); 10106 puDst->ai32[ 4] = RT_MIN(puSrc1->ai32[ 4], puSrc2->ai32[ 4]); 10107 puDst->ai32[ 5] = RT_MIN(puSrc1->ai32[ 5], puSrc2->ai32[ 5]); 10108 puDst->ai32[ 6] = RT_MIN(puSrc1->ai32[ 6], puSrc2->ai32[ 6]); 10109 puDst->ai32[ 7] = RT_MIN(puSrc1->ai32[ 7], puSrc2->ai32[ 7]); 10110 RT_NOREF(pExtState); 10111 } 10112 10113 10114 /* 9916 10115 * PMOVMSKB / VPMOVMSKB 9917 10116 */ -
trunk/src/VBox/VMM/VMMAll/IEMAllInstructionsThree0f38.cpp.h
r96004 r96007 541 541 542 542 /** Opcode 0x66 0x0f 0x38 0x38. */ 543 FNIEMOP_STUB(iemOp_pminsb_Vx_Wx); 543 FNIEMOP_DEF(iemOp_pminsb_Vx_Wx) 544 { 545 IEMOP_MNEMONIC2(RM, PMINSB, pminsb, Vx, Wx, DISOPTYPE_HARMLESS | DISOPTYPE_SSE, IEMOPHINT_IGNORES_OP_SIZES); 546 return FNIEMOP_CALL_1(iemOpCommonSse41_FullFull_To_Full, 547 IEM_SELECT_HOST_OR_FALLBACK(fSse41, iemAImpl_pminsb_u128, iemAImpl_pminsb_u128_fallback)); 548 } 549 550 544 551 /** Opcode 0x66 0x0f 0x38 0x39. */ 545 FNIEMOP_STUB(iemOp_pminsd_Vx_Wx); 552 FNIEMOP_DEF(iemOp_pminsd_Vx_Wx) 553 { 554 IEMOP_MNEMONIC2(RM, PMINSD, pminsd, Vx, Wx, DISOPTYPE_HARMLESS | DISOPTYPE_SSE, IEMOPHINT_IGNORES_OP_SIZES); 555 return FNIEMOP_CALL_1(iemOpCommonSse41_FullFull_To_Full, 556 IEM_SELECT_HOST_OR_FALLBACK(fSse41, iemAImpl_pminsd_u128, iemAImpl_pminsd_u128_fallback)); 557 } 546 558 547 559 -
trunk/src/VBox/VMM/VMMAll/IEMAllInstructionsTwoByte0f.cpp.h
r95953 r96007 10288 10288 /* Opcode 0xf2 0x0f 0xe9 - invalid */ 10289 10289 10290 10290 10291 /** Opcode 0x0f 0xea - pminsw Pq, Qq */ 10291 FNIEMOP_STUB(iemOp_pminsw_Pq_Qq); 10292 FNIEMOP_DEF(iemOp_pminsw_Pq_Qq) 10293 { 10294 IEMOP_MNEMONIC2(RM, PMINSW, pminsw, Pq, Qq, DISOPTYPE_HARMLESS, IEMOPHINT_IGNORES_OP_SIZES); 10295 return FNIEMOP_CALL_1(iemOpCommonMmxSse_FullFull_To_Full, iemAImpl_pminsw_u64); 10296 } 10297 10298 10292 10299 /** Opcode 0x66 0x0f 0xea - pminsw Vx, Wx */ 10293 FNIEMOP_STUB(iemOp_pminsw_Vx_Wx); 10300 FNIEMOP_DEF(iemOp_pminsw_Vx_Wx) 10301 { 10302 IEMOP_MNEMONIC2(RM, PMINSW, pminsw, Vx, Wx, DISOPTYPE_HARMLESS, IEMOPHINT_IGNORES_OP_SIZES); 10303 return FNIEMOP_CALL_1(iemOpCommonSse2_FullFull_To_Full, iemAImpl_pminsw_u128); 10304 } 10305 10306 10294 10307 /* Opcode 0xf3 0x0f 0xea - invalid */ 10295 10308 /* Opcode 0xf2 0x0f 0xea - invalid */ -
trunk/src/VBox/VMM/VMMAll/IEMAllInstructionsVexMap1.cpp.h
r95989 r96007 4236 4236 4237 4237 /* Opcode VEX.0F 0xea - invalid */ 4238 4239 4238 4240 /** Opcode VEX.66.0F 0xea - vpminsw Vx, Hx, Wx */ 4239 FNIEMOP_STUB(iemOp_vpminsw_Vx_Hx_Wx); 4241 FNIEMOP_DEF(iemOp_vpminsw_Vx_Hx_Wx) 4242 { 4243 IEMOP_MNEMONIC3(VEX_RVM, VPMINSW, vpminsw, Vx, Hx, Wx, DISOPTYPE_HARMLESS, 0); 4244 IEMOPMEDIAF3_INIT_VARS(vpminsw); 4245 return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx, IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &s_Host, &s_Fallback)); 4246 } 4247 4248 4240 4249 /* Opcode VEX.F3.0F 0xea - invalid */ 4241 4250 /* Opcode VEX.F2.0F 0xea - invalid */ -
trunk/src/VBox/VMM/VMMAll/IEMAllInstructionsVexMap2.cpp.h
r96004 r96007 382 382 383 383 /** Opcode VEX.66.0F38 0x38. */ 384 FNIEMOP_STUB(iemOp_vpminsb_Vx_Hx_Wx); 384 FNIEMOP_DEF(iemOp_vpminsb_Vx_Hx_Wx) 385 { 386 IEMOP_MNEMONIC3(VEX_RVM, VPMINSB, vpminsb, Vx, Hx, Wx, DISOPTYPE_HARMLESS, 0); 387 IEMOPMEDIAF3_INIT_VARS(vpminsb); 388 return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx, IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &s_Host, &s_Fallback)); 389 } 390 391 385 392 /** Opcode VEX.66.0F38 0x39. */ 386 FNIEMOP_STUB(iemOp_vpminsd_Vx_Hx_Wx); 393 FNIEMOP_DEF(iemOp_vpminsd_Vx_Hx_Wx) 394 { 395 IEMOP_MNEMONIC3(VEX_RVM, VPMINSD, vpminsd, Vx, Hx, Wx, DISOPTYPE_HARMLESS, 0); 396 IEMOPMEDIAF3_INIT_VARS(vpminsd); 397 return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx, IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &s_Host, &s_Fallback)); 398 } 387 399 388 400 -
trunk/src/VBox/VMM/include/IEMInternal.h
r96004 r96007 1778 1778 FNIEMAIMPLMEDIAF2U64 iemAImpl_pmullw_u64, iemAImpl_pmulhw_u64; 1779 1779 FNIEMAIMPLMEDIAF2U64 iemAImpl_pminub_u64, iemAImpl_pmaxub_u64; 1780 FNIEMAIMPLMEDIAF2U64 iemAImpl_pminsw_u64; 1780 1781 FNIEMAIMPLMEDIAOPTF2U64 iemAImpl_psllw_u64, iemAImpl_psrlw_u64, iemAImpl_psraw_u64; 1781 1782 FNIEMAIMPLMEDIAOPTF2U64 iemAImpl_pslld_u64, iemAImpl_psrld_u64, iemAImpl_psrad_u64; … … 1803 1804 FNIEMAIMPLMEDIAF2U128 iemAImpl_pminud_u128, iemAImpl_pminud_u128_fallback; 1804 1805 FNIEMAIMPLMEDIAF2U128 iemAImpl_pminuw_u128, iemAImpl_pminuw_u128_fallback; 1806 FNIEMAIMPLMEDIAF2U128 iemAImpl_pminsb_u128, iemAImpl_pminsb_u128_fallback; 1807 FNIEMAIMPLMEDIAF2U128 iemAImpl_pminsd_u128, iemAImpl_pminsd_u128_fallback; 1808 FNIEMAIMPLMEDIAF2U128 iemAImpl_pminsw_u128, iemAImpl_pminsw_u128_fallback; 1805 1809 FNIEMAIMPLMEDIAF2U128 iemAImpl_pmaxub_u128; 1806 1810 FNIEMAIMPLMEDIAF2U128 iemAImpl_pmaxud_u128, iemAImpl_pmaxud_u128_fallback; … … 1836 1840 FNIEMAIMPLMEDIAF3U128 iemAImpl_vpminuw_u128, iemAImpl_vpminuw_u128_fallback; 1837 1841 FNIEMAIMPLMEDIAF3U128 iemAImpl_vpminud_u128, iemAImpl_vpminud_u128_fallback; 1842 FNIEMAIMPLMEDIAF3U128 iemAImpl_vpminsb_u128, iemAImpl_vpminsb_u128_fallback; 1843 FNIEMAIMPLMEDIAF3U128 iemAImpl_vpminsw_u128, iemAImpl_vpminsw_u128_fallback; 1844 FNIEMAIMPLMEDIAF3U128 iemAImpl_vpminsd_u128, iemAImpl_vpminsd_u128_fallback; 1838 1845 FNIEMAIMPLMEDIAF3U128 iemAImpl_vpmaxub_u128, iemAImpl_vpmaxub_u128_fallback; 1839 1846 FNIEMAIMPLMEDIAF3U128 iemAImpl_vpmaxuw_u128, iemAImpl_vpmaxuw_u128_fallback; … … 1868 1875 FNIEMAIMPLMEDIAF3U256 iemAImpl_vpminuw_u256, iemAImpl_vpminuw_u256_fallback; 1869 1876 FNIEMAIMPLMEDIAF3U256 iemAImpl_vpminud_u256, iemAImpl_vpminud_u256_fallback; 1877 FNIEMAIMPLMEDIAF3U256 iemAImpl_vpminsb_u256, iemAImpl_vpminsb_u256_fallback; 1878 FNIEMAIMPLMEDIAF3U256 iemAImpl_vpminsw_u256, iemAImpl_vpminsw_u256_fallback; 1879 FNIEMAIMPLMEDIAF3U256 iemAImpl_vpminsd_u256, iemAImpl_vpminsd_u256_fallback; 1870 1880 FNIEMAIMPLMEDIAF3U256 iemAImpl_vpmaxub_u256, iemAImpl_vpmaxub_u256_fallback; 1871 1881 FNIEMAIMPLMEDIAF3U256 iemAImpl_vpmaxuw_u256, iemAImpl_vpmaxuw_u256_fallback; -
trunk/src/VBox/VMM/testcase/tstIEMCheckMc.cpp
r95951 r96007 440 440 #define iemAImpl_pmaxub_u64 NULL 441 441 #define iemAImpl_pminub_u64 NULL 442 #define iemAImpl_pminsw_u64 NULL 442 443 443 444 #define iemAImpl_pmaxub_u128 NULL 444 445 #define iemAImpl_pminub_u128 NULL 446 #define iemAImpl_pminsw_u128 NULL 445 447 446 448 /** @} */
Note:
See TracChangeset
for help on using the changeset viewer.