Changeset 103700 in vbox
- Timestamp:
- Mar 6, 2024 1:32:01 PM (7 months ago)
- Location:
- trunk/src/VBox/VMM
- Files:
-
- 4 edited
-
VMMAll/IEMAllAImpl.asm (modified) (1 diff)
-
VMMAll/IEMAllAImplC.cpp (modified) (1 diff)
-
VMMAll/IEMAllInstVexMap3.cpp.h (modified) (2 diffs)
-
include/IEMInternal.h (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/IEMAllAImpl.asm
r103696 r103700 5501 5501 IEMIMPL_MEDIA_AVX_INSN_IMM8_6 vblendpd, 1, 1 5502 5502 IEMIMPL_MEDIA_AVX_INSN_IMM8_6 vpblendw, 1, 1 5503 IEMIMPL_MEDIA_AVX_INSN_IMM8_6 vpblendd, 1, 1 5503 5504 IEMIMPL_MEDIA_AVX_INSN_IMM8_6 vpalignr, 1, 1 5504 5505 IEMIMPL_MEDIA_AVX_INSN_IMM8_6 vpclmulqdq, 1, 0 -
trunk/src/VBox/VMM/VMMAll/IEMAllAImplC.cpp
r103696 r103700 17451 17451 17452 17452 /** 17453 * [V]PBLENDD 17454 */ 17455 IEM_DECL_IMPL_DEF(void, iemAImpl_vpblendd_u128_fallback,(PRTUINT128U puDst, PCRTUINT128U puSrc1, PCRTUINT128U puSrc2, uint8_t bEvil)) 17456 { 17457 for (uint8_t i = 0; i < RT_ELEMENTS(puDst->au32); i++) 17458 if (bEvil & RT_BIT(i)) 17459 puDst->au32[i] = puSrc2->au32[i]; 17460 else 17461 puDst->au32[i] = puSrc1->au32[i]; 17462 } 17463 17464 17465 IEM_DECL_IMPL_DEF(void, iemAImpl_vpblendd_u256_fallback,(PRTUINT256U puDst, PCRTUINT256U puSrc1, PCRTUINT256U puSrc2, uint8_t bEvil)) 17466 { 17467 for (uint8_t i = 0; i < RT_ELEMENTS(puDst->au32); i++) 17468 if (bEvil & RT_BIT(i)) 17469 puDst->au32[i] = puSrc2->au32[i]; 17470 else 17471 puDst->au32[i] = puSrc1->au32[i]; 17472 } 17473 17474 17475 /** 17453 17476 * [V]BLENDPS 17454 17477 */ -
trunk/src/VBox/VMM/VMMAll/IEMAllInstVexMap3.cpp.h
r103558 r103700 380 380 /** Opcode VEX.66.0F3A 0x01. */ 381 381 FNIEMOP_STUB(iemOp_vpermqd_Vqq_Wqq_Ib); 382 /** Opcode VEX.66.0F3A 0x02. */ 383 FNIEMOP_STUB(iemOp_vpblendd_Vx_Wx_Ib); 382 383 384 /** Opcode VEX.66.0F3A 0x02. 385 * AVX2,AVX2 */ 386 FNIEMOP_DEF(iemOp_vpblendd_Vx_Hx_Wx_Ib) 387 { 388 IEMOP_MNEMONIC3(VEX_RVM, VPBLENDD, vpblendd, Vx, Hx, Wx, DISOPTYPE_HARMLESS, 0); /* @todo */ 389 IEMOPMEDIAOPTF3IMM8_INIT_VARS(vpblendd); 390 return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx_Ib_Opt, IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &s_Host, &s_Fallback)); 391 } 392 393 384 394 /* Opcode VEX.66.0F3A 0x03 - invalid */ 385 395 … … 1336 1346 /* 0x00 */ iemOp_InvalidNeedRMImm8, iemOp_vpermq_Vqq_Wqq_Ib, iemOp_InvalidNeedRMImm8, iemOp_InvalidNeedRMImm8, 1337 1347 /* 0x01 */ iemOp_InvalidNeedRMImm8, iemOp_vpermqd_Vqq_Wqq_Ib, iemOp_InvalidNeedRMImm8, iemOp_InvalidNeedRMImm8, 1338 /* 0x02 */ iemOp_InvalidNeedRMImm8, iemOp_vpblendd_Vx_ Wx_Ib,iemOp_InvalidNeedRMImm8, iemOp_InvalidNeedRMImm8,1348 /* 0x02 */ iemOp_InvalidNeedRMImm8, iemOp_vpblendd_Vx_Hx_Wx_Ib, iemOp_InvalidNeedRMImm8, iemOp_InvalidNeedRMImm8, 1339 1349 /* 0x03 */ IEMOP_X4(iemOp_InvalidNeedRMImm8), 1340 1350 /* 0x04 */ iemOp_InvalidNeedRMImm8, iemOp_vpermilps_Vx_Wx_Ib, iemOp_InvalidNeedRMImm8, iemOp_InvalidNeedRMImm8, -
trunk/src/VBox/VMM/include/IEMInternal.h
r103696 r103700 3584 3584 FNIEMAIMPLMEDIAOPTF3U128IMM8 iemAImpl_vpalignr_u128, iemAImpl_vpalignr_u128_fallback; 3585 3585 FNIEMAIMPLMEDIAOPTF3U128IMM8 iemAImpl_vpblendw_u128, iemAImpl_vpblendw_u128_fallback; 3586 FNIEMAIMPLMEDIAOPTF3U128IMM8 iemAImpl_vpblendd_u128, iemAImpl_vpblendd_u128_fallback; 3586 3587 FNIEMAIMPLMEDIAOPTF3U128IMM8 iemAImpl_vblendps_u128, iemAImpl_vblendps_u128_fallback; 3587 3588 FNIEMAIMPLMEDIAOPTF3U128IMM8 iemAImpl_vblendpd_u128, iemAImpl_vblendpd_u128_fallback; … … 3589 3590 FNIEMAIMPLMEDIAOPTF3U256IMM8 iemAImpl_vpalignr_u256, iemAImpl_vpalignr_u256_fallback; 3590 3591 FNIEMAIMPLMEDIAOPTF3U256IMM8 iemAImpl_vpblendw_u256, iemAImpl_vpblendw_u256_fallback; 3592 FNIEMAIMPLMEDIAOPTF3U256IMM8 iemAImpl_vpblendd_u256, iemAImpl_vpblendd_u256_fallback; 3591 3593 FNIEMAIMPLMEDIAOPTF3U256IMM8 iemAImpl_vblendps_u256, iemAImpl_vblendps_u256_fallback; 3592 3594 FNIEMAIMPLMEDIAOPTF3U256IMM8 iemAImpl_vblendpd_u256, iemAImpl_vblendpd_u256_fallback;
Note:
See TracChangeset
for help on using the changeset viewer.

