Changeset 96010 in vbox
- Timestamp:
- Aug 3, 2022 8:15:46 PM (2 years ago)
- Location:
- trunk/src/VBox/VMM
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/IEMAllAImpl.asm
r96007 r96010 3642 3642 IEMIMPL_MEDIA_F2 pmaxuw, 0 3643 3643 IEMIMPL_MEDIA_F2 pmaxud, 0 3644 IEMIMPL_MEDIA_F2 pmaxsb, 0 3645 IEMIMPL_MEDIA_F2 pmaxsw, 1 3646 IEMIMPL_MEDIA_F2 pmaxsd, 0 3644 3647 3645 3648 ;; … … 4102 4105 IEMIMPL_MEDIA_F3 vpmaxuw 4103 4106 IEMIMPL_MEDIA_F3 vpmaxud 4107 IEMIMPL_MEDIA_F3 vpmaxsb 4108 IEMIMPL_MEDIA_F3 vpmaxsw 4109 IEMIMPL_MEDIA_F3 vpmaxsd 4104 4110 IEMIMPL_MEDIA_F3 vpandn 4105 4111 IEMIMPL_MEDIA_F3 vpor -
trunk/src/VBox/VMM/VMMAll/IEMAllAImplC.cpp
r96009 r96010 9711 9711 9712 9712 /* 9713 * PMAXSB / VPMAXSB / PMAXSW / VPMAXSW / PMAXSD / VPMAXSD 9714 */ 9715 #ifdef IEM_WITHOUT_ASSEMBLY 9716 9717 IEM_DECL_IMPL_DEF(void, iemAImpl_pmaxsw_u64,(PCX86FXSTATE pFpuState, uint64_t *puDst, uint64_t const *puSrc)) 9718 { 9719 RTUINT64U uSrc1 = { *puDst }; 9720 RTUINT64U uSrc2 = { *puSrc }; 9721 RTUINT64U uDst; 9722 9723 uDst.ai16[0] = RT_MAX(uSrc1.ai16[0], uSrc2.ai16[0]); 9724 uDst.ai16[1] = RT_MAX(uSrc1.ai16[1], uSrc2.ai16[1]); 9725 uDst.ai16[2] = RT_MAX(uSrc1.ai16[2], uSrc2.ai16[2]); 9726 uDst.ai16[3] = RT_MAX(uSrc1.ai16[3], uSrc2.ai16[3]); 9727 *puDst = uDst.u; 9728 RT_NOREF(pFpuState); 9729 } 9730 9731 9732 IEM_DECL_IMPL_DEF(void, iemAImpl_pmaxsw_u128,(PCX86FXSTATE pFpuState, PRTUINT128U puDst, PCRTUINT128U puSrc)) 9733 { 9734 RTUINT128U uSrc1 = *puDst; 9735 9736 puDst->ai16[ 0] = RT_MAX(uSrc1.ai16[ 0], puSrc->ai16[ 0]); 9737 puDst->ai16[ 1] = RT_MAX(uSrc1.ai16[ 1], puSrc->ai16[ 1]); 9738 puDst->ai16[ 2] = RT_MAX(uSrc1.ai16[ 2], puSrc->ai16[ 2]); 9739 puDst->ai16[ 3] = RT_MAX(uSrc1.ai16[ 3], puSrc->ai16[ 3]); 9740 puDst->ai16[ 4] = RT_MAX(uSrc1.ai16[ 4], puSrc->ai16[ 4]); 9741 puDst->ai16[ 5] = RT_MAX(uSrc1.ai16[ 5], puSrc->ai16[ 5]); 9742 puDst->ai16[ 6] = RT_MAX(uSrc1.ai16[ 6], puSrc->ai16[ 6]); 9743 puDst->ai16[ 7] = RT_MAX(uSrc1.ai16[ 7], puSrc->ai16[ 7]); 9744 RT_NOREF(pFpuState); 9745 } 9746 9747 #endif 9748 9749 IEM_DECL_IMPL_DEF(void, iemAImpl_pmaxsb_u128_fallback,(PCX86FXSTATE pFpuState, PRTUINT128U puDst, PCRTUINT128U puSrc)) 9750 { 9751 RTUINT128U uSrc1 = *puDst; 9752 9753 puDst->ai8[ 0] = RT_MAX(uSrc1.ai8[ 0], puSrc->ai8[ 0]); 9754 puDst->ai8[ 1] = RT_MAX(uSrc1.ai8[ 1], puSrc->ai8[ 1]); 9755 puDst->ai8[ 2] = RT_MAX(uSrc1.ai8[ 2], puSrc->ai8[ 2]); 9756 puDst->ai8[ 3] = RT_MAX(uSrc1.ai8[ 3], puSrc->ai8[ 3]); 9757 puDst->ai8[ 4] = RT_MAX(uSrc1.ai8[ 4], puSrc->ai8[ 4]); 9758 puDst->ai8[ 5] = RT_MAX(uSrc1.ai8[ 5], puSrc->ai8[ 5]); 9759 puDst->ai8[ 6] = RT_MAX(uSrc1.ai8[ 6], puSrc->ai8[ 6]); 9760 puDst->ai8[ 7] = RT_MAX(uSrc1.ai8[ 7], puSrc->ai8[ 7]); 9761 puDst->ai8[ 8] = RT_MAX(uSrc1.ai8[ 8], puSrc->ai8[ 8]); 9762 puDst->ai8[ 9] = RT_MAX(uSrc1.ai8[ 9], puSrc->ai8[ 9]); 9763 puDst->ai8[10] = RT_MAX(uSrc1.ai8[10], puSrc->ai8[10]); 9764 puDst->ai8[11] = RT_MAX(uSrc1.ai8[11], puSrc->ai8[11]); 9765 puDst->ai8[12] = RT_MAX(uSrc1.ai8[12], puSrc->ai8[12]); 9766 puDst->ai8[13] = RT_MAX(uSrc1.ai8[13], puSrc->ai8[13]); 9767 puDst->ai8[14] = RT_MAX(uSrc1.ai8[14], puSrc->ai8[14]); 9768 puDst->ai8[15] = RT_MAX(uSrc1.ai8[15], puSrc->ai8[15]); 9769 RT_NOREF(pFpuState); 9770 } 9771 9772 9773 IEM_DECL_IMPL_DEF(void, iemAImpl_pmaxsd_u128_fallback,(PCX86FXSTATE pFpuState, PRTUINT128U puDst, PCRTUINT128U puSrc)) 9774 { 9775 RTUINT128U uSrc1 = *puDst; 9776 9777 puDst->ai32[ 0] = RT_MAX(uSrc1.ai32[ 0], puSrc->ai32[ 0]); 9778 puDst->ai32[ 1] = RT_MAX(uSrc1.ai32[ 1], puSrc->ai32[ 1]); 9779 puDst->ai32[ 2] = RT_MAX(uSrc1.ai32[ 2], puSrc->ai32[ 2]); 9780 puDst->ai32[ 3] = RT_MAX(uSrc1.ai32[ 3], puSrc->ai32[ 3]); 9781 RT_NOREF(pFpuState); 9782 } 9783 9784 9785 IEM_DECL_IMPL_DEF(void, iemAImpl_vpmaxsb_u128_fallback,(PX86XSAVEAREA pExtState, PRTUINT128U puDst, 9786 PCRTUINT128U puSrc1, PCRTUINT128U puSrc2)) 9787 { 9788 puDst->ai8[ 0] = RT_MAX(puSrc1->ai8[ 0], puSrc2->ai8[ 0]); 9789 puDst->ai8[ 1] = RT_MAX(puSrc1->ai8[ 1], puSrc2->ai8[ 1]); 9790 puDst->ai8[ 2] = RT_MAX(puSrc1->ai8[ 2], puSrc2->ai8[ 2]); 9791 puDst->ai8[ 3] = RT_MAX(puSrc1->ai8[ 3], puSrc2->ai8[ 3]); 9792 puDst->ai8[ 4] = RT_MAX(puSrc1->ai8[ 4], puSrc2->ai8[ 4]); 9793 puDst->ai8[ 5] = RT_MAX(puSrc1->ai8[ 5], puSrc2->ai8[ 5]); 9794 puDst->ai8[ 6] = RT_MAX(puSrc1->ai8[ 6], puSrc2->ai8[ 6]); 9795 puDst->ai8[ 7] = RT_MAX(puSrc1->ai8[ 7], puSrc2->ai8[ 7]); 9796 puDst->ai8[ 8] = RT_MAX(puSrc1->ai8[ 8], puSrc2->ai8[ 8]); 9797 puDst->ai8[ 9] = RT_MAX(puSrc1->ai8[ 9], puSrc2->ai8[ 9]); 9798 puDst->ai8[10] = RT_MAX(puSrc1->ai8[10], puSrc2->ai8[10]); 9799 puDst->ai8[11] = RT_MAX(puSrc1->ai8[11], puSrc2->ai8[11]); 9800 puDst->ai8[12] = RT_MAX(puSrc1->ai8[12], puSrc2->ai8[12]); 9801 puDst->ai8[13] = RT_MAX(puSrc1->ai8[13], puSrc2->ai8[13]); 9802 puDst->ai8[14] = RT_MAX(puSrc1->ai8[14], puSrc2->ai8[14]); 9803 puDst->ai8[15] = RT_MAX(puSrc1->ai8[15], puSrc2->ai8[15]); 9804 RT_NOREF(pExtState); 9805 } 9806 9807 9808 IEM_DECL_IMPL_DEF(void, iemAImpl_vpmaxsb_u256_fallback,(PX86XSAVEAREA pExtState, PRTUINT256U puDst, 9809 PCRTUINT256U puSrc1, PCRTUINT256U puSrc2)) 9810 { 9811 puDst->ai8[ 0] = RT_MAX(puSrc1->ai8[ 0], puSrc2->ai8[ 0]); 9812 puDst->ai8[ 1] = RT_MAX(puSrc1->ai8[ 1], puSrc2->ai8[ 1]); 9813 puDst->ai8[ 2] = RT_MAX(puSrc1->ai8[ 2], puSrc2->ai8[ 2]); 9814 puDst->ai8[ 3] = RT_MAX(puSrc1->ai8[ 3], puSrc2->ai8[ 3]); 9815 puDst->ai8[ 4] = RT_MAX(puSrc1->ai8[ 4], puSrc2->ai8[ 4]); 9816 puDst->ai8[ 5] = RT_MAX(puSrc1->ai8[ 5], puSrc2->ai8[ 5]); 9817 puDst->ai8[ 6] = RT_MAX(puSrc1->ai8[ 6], puSrc2->ai8[ 6]); 9818 puDst->ai8[ 7] = RT_MAX(puSrc1->ai8[ 7], puSrc2->ai8[ 7]); 9819 puDst->ai8[ 8] = RT_MAX(puSrc1->ai8[ 8], puSrc2->ai8[ 8]); 9820 puDst->ai8[ 9] = RT_MAX(puSrc1->ai8[ 9], puSrc2->ai8[ 9]); 9821 puDst->ai8[10] = RT_MAX(puSrc1->ai8[10], puSrc2->ai8[10]); 9822 puDst->ai8[11] = RT_MAX(puSrc1->ai8[11], puSrc2->ai8[11]); 9823 puDst->ai8[12] = RT_MAX(puSrc1->ai8[12], puSrc2->ai8[12]); 9824 puDst->ai8[13] = RT_MAX(puSrc1->ai8[13], puSrc2->ai8[13]); 9825 puDst->ai8[14] = RT_MAX(puSrc1->ai8[14], puSrc2->ai8[14]); 9826 puDst->ai8[15] = RT_MAX(puSrc1->ai8[15], puSrc2->ai8[15]); 9827 puDst->ai8[16] = RT_MAX(puSrc1->ai8[16], puSrc2->ai8[16]); 9828 puDst->ai8[17] = RT_MAX(puSrc1->ai8[17], puSrc2->ai8[17]); 9829 puDst->ai8[18] = RT_MAX(puSrc1->ai8[18], puSrc2->ai8[18]); 9830 puDst->ai8[19] = RT_MAX(puSrc1->ai8[19], puSrc2->ai8[19]); 9831 puDst->ai8[20] = RT_MAX(puSrc1->ai8[20], puSrc2->ai8[20]); 9832 puDst->ai8[21] = RT_MAX(puSrc1->ai8[21], puSrc2->ai8[21]); 9833 puDst->ai8[22] = RT_MAX(puSrc1->ai8[22], puSrc2->ai8[22]); 9834 puDst->ai8[23] = RT_MAX(puSrc1->ai8[23], puSrc2->ai8[23]); 9835 puDst->ai8[24] = RT_MAX(puSrc1->ai8[24], puSrc2->ai8[24]); 9836 puDst->ai8[25] = RT_MAX(puSrc1->ai8[25], puSrc2->ai8[25]); 9837 puDst->ai8[26] = RT_MAX(puSrc1->ai8[26], puSrc2->ai8[26]); 9838 puDst->ai8[27] = RT_MAX(puSrc1->ai8[27], puSrc2->ai8[27]); 9839 puDst->ai8[28] = RT_MAX(puSrc1->ai8[28], puSrc2->ai8[28]); 9840 puDst->ai8[29] = RT_MAX(puSrc1->ai8[29], puSrc2->ai8[29]); 9841 puDst->ai8[30] = RT_MAX(puSrc1->ai8[30], puSrc2->ai8[30]); 9842 puDst->ai8[31] = RT_MAX(puSrc1->ai8[31], puSrc2->ai8[31]); 9843 RT_NOREF(pExtState); 9844 } 9845 9846 9847 IEM_DECL_IMPL_DEF(void, iemAImpl_vpmaxsw_u128_fallback,(PX86XSAVEAREA pExtState, PRTUINT128U puDst, 9848 PCRTUINT128U puSrc1, PCRTUINT128U puSrc2)) 9849 { 9850 puDst->ai16[ 0] = RT_MAX(puSrc1->ai16[ 0], puSrc2->ai16[ 0]); 9851 puDst->ai16[ 1] = RT_MAX(puSrc1->ai16[ 1], puSrc2->ai16[ 1]); 9852 puDst->ai16[ 2] = RT_MAX(puSrc1->ai16[ 2], puSrc2->ai16[ 2]); 9853 puDst->ai16[ 3] = RT_MAX(puSrc1->ai16[ 3], puSrc2->ai16[ 3]); 9854 puDst->ai16[ 4] = RT_MAX(puSrc1->ai16[ 4], puSrc2->ai16[ 4]); 9855 puDst->ai16[ 5] = RT_MAX(puSrc1->ai16[ 5], puSrc2->ai16[ 5]); 9856 puDst->ai16[ 6] = RT_MAX(puSrc1->ai16[ 6], puSrc2->ai16[ 6]); 9857 puDst->ai16[ 7] = RT_MAX(puSrc1->ai16[ 7], puSrc2->ai16[ 7]); 9858 RT_NOREF(pExtState); 9859 } 9860 9861 9862 IEM_DECL_IMPL_DEF(void, iemAImpl_vpmaxsw_u256_fallback,(PX86XSAVEAREA pExtState, PRTUINT256U puDst, 9863 PCRTUINT256U puSrc1, PCRTUINT256U puSrc2)) 9864 { 9865 puDst->ai16[ 0] = RT_MAX(puSrc1->ai16[ 0], puSrc2->ai16[ 0]); 9866 puDst->ai16[ 1] = RT_MAX(puSrc1->ai16[ 1], puSrc2->ai16[ 1]); 9867 puDst->ai16[ 2] = RT_MAX(puSrc1->ai16[ 2], puSrc2->ai16[ 2]); 9868 puDst->ai16[ 3] = RT_MAX(puSrc1->ai16[ 3], puSrc2->ai16[ 3]); 9869 puDst->ai16[ 4] = RT_MAX(puSrc1->ai16[ 4], puSrc2->ai16[ 4]); 9870 puDst->ai16[ 5] = RT_MAX(puSrc1->ai16[ 5], puSrc2->ai16[ 5]); 9871 puDst->ai16[ 6] = RT_MAX(puSrc1->ai16[ 6], puSrc2->ai16[ 6]); 9872 puDst->ai16[ 7] = RT_MAX(puSrc1->ai16[ 7], puSrc2->ai16[ 7]); 9873 puDst->ai16[ 8] = RT_MAX(puSrc1->ai16[ 8], puSrc2->ai16[ 8]); 9874 puDst->ai16[ 9] = RT_MAX(puSrc1->ai16[ 9], puSrc2->ai16[ 9]); 9875 puDst->ai16[10] = RT_MAX(puSrc1->ai16[10], puSrc2->ai16[10]); 9876 puDst->ai16[11] = RT_MAX(puSrc1->ai16[11], puSrc2->ai16[11]); 9877 puDst->ai16[12] = RT_MAX(puSrc1->ai16[12], puSrc2->ai16[12]); 9878 puDst->ai16[13] = RT_MAX(puSrc1->ai16[13], puSrc2->ai16[13]); 9879 puDst->ai16[14] = RT_MAX(puSrc1->ai16[14], puSrc2->ai16[14]); 9880 puDst->ai16[15] = RT_MAX(puSrc1->ai16[15], puSrc2->ai16[15]); 9881 RT_NOREF(pExtState); 9882 } 9883 9884 9885 IEM_DECL_IMPL_DEF(void, iemAImpl_vpmaxsd_u128_fallback,(PX86XSAVEAREA pExtState, PRTUINT128U puDst, 9886 PCRTUINT128U puSrc1, PCRTUINT128U puSrc2)) 9887 { 9888 puDst->ai32[ 0] = RT_MAX(puSrc1->ai32[ 0], puSrc2->ai32[ 0]); 9889 puDst->ai32[ 1] = RT_MAX(puSrc1->ai32[ 1], puSrc2->ai32[ 1]); 9890 puDst->ai32[ 2] = RT_MAX(puSrc1->ai32[ 2], puSrc2->ai32[ 2]); 9891 puDst->ai32[ 3] = RT_MAX(puSrc1->ai32[ 3], puSrc2->ai32[ 3]); 9892 RT_NOREF(pExtState); 9893 } 9894 9895 9896 IEM_DECL_IMPL_DEF(void, iemAImpl_vpmaxsd_u256_fallback,(PX86XSAVEAREA pExtState, PRTUINT256U puDst, 9897 PCRTUINT256U puSrc1, PCRTUINT256U puSrc2)) 9898 { 9899 puDst->ai32[ 0] = RT_MAX(puSrc1->ai32[ 0], puSrc2->ai32[ 0]); 9900 puDst->ai32[ 1] = RT_MAX(puSrc1->ai32[ 1], puSrc2->ai32[ 1]); 9901 puDst->ai32[ 2] = RT_MAX(puSrc1->ai32[ 2], puSrc2->ai32[ 2]); 9902 puDst->ai32[ 3] = RT_MAX(puSrc1->ai32[ 3], puSrc2->ai32[ 3]); 9903 puDst->ai32[ 4] = RT_MAX(puSrc1->ai32[ 4], puSrc2->ai32[ 4]); 9904 puDst->ai32[ 5] = RT_MAX(puSrc1->ai32[ 5], puSrc2->ai32[ 5]); 9905 puDst->ai32[ 6] = RT_MAX(puSrc1->ai32[ 6], puSrc2->ai32[ 6]); 9906 puDst->ai32[ 7] = RT_MAX(puSrc1->ai32[ 7], puSrc2->ai32[ 7]); 9907 RT_NOREF(pExtState); 9908 } 9909 9910 9911 /* 9713 9912 * PMINUB / VPMINUB / PMINUW / VPMINUW / PMINUD / VPMINUD 9714 9913 */ -
trunk/src/VBox/VMM/VMMAll/IEMAllInstructionsThree0f38.cpp.h
r96007 r96010 577 577 578 578 /** Opcode 0x66 0x0f 0x38 0x3c. */ 579 FNIEMOP_STUB(iemOp_pmaxsb_Vx_Wx); 579 FNIEMOP_DEF(iemOp_pmaxsb_Vx_Wx) 580 { 581 IEMOP_MNEMONIC2(RM, PMAXSB, pmaxsb, Vx, Wx, DISOPTYPE_HARMLESS | DISOPTYPE_SSE, IEMOPHINT_IGNORES_OP_SIZES); 582 return FNIEMOP_CALL_1(iemOpCommonSse41_FullFull_To_Full, 583 IEM_SELECT_HOST_OR_FALLBACK(fSse41, iemAImpl_pmaxsb_u128, iemAImpl_pmaxsb_u128_fallback)); 584 } 585 586 580 587 /** Opcode 0x66 0x0f 0x38 0x3d. */ 581 FNIEMOP_STUB(iemOp_pmaxsd_Vx_Wx); 588 FNIEMOP_DEF(iemOp_pmaxsd_Vx_Wx) 589 { 590 IEMOP_MNEMONIC2(RM, PMAXSD, pmaxsd, Vx, Wx, DISOPTYPE_HARMLESS | DISOPTYPE_SSE, IEMOPHINT_IGNORES_OP_SIZES); 591 return FNIEMOP_CALL_1(iemOpCommonSse41_FullFull_To_Full, 592 IEM_SELECT_HOST_OR_FALLBACK(fSse41, iemAImpl_pmaxsd_u128, iemAImpl_pmaxsd_u128_fallback)); 593 } 582 594 583 595 -
trunk/src/VBox/VMM/VMMAll/IEMAllInstructionsTwoByte0f.cpp.h
r96007 r96010 10366 10366 /* Opcode 0xf2 0x0f 0xed - invalid */ 10367 10367 10368 10368 10369 /** Opcode 0x0f 0xee - pmaxsw Pq, Qq */ 10369 FNIEMOP_STUB(iemOp_pmaxsw_Pq_Qq); 10370 FNIEMOP_DEF(iemOp_pmaxsw_Pq_Qq) 10371 { 10372 IEMOP_MNEMONIC2(RM, PMAXSW, pmaxsw, Pq, Qq, DISOPTYPE_HARMLESS, IEMOPHINT_IGNORES_OP_SIZES); 10373 return FNIEMOP_CALL_1(iemOpCommonMmxSse_FullFull_To_Full, iemAImpl_pmaxsw_u64); 10374 } 10375 10376 10370 10377 /** Opcode 0x66 0x0f 0xee - pmaxsw Vx, Wx */ 10371 FNIEMOP_STUB(iemOp_pmaxsw_Vx_Wx); 10378 FNIEMOP_DEF(iemOp_pmaxsw_Vx_Wx) 10379 { 10380 IEMOP_MNEMONIC2(RM, PMAXSW, pmaxsw, Vx, Wx, DISOPTYPE_HARMLESS, IEMOPHINT_IGNORES_OP_SIZES); 10381 return FNIEMOP_CALL_1(iemOpCommonSse2_FullFull_To_Full, iemAImpl_pmaxsw_u128); 10382 } 10383 10384 10372 10385 /* Opcode 0xf3 0x0f 0xee - invalid */ 10373 10386 /* Opcode 0xf2 0x0f 0xee - invalid */ -
trunk/src/VBox/VMM/VMMAll/IEMAllInstructionsVexMap1.cpp.h
r96007 r96010 4279 4279 4280 4280 /* Opcode VEX.0F 0xee - invalid */ 4281 /** Opcode VEX.66.0F 0xee - vpmaxsw Vx, Hx, W */ 4282 FNIEMOP_STUB(iemOp_vpmaxsw_Vx_Hx_W); 4281 4282 4283 /** Opcode VEX.66.0F 0xee - vpmaxsw Vx, Hx, Wx */ 4284 FNIEMOP_DEF(iemOp_vpmaxsw_Vx_Hx_Wx) 4285 { 4286 IEMOP_MNEMONIC3(VEX_RVM, VPMAXSW, vpmaxsw, Vx, Hx, Wx, DISOPTYPE_HARMLESS, 0); 4287 IEMOPMEDIAF3_INIT_VARS(vpmaxsw); 4288 return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx, IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &s_Host, &s_Fallback)); 4289 } 4290 4291 4283 4292 /* Opcode VEX.F3.0F 0xee - invalid */ 4284 4293 /* Opcode VEX.F2.0F 0xee - invalid */ … … 4719 4728 /* 0xec */ iemOp_InvalidNeedRM, iemOp_vpaddsb_Vx_Hx_Wx, iemOp_InvalidNeedRM, iemOp_InvalidNeedRM, 4720 4729 /* 0xed */ iemOp_InvalidNeedRM, iemOp_vpaddsw_Vx_Hx_Wx, iemOp_InvalidNeedRM, iemOp_InvalidNeedRM, 4721 /* 0xee */ iemOp_InvalidNeedRM, iemOp_vpmaxsw_Vx_Hx_W , iemOp_InvalidNeedRM, iemOp_InvalidNeedRM,4730 /* 0xee */ iemOp_InvalidNeedRM, iemOp_vpmaxsw_Vx_Hx_Wx, iemOp_InvalidNeedRM, iemOp_InvalidNeedRM, 4722 4731 /* 0xef */ iemOp_InvalidNeedRM, iemOp_vpxor_Vx_Hx_Wx, iemOp_InvalidNeedRM, iemOp_InvalidNeedRM, 4723 4732 -
trunk/src/VBox/VMM/VMMAll/IEMAllInstructionsVexMap2.cpp.h
r96007 r96010 418 418 419 419 /** Opcode VEX.66.0F38 0x3c. */ 420 FNIEMOP_STUB(iemOp_vpmaxsb_Vx_Hx_Wx); 420 FNIEMOP_DEF(iemOp_vpmaxsb_Vx_Hx_Wx) 421 { 422 IEMOP_MNEMONIC3(VEX_RVM, VPMAXSB, vpmaxsb, Vx, Hx, Wx, DISOPTYPE_HARMLESS, 0); 423 IEMOPMEDIAF3_INIT_VARS(vpmaxsb); 424 return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx, IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &s_Host, &s_Fallback)); 425 } 426 427 421 428 /** Opcode VEX.66.0F38 0x3d. */ 422 FNIEMOP_STUB(iemOp_vpmaxsd_Vx_Hx_Wx); 429 FNIEMOP_DEF(iemOp_vpmaxsd_Vx_Hx_Wx) 430 { 431 IEMOP_MNEMONIC3(VEX_RVM, VPMAXSD, vpmaxsd, Vx, Hx, Wx, DISOPTYPE_HARMLESS, 0); 432 IEMOPMEDIAF3_INIT_VARS(vpmaxsd); 433 return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx, IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &s_Host, &s_Fallback)); 434 } 423 435 424 436 -
trunk/src/VBox/VMM/include/IEMInternal.h
r96007 r96010 1778 1778 FNIEMAIMPLMEDIAF2U64 iemAImpl_pmullw_u64, iemAImpl_pmulhw_u64; 1779 1779 FNIEMAIMPLMEDIAF2U64 iemAImpl_pminub_u64, iemAImpl_pmaxub_u64; 1780 FNIEMAIMPLMEDIAF2U64 iemAImpl_pminsw_u64 ;1780 FNIEMAIMPLMEDIAF2U64 iemAImpl_pminsw_u64, iemAImpl_pmaxsw_u64; 1781 1781 FNIEMAIMPLMEDIAOPTF2U64 iemAImpl_psllw_u64, iemAImpl_psrlw_u64, iemAImpl_psraw_u64; 1782 1782 FNIEMAIMPLMEDIAOPTF2U64 iemAImpl_pslld_u64, iemAImpl_psrld_u64, iemAImpl_psrad_u64; … … 1810 1810 FNIEMAIMPLMEDIAF2U128 iemAImpl_pmaxud_u128, iemAImpl_pmaxud_u128_fallback; 1811 1811 FNIEMAIMPLMEDIAF2U128 iemAImpl_pmaxuw_u128, iemAImpl_pmaxuw_u128_fallback; 1812 FNIEMAIMPLMEDIAF2U128 iemAImpl_pmaxsb_u128, iemAImpl_pmaxsb_u128_fallback; 1813 FNIEMAIMPLMEDIAF2U128 iemAImpl_pmaxsw_u128; 1814 FNIEMAIMPLMEDIAF2U128 iemAImpl_pmaxsd_u128, iemAImpl_pmaxsd_u128_fallback; 1812 1815 FNIEMAIMPLMEDIAOPTF2U128 iemAImpl_packsswb_u128, iemAImpl_packuswb_u128; 1813 1816 FNIEMAIMPLMEDIAOPTF2U128 iemAImpl_packssdw_u128, iemAImpl_packusdw_u128; … … 1846 1849 FNIEMAIMPLMEDIAF3U128 iemAImpl_vpmaxuw_u128, iemAImpl_vpmaxuw_u128_fallback; 1847 1850 FNIEMAIMPLMEDIAF3U128 iemAImpl_vpmaxud_u128, iemAImpl_vpmaxud_u128_fallback; 1851 FNIEMAIMPLMEDIAF3U128 iemAImpl_vpmaxsb_u128, iemAImpl_vpmaxsb_u128_fallback; 1852 FNIEMAIMPLMEDIAF3U128 iemAImpl_vpmaxsw_u128, iemAImpl_vpmaxsw_u128_fallback; 1853 FNIEMAIMPLMEDIAF3U128 iemAImpl_vpmaxsd_u128, iemAImpl_vpmaxsd_u128_fallback; 1848 1854 FNIEMAIMPLMEDIAOPTF3U128 iemAImpl_vpacksswb_u128, iemAImpl_vpacksswb_u128_fallback; 1849 1855 FNIEMAIMPLMEDIAOPTF3U128 iemAImpl_vpackssdw_u128, iemAImpl_vpackssdw_u128_fallback; … … 1881 1887 FNIEMAIMPLMEDIAF3U256 iemAImpl_vpmaxuw_u256, iemAImpl_vpmaxuw_u256_fallback; 1882 1888 FNIEMAIMPLMEDIAF3U256 iemAImpl_vpmaxud_u256, iemAImpl_vpmaxud_u256_fallback; 1889 FNIEMAIMPLMEDIAF3U256 iemAImpl_vpmaxsb_u256, iemAImpl_vpmaxsb_u256_fallback; 1890 FNIEMAIMPLMEDIAF3U256 iemAImpl_vpmaxsw_u256, iemAImpl_vpmaxsw_u256_fallback; 1891 FNIEMAIMPLMEDIAF3U256 iemAImpl_vpmaxsd_u256, iemAImpl_vpmaxsd_u256_fallback; 1883 1892 FNIEMAIMPLMEDIAOPTF3U256 iemAImpl_vpacksswb_u256, iemAImpl_vpacksswb_u256_fallback; 1884 1893 FNIEMAIMPLMEDIAOPTF3U256 iemAImpl_vpackssdw_u256, iemAImpl_vpackssdw_u256_fallback; -
trunk/src/VBox/VMM/testcase/tstIEMCheckMc.cpp
r96007 r96010 439 439 440 440 #define iemAImpl_pmaxub_u64 NULL 441 #define iemAImpl_pmaxsw_u64 NULL 441 442 #define iemAImpl_pminub_u64 NULL 442 443 #define iemAImpl_pminsw_u64 NULL 443 444 444 445 #define iemAImpl_pmaxub_u128 NULL 446 #define iemAImpl_pmaxsw_u128 NULL 445 447 #define iemAImpl_pminub_u128 NULL 446 448 #define iemAImpl_pminsw_u128 NULL
Note:
See TracChangeset
for help on using the changeset viewer.