Changeset 105218 in vbox
- Timestamp:
- Jul 9, 2024 8:50:20 AM (5 months ago)
- Location:
- trunk/src/VBox/VMM
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/IEMAllAImplC.cpp
r105217 r105218 16035 16035 16036 16036 /** 16037 * MULPS 16038 */ 16039 #ifdef IEM_WITHOUT_ASSEMBLY 16037 * [V]MULPS 16038 */ 16040 16039 static uint32_t iemAImpl_mulps_u128_worker(PRTFLOAT32U pr32Res, uint32_t fMxcsr, PCRTFLOAT32U pr32Val1, PCRTFLOAT32U pr32Val2) 16041 16040 { … … 16052 16051 16053 16052 16053 #ifdef IEM_WITHOUT_ASSEMBLY 16054 16054 IEM_DECL_IMPL_DEF(uint32_t, iemAImpl_mulps_u128,(uint32_t uMxCsrIn, PX86XMMREG pResult, PCX86XMMREG puSrc1, PCX86XMMREG puSrc2)) 16055 16055 { … … 16060 16060 } 16061 16061 #endif 16062 16063 16064 IEM_DECL_IMPL_DEF(uint32_t, iemAImpl_vmulps_u128_fallback,(uint32_t uMxCsrIn, PX86XMMREG pResult, PCX86XMMREG puSrc1, PCX86XMMREG puSrc2)) 16065 { 16066 return iemAImpl_mulps_u128_worker(&pResult->ar32[0], uMxCsrIn, &puSrc1->ar32[0], &puSrc2->ar32[0]) 16067 | iemAImpl_mulps_u128_worker(&pResult->ar32[1], uMxCsrIn, &puSrc1->ar32[1], &puSrc2->ar32[1]) 16068 | iemAImpl_mulps_u128_worker(&pResult->ar32[2], uMxCsrIn, &puSrc1->ar32[2], &puSrc2->ar32[2]) 16069 | iemAImpl_mulps_u128_worker(&pResult->ar32[3], uMxCsrIn, &puSrc1->ar32[3], &puSrc2->ar32[3]); 16070 } 16071 16072 16073 IEM_DECL_IMPL_DEF(uint32_t, iemAImpl_vmulps_u256_fallback,(uint32_t uMxCsrIn, PX86YMMREG pResult, PCX86YMMREG puSrc1, PCX86YMMREG puSrc2)) 16074 { 16075 return iemAImpl_mulps_u128_worker(&pResult->ar32[0], uMxCsrIn, &puSrc1->ar32[0], &puSrc2->ar32[0]) 16076 | iemAImpl_mulps_u128_worker(&pResult->ar32[1], uMxCsrIn, &puSrc1->ar32[1], &puSrc2->ar32[1]) 16077 | iemAImpl_mulps_u128_worker(&pResult->ar32[2], uMxCsrIn, &puSrc1->ar32[2], &puSrc2->ar32[2]) 16078 | iemAImpl_mulps_u128_worker(&pResult->ar32[3], uMxCsrIn, &puSrc1->ar32[3], &puSrc2->ar32[3]) 16079 | iemAImpl_mulps_u128_worker(&pResult->ar32[4], uMxCsrIn, &puSrc1->ar32[4], &puSrc2->ar32[4]) 16080 | iemAImpl_mulps_u128_worker(&pResult->ar32[5], uMxCsrIn, &puSrc1->ar32[5], &puSrc2->ar32[5]) 16081 | iemAImpl_mulps_u128_worker(&pResult->ar32[6], uMxCsrIn, &puSrc1->ar32[6], &puSrc2->ar32[6]) 16082 | iemAImpl_mulps_u128_worker(&pResult->ar32[7], uMxCsrIn, &puSrc1->ar32[7], &puSrc2->ar32[7]); 16083 } 16062 16084 16063 16085 -
trunk/src/VBox/VMM/VMMAll/IEMAllInstVexMap1.cpp.h
r105217 r105218 2924 2924 2925 2925 /** Opcode VEX.0F 0x59 - vmulps Vps, Hps, Wps */ 2926 FNIEMOP_STUB(iemOp_vmulps_Vps_Hps_Wps); 2926 FNIEMOP_DEF(iemOp_vmulps_Vps_Hps_Wps) 2927 { 2928 IEMOP_MNEMONIC3(VEX_RVM, VMULPS, vmulps, Vps, Hps, Wps, DISOPTYPE_HARMLESS | DISOPTYPE_X86_AVX, 0); 2929 IEMOPMEDIAF3_INIT_VARS( vmulps); 2930 return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx, IEM_SELECT_HOST_OR_FALLBACK(fAvx, &s_Host, &s_Fallback)); 2931 } 2932 2933 2927 2934 /** Opcode VEX.66.0F 0x59 - vmulpd Vpd, Hpd, Wpd */ 2928 2935 FNIEMOP_STUB(iemOp_vmulpd_Vpd_Hpd_Wpd); -
trunk/src/VBox/VMM/include/IEMInternal.h
r105215 r105218 4557 4557 FNIEMAIMPLMEDIAF3U128 iemAImpl_vaddps_u128, iemAImpl_vaddps_u128_fallback; 4558 4558 FNIEMAIMPLMEDIAF3U128 iemAImpl_vaddpd_u128, iemAImpl_vaddpd_u128_fallback; 4559 FNIEMAIMPL FPAVXF3U128 iemAImpl_vmulps_u128, iemAImpl_vmulps_u128_fallback;4559 FNIEMAIMPLMEDIAF3U128 iemAImpl_vmulps_u128, iemAImpl_vmulps_u128_fallback; 4560 4560 FNIEMAIMPLFPAVXF3U128 iemAImpl_vmulpd_u128, iemAImpl_vmulpd_u128_fallback; 4561 4561 FNIEMAIMPLMEDIAF3U128 iemAImpl_vsubps_u128, iemAImpl_vsubps_u128_fallback;
Note:
See TracChangeset
for help on using the changeset viewer.