Changeset 105232 in vbox
- Timestamp:
- Jul 9, 2024 10:46:52 AM (7 months ago)
- Location:
- trunk/src/VBox/VMM
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/IEMAllAImplC.cpp
r105231 r105232 16851 16851 16852 16852 /** 16853 * HADDPS16853 * [V]HADDPS 16854 16854 */ 16855 16855 #ifdef IEM_WITHOUT_ASSEMBLY … … 16887 16887 16888 16888 /** 16889 * HADDPD16889 * [V]HADDPD 16890 16890 */ 16891 16891 #ifdef IEM_WITHOUT_ASSEMBLY … … 16915 16915 16916 16916 /** 16917 * HSUBPS16917 * [V]HSUBPS 16918 16918 */ 16919 16919 #ifdef IEM_WITHOUT_ASSEMBLY … … 16928 16928 16929 16929 16930 IEM_DECL_IMPL_DEF(uint32_t, iemAImpl_vhsubps_u128_fallback,(uint32_t uMxCsrIn, PX86XMMREG pResult, PCX86XMMREG puSrc1, PCX86XMMREG puSrc2)) 16931 { 16932 return iemAImpl_subps_u128_worker(&pResult->ar32[0], uMxCsrIn, &puSrc1->ar32[0], &puSrc1->ar32[1]) 16933 | iemAImpl_subps_u128_worker(&pResult->ar32[1], uMxCsrIn, &puSrc1->ar32[2], &puSrc1->ar32[3]) 16934 | iemAImpl_subps_u128_worker(&pResult->ar32[2], uMxCsrIn, &puSrc2->ar32[0], &puSrc2->ar32[1]) 16935 | iemAImpl_subps_u128_worker(&pResult->ar32[3], uMxCsrIn, &puSrc2->ar32[2], &puSrc2->ar32[3]); 16936 } 16937 16938 16939 IEM_DECL_IMPL_DEF(uint32_t, iemAImpl_vhsubps_u256_fallback,(uint32_t uMxCsrIn, PX86YMMREG pResult, PCX86YMMREG puSrc1, PCX86YMMREG puSrc2)) 16940 { 16941 return iemAImpl_subps_u128_worker(&pResult->ar32[0], uMxCsrIn, &puSrc1->ar32[0], &puSrc1->ar32[1]) 16942 | iemAImpl_subps_u128_worker(&pResult->ar32[1], uMxCsrIn, &puSrc1->ar32[2], &puSrc1->ar32[3]) 16943 | iemAImpl_subps_u128_worker(&pResult->ar32[2], uMxCsrIn, &puSrc2->ar32[0], &puSrc2->ar32[1]) 16944 | iemAImpl_subps_u128_worker(&pResult->ar32[3], uMxCsrIn, &puSrc2->ar32[2], &puSrc2->ar32[3]) 16945 | iemAImpl_subps_u128_worker(&pResult->ar32[4], uMxCsrIn, &puSrc1->ar32[4], &puSrc1->ar32[5]) 16946 | iemAImpl_subps_u128_worker(&pResult->ar32[5], uMxCsrIn, &puSrc1->ar32[6], &puSrc1->ar32[7]) 16947 | iemAImpl_subps_u128_worker(&pResult->ar32[6], uMxCsrIn, &puSrc2->ar32[4], &puSrc2->ar32[5]) 16948 | iemAImpl_subps_u128_worker(&pResult->ar32[7], uMxCsrIn, &puSrc2->ar32[6], &puSrc2->ar32[7]); 16949 } 16950 16951 16930 16952 /** 16931 * HSUBPD16953 * [V]HSUBPD 16932 16954 */ 16933 16955 #ifdef IEM_WITHOUT_ASSEMBLY … … 16938 16960 } 16939 16961 #endif 16962 16963 16964 IEM_DECL_IMPL_DEF(uint32_t, iemAImpl_vhsubpd_u128_fallback,(uint32_t uMxCsrIn, PX86XMMREG pResult, PCX86XMMREG puSrc1, PCX86XMMREG puSrc2)) 16965 { 16966 return iemAImpl_subpd_u128_worker(&pResult->ar64[0], uMxCsrIn, &puSrc1->ar64[0], &puSrc1->ar64[1]) 16967 | iemAImpl_subpd_u128_worker(&pResult->ar64[1], uMxCsrIn, &puSrc2->ar64[0], &puSrc2->ar64[1]); 16968 } 16969 16970 16971 IEM_DECL_IMPL_DEF(uint32_t, iemAImpl_vhsubpd_u256_fallback,(uint32_t uMxCsrIn, PX86YMMREG pResult, PCX86YMMREG puSrc1, PCX86YMMREG puSrc2)) 16972 { 16973 return iemAImpl_subpd_u128_worker(&pResult->ar64[0], uMxCsrIn, &puSrc1->ar64[0], &puSrc1->ar64[1]) 16974 | iemAImpl_subpd_u128_worker(&pResult->ar64[1], uMxCsrIn, &puSrc2->ar64[0], &puSrc2->ar64[1]) 16975 | iemAImpl_subpd_u128_worker(&pResult->ar64[2], uMxCsrIn, &puSrc1->ar64[2], &puSrc1->ar64[3]) 16976 | iemAImpl_subpd_u128_worker(&pResult->ar64[3], uMxCsrIn, &puSrc2->ar64[2], &puSrc2->ar64[3]); 16977 } 16940 16978 16941 16979 -
trunk/src/VBox/VMM/VMMAll/IEMAllInstVexMap1.cpp.h
r105231 r105232 4357 4357 4358 4358 /* Opcode VEX.0F 0x7d - invalid */ 4359 4360 4359 4361 /** Opcode VEX.66.0F 0x7d - vhsubpd Vpd, Hpd, Wpd */ 4360 FNIEMOP_STUB(iemOp_vhsubpd_Vpd_Hpd_Wpd); 4362 FNIEMOP_DEF(iemOp_vhsubpd_Vpd_Hpd_Wpd) 4363 { 4364 IEMOP_MNEMONIC3(VEX_RVM, VHSUBPD, vhsubpd, Vps, Hps, Wps, DISOPTYPE_HARMLESS | DISOPTYPE_X86_AVX, 0); 4365 IEMOPMEDIAF3_INIT_VARS( vhsubpd); 4366 return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx, IEM_SELECT_HOST_OR_FALLBACK(fAvx, &s_Host, &s_Fallback)); 4367 } 4368 4369 4361 4370 /* Opcode VEX.F3.0F 0x7d - invalid */ 4371 4372 4362 4373 /** Opcode VEX.F2.0F 0x7d - vhsubps Vps, Hps, Wps */ 4363 FNIEMOP_STUB(iemOp_vhsubps_Vps_Hps_Wps); 4374 FNIEMOP_DEF(iemOp_vhsubps_Vps_Hps_Wps) 4375 { 4376 IEMOP_MNEMONIC3(VEX_RVM, VHSUBPS, vhsubps, Vps, Hps, Wps, DISOPTYPE_HARMLESS | DISOPTYPE_X86_AVX, 0); 4377 IEMOPMEDIAF3_INIT_VARS( vhsubps); 4378 return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx, IEM_SELECT_HOST_OR_FALLBACK(fAvx, &s_Host, &s_Fallback)); 4379 } 4364 4380 4365 4381 -
trunk/src/VBox/VMM/include/IEMInternal.h
r105231 r105232 4569 4569 FNIEMAIMPLMEDIAF3U128 iemAImpl_vhaddps_u128, iemAImpl_vhaddps_u128_fallback; 4570 4570 FNIEMAIMPLMEDIAF3U128 iemAImpl_vhaddpd_u128, iemAImpl_vhaddpd_u128_fallback; 4571 FNIEMAIMPL FPAVXF3U128 iemAImpl_vhsubps_u128, iemAImpl_vhsubps_u128_fallback;4572 FNIEMAIMPL FPAVXF3U128 iemAImpl_vhsubpd_u128, iemAImpl_vhsubpd_u128_fallback;4571 FNIEMAIMPLMEDIAF3U128 iemAImpl_vhsubps_u128, iemAImpl_vhsubps_u128_fallback; 4572 FNIEMAIMPLMEDIAF3U128 iemAImpl_vhsubpd_u128, iemAImpl_vhsubpd_u128_fallback; 4573 4573 FNIEMAIMPLFPAVXF3U128 iemAImpl_vsqrtps_u128, iemAImpl_vsqrtps_u128_fallback; 4574 4574 FNIEMAIMPLFPAVXF3U128 iemAImpl_vsqrtpd_u128, iemAImpl_vsqrtpd_u128_fallback;
Note:
See TracChangeset
for help on using the changeset viewer.