VirtualBox

Changeset 104132 in vbox


Ignore:
Timestamp:
Apr 3, 2024 9:22:06 AM (8 months ago)
Author:
vboxsync
Message:

VMM/IEM: Convert some AVX instruction emulation helpers to the optimized variant to save one argument, bugref:10641

Location:
trunk/src/VBox/VMM
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMAll/IEMAllAImpl.asm

    r104129 r104132  
    44314431; @param    A3      Pointer to the second source media register size operand (input).
    44324432;
     4433; @todo r=aeichner Not used right now
     4434;
    44334435%macro IEMIMPL_MEDIA_F3 1
    44344436BEGINPROC_FASTCALL iemAImpl_ %+ %1 %+ _u128, 16
     
    44594461%endmacro
    44604462
    4461 IEMIMPL_MEDIA_F3 vpshufb
    4462 IEMIMPL_MEDIA_F3 vpand
    4463 IEMIMPL_MEDIA_F3 vpminub
    4464 IEMIMPL_MEDIA_F3 vpminuw
    4465 IEMIMPL_MEDIA_F3 vpminud
    4466 IEMIMPL_MEDIA_F3 vpminsb
    4467 IEMIMPL_MEDIA_F3 vpminsw
    4468 IEMIMPL_MEDIA_F3 vpminsd
    4469 IEMIMPL_MEDIA_F3 vpmaxub
    4470 IEMIMPL_MEDIA_F3 vpmaxuw
    4471 IEMIMPL_MEDIA_F3 vpmaxud
    4472 IEMIMPL_MEDIA_F3 vpmaxsb
    4473 IEMIMPL_MEDIA_F3 vpmaxsw
    4474 IEMIMPL_MEDIA_F3 vpmaxsd
    4475 IEMIMPL_MEDIA_F3 vpandn
    4476 IEMIMPL_MEDIA_F3 vpor
    4477 IEMIMPL_MEDIA_F3 vpxor
    4478 IEMIMPL_MEDIA_F3 vpcmpeqb
    4479 IEMIMPL_MEDIA_F3 vpcmpeqw
    4480 IEMIMPL_MEDIA_F3 vpcmpeqd
    4481 IEMIMPL_MEDIA_F3 vpcmpeqq
    4482 IEMIMPL_MEDIA_F3 vpcmpgtb
    4483 IEMIMPL_MEDIA_F3 vpcmpgtw
    4484 IEMIMPL_MEDIA_F3 vpcmpgtd
    4485 IEMIMPL_MEDIA_F3 vpcmpgtq
    4486 IEMIMPL_MEDIA_F3 vpaddb
    4487 IEMIMPL_MEDIA_F3 vpaddw
    4488 IEMIMPL_MEDIA_F3 vpaddd
    4489 IEMIMPL_MEDIA_F3 vpaddq
    4490 IEMIMPL_MEDIA_F3 vpsubb
    4491 IEMIMPL_MEDIA_F3 vpsubw
    4492 IEMIMPL_MEDIA_F3 vpsubd
    4493 IEMIMPL_MEDIA_F3 vpsubq
    4494 
    4495 
    44964463;;
    44974464; Media instruction working on two full sized source registers and one destination (AVX),
     
    45324499%endmacro
    45334500
     4501IEMIMPL_MEDIA_OPT_F3 vpshufb
     4502IEMIMPL_MEDIA_OPT_F3 vpand
     4503IEMIMPL_MEDIA_OPT_F3 vpminub
     4504IEMIMPL_MEDIA_OPT_F3 vpminuw
     4505IEMIMPL_MEDIA_OPT_F3 vpminud
     4506IEMIMPL_MEDIA_OPT_F3 vpminsb
     4507IEMIMPL_MEDIA_OPT_F3 vpminsw
     4508IEMIMPL_MEDIA_OPT_F3 vpminsd
     4509IEMIMPL_MEDIA_OPT_F3 vpmaxub
     4510IEMIMPL_MEDIA_OPT_F3 vpmaxuw
     4511IEMIMPL_MEDIA_OPT_F3 vpmaxud
     4512IEMIMPL_MEDIA_OPT_F3 vpmaxsb
     4513IEMIMPL_MEDIA_OPT_F3 vpmaxsw
     4514IEMIMPL_MEDIA_OPT_F3 vpmaxsd
     4515IEMIMPL_MEDIA_OPT_F3 vpandn
     4516IEMIMPL_MEDIA_OPT_F3 vpor
     4517IEMIMPL_MEDIA_OPT_F3 vpxor
     4518IEMIMPL_MEDIA_OPT_F3 vpcmpeqb
     4519IEMIMPL_MEDIA_OPT_F3 vpcmpeqw
     4520IEMIMPL_MEDIA_OPT_F3 vpcmpeqd
     4521IEMIMPL_MEDIA_OPT_F3 vpcmpeqq
     4522IEMIMPL_MEDIA_OPT_F3 vpcmpgtb
     4523IEMIMPL_MEDIA_OPT_F3 vpcmpgtw
     4524IEMIMPL_MEDIA_OPT_F3 vpcmpgtd
     4525IEMIMPL_MEDIA_OPT_F3 vpcmpgtq
     4526IEMIMPL_MEDIA_OPT_F3 vpaddb
     4527IEMIMPL_MEDIA_OPT_F3 vpaddw
     4528IEMIMPL_MEDIA_OPT_F3 vpaddd
     4529IEMIMPL_MEDIA_OPT_F3 vpaddq
     4530IEMIMPL_MEDIA_OPT_F3 vpsubb
     4531IEMIMPL_MEDIA_OPT_F3 vpsubw
     4532IEMIMPL_MEDIA_OPT_F3 vpsubd
     4533IEMIMPL_MEDIA_OPT_F3 vpsubq
    45344534IEMIMPL_MEDIA_OPT_F3 vpacksswb
    45354535IEMIMPL_MEDIA_OPT_F3 vpackssdw
  • trunk/src/VBox/VMM/VMMAll/IEMAllAImplC.cpp

    r104129 r104132  
    78537853#endif
    78547854
    7855 IEM_DECL_IMPL_DEF(void, iemAImpl_vpand_u128_fallback,(PX86XSAVEAREA pExtState, PRTUINT128U puDst,
    7856                                                       PCRTUINT128U puSrc1, PCRTUINT128U puSrc2))
    7857 {
    7858     RT_NOREF(pExtState);
     7855IEM_DECL_IMPL_DEF(void, iemAImpl_vpand_u128_fallback,(PRTUINT128U puDst, PCRTUINT128U puSrc1, PCRTUINT128U puSrc2))
     7856{
    78597857    puDst->au64[0] = puSrc1->au64[0] & puSrc2->au64[0];
    78607858    puDst->au64[1] = puSrc1->au64[1] & puSrc2->au64[1];
     
    78627860
    78637861
    7864 IEM_DECL_IMPL_DEF(void, iemAImpl_vpand_u256_fallback,(PX86XSAVEAREA pExtState, PRTUINT256U puDst,
    7865                                                       PCRTUINT256U puSrc1, PCRTUINT256U puSrc2))
    7866 {
    7867     RT_NOREF(pExtState);
     7862IEM_DECL_IMPL_DEF(void, iemAImpl_vpand_u256_fallback,(PRTUINT256U puDst, PCRTUINT256U puSrc1, PCRTUINT256U puSrc2))
     7863{
    78687864    puDst->au64[0] = puSrc1->au64[0] & puSrc2->au64[0];
    78697865    puDst->au64[1] = puSrc1->au64[1] & puSrc2->au64[1];
     
    78927888#endif
    78937889
    7894 IEM_DECL_IMPL_DEF(void, iemAImpl_vpandn_u128_fallback,(PX86XSAVEAREA pExtState, PRTUINT128U puDst,
    7895                                                        PCRTUINT128U puSrc1, PCRTUINT128U puSrc2))
    7896 {
    7897     RT_NOREF(pExtState);
     7890IEM_DECL_IMPL_DEF(void, iemAImpl_vpandn_u128_fallback,(PRTUINT128U puDst, PCRTUINT128U puSrc1, PCRTUINT128U puSrc2))
     7891{
    78987892    puDst->au64[0] = ~puSrc1->au64[0] & puSrc2->au64[0];
    78997893    puDst->au64[1] = ~puSrc1->au64[1] & puSrc2->au64[1];
     
    79017895
    79027896
    7903 IEM_DECL_IMPL_DEF(void, iemAImpl_vpandn_u256_fallback,(PX86XSAVEAREA pExtState, PRTUINT256U puDst,
    7904                                                        PCRTUINT256U puSrc1, PCRTUINT256U puSrc2))
    7905 {
    7906     RT_NOREF(pExtState);
     7897IEM_DECL_IMPL_DEF(void, iemAImpl_vpandn_u256_fallback,(PRTUINT256U puDst, PCRTUINT256U puSrc1, PCRTUINT256U puSrc2))
     7898{
    79077899    puDst->au64[0] = ~puSrc1->au64[0] & puSrc2->au64[0];
    79087900    puDst->au64[1] = ~puSrc1->au64[1] & puSrc2->au64[1];
     
    79317923#endif
    79327924
    7933 IEM_DECL_IMPL_DEF(void, iemAImpl_vpor_u128_fallback,(PX86XSAVEAREA pExtState, PRTUINT128U puDst,
    7934                                                      PCRTUINT128U puSrc1, PCRTUINT128U puSrc2))
    7935 {
    7936     RT_NOREF(pExtState);
     7925IEM_DECL_IMPL_DEF(void, iemAImpl_vpor_u128_fallback,(PRTUINT128U puDst, PCRTUINT128U puSrc1, PCRTUINT128U puSrc2))
     7926{
    79377927    puDst->au64[0] = puSrc1->au64[0] | puSrc2->au64[0];
    79387928    puDst->au64[1] = puSrc1->au64[1] | puSrc2->au64[1];
     
    79407930
    79417931
    7942 IEM_DECL_IMPL_DEF(void, iemAImpl_vpor_u256_fallback,(PX86XSAVEAREA pExtState, PRTUINT256U puDst,
    7943                                                      PCRTUINT256U puSrc1, PCRTUINT256U puSrc2))
    7944 {
    7945     RT_NOREF(pExtState);
     7932IEM_DECL_IMPL_DEF(void, iemAImpl_vpor_u256_fallback,(PRTUINT256U puDst, PCRTUINT256U puSrc1, PCRTUINT256U puSrc2))
     7933{
    79467934    puDst->au64[0] = puSrc1->au64[0] | puSrc2->au64[0];
    79477935    puDst->au64[1] = puSrc1->au64[1] | puSrc2->au64[1];
     
    79707958#endif
    79717959
    7972 IEM_DECL_IMPL_DEF(void, iemAImpl_vpxor_u128_fallback,(PX86XSAVEAREA pExtState, PRTUINT128U puDst,
    7973                                                       PCRTUINT128U puSrc1, PCRTUINT128U puSrc2))
    7974 {
    7975     RT_NOREF(pExtState);
     7960IEM_DECL_IMPL_DEF(void, iemAImpl_vpxor_u128_fallback,(PRTUINT128U puDst, PCRTUINT128U puSrc1, PCRTUINT128U puSrc2))
     7961{
    79767962    puDst->au64[0] = puSrc1->au64[0] ^ puSrc2->au64[0];
    79777963    puDst->au64[1] = puSrc1->au64[1] ^ puSrc2->au64[1];
     
    79797965
    79807966
    7981 IEM_DECL_IMPL_DEF(void, iemAImpl_vpxor_u256_fallback,(PX86XSAVEAREA pExtState, PRTUINT256U puDst,
    7982                                                       PCRTUINT256U puSrc1, PCRTUINT256U puSrc2))
    7983 {
    7984     RT_NOREF(pExtState);
     7967IEM_DECL_IMPL_DEF(void, iemAImpl_vpxor_u256_fallback,(PRTUINT256U puDst, PCRTUINT256U puSrc1, PCRTUINT256U puSrc2))
     7968{
    79857969    puDst->au64[0] = puSrc1->au64[0] ^ puSrc2->au64[0];
    79867970    puDst->au64[1] = puSrc1->au64[1] ^ puSrc2->au64[1];
     
    80358019#endif
    80368020
    8037 IEM_DECL_IMPL_DEF(void, iemAImpl_vpcmpeqb_u128_fallback,(PX86XSAVEAREA pExtState, PRTUINT128U puDst,
    8038                                                          PCRTUINT128U puSrc1, PCRTUINT128U puSrc2))
    8039 {
    8040     RT_NOREF(pExtState);
     8021IEM_DECL_IMPL_DEF(void, iemAImpl_vpcmpeqb_u128_fallback,(PRTUINT128U puDst, PCRTUINT128U puSrc1, PCRTUINT128U puSrc2))
     8022{
    80418023    puDst->au8[0]  = puSrc1->au8[0]  == puSrc2->au8[0]  ? UINT8_MAX : 0;
    80428024    puDst->au8[1]  = puSrc1->au8[1]  == puSrc2->au8[1]  ? UINT8_MAX : 0;
     
    80578039}
    80588040
    8059 IEM_DECL_IMPL_DEF(void, iemAImpl_vpcmpeqb_u256_fallback,(PX86XSAVEAREA pExtState, PRTUINT256U puDst,
    8060                                                          PCRTUINT256U puSrc1, PCRTUINT256U puSrc2))
    8061 {
    8062     RT_NOREF(pExtState);
     8041IEM_DECL_IMPL_DEF(void, iemAImpl_vpcmpeqb_u256_fallback,(PRTUINT256U puDst, PCRTUINT256U puSrc1, PCRTUINT256U puSrc2))
     8042{
    80638043    puDst->au8[0]  = puSrc1->au8[0]  == puSrc2->au8[0]  ? UINT8_MAX : 0;
    80648044    puDst->au8[1]  = puSrc1->au8[1]  == puSrc2->au8[1]  ? UINT8_MAX : 0;
     
    81298109#endif
    81308110
    8131 IEM_DECL_IMPL_DEF(void, iemAImpl_vpcmpeqw_u128_fallback,(PX86XSAVEAREA pExtState, PRTUINT128U puDst,
    8132                                                          PCRTUINT128U puSrc1, PCRTUINT128U puSrc2))
    8133 {
    8134     RT_NOREF(pExtState);
     8111IEM_DECL_IMPL_DEF(void, iemAImpl_vpcmpeqw_u128_fallback,(PRTUINT128U puDst, PCRTUINT128U puSrc1, PCRTUINT128U puSrc2))
     8112{
    81358113    puDst->au16[0] = puSrc1->au16[0] == puSrc2->au16[0] ? UINT16_MAX : 0;
    81368114    puDst->au16[1] = puSrc1->au16[1] == puSrc2->au16[1] ? UINT16_MAX : 0;
     
    81438121}
    81448122
    8145 IEM_DECL_IMPL_DEF(void, iemAImpl_vpcmpeqw_u256_fallback,(PX86XSAVEAREA pExtState, PRTUINT256U puDst,
    8146                                                          PCRTUINT256U puSrc1, PCRTUINT256U puSrc2))
    8147 {
    8148     RT_NOREF(pExtState);
     8123IEM_DECL_IMPL_DEF(void, iemAImpl_vpcmpeqw_u256_fallback,(PRTUINT256U puDst, PCRTUINT256U puSrc1, PCRTUINT256U puSrc2))
     8124{
    81498125    puDst->au16[0]  = puSrc1->au16[0]  == puSrc2->au16[0]  ? UINT16_MAX : 0;
    81508126    puDst->au16[1]  = puSrc1->au16[1]  == puSrc2->au16[1]  ? UINT16_MAX : 0;
     
    81938169#endif /* IEM_WITHOUT_ASSEMBLY */
    81948170
    8195 IEM_DECL_IMPL_DEF(void, iemAImpl_vpcmpeqd_u128_fallback,(PX86XSAVEAREA pExtState, PRTUINT128U puDst,
    8196                                                          PCRTUINT128U puSrc1, PCRTUINT128U puSrc2))
    8197 {
    8198     RT_NOREF(pExtState);
     8171IEM_DECL_IMPL_DEF(void, iemAImpl_vpcmpeqd_u128_fallback,(PRTUINT128U puDst, PCRTUINT128U puSrc1, PCRTUINT128U puSrc2))
     8172{
    81998173    puDst->au32[0] = puSrc1->au32[0] == puSrc2->au32[0] ? UINT32_MAX : 0;
    82008174    puDst->au32[1] = puSrc1->au32[1] == puSrc2->au32[1] ? UINT32_MAX : 0;
     
    82038177}
    82048178
    8205 IEM_DECL_IMPL_DEF(void, iemAImpl_vpcmpeqd_u256_fallback,(PX86XSAVEAREA pExtState, PRTUINT256U puDst,
    8206                                                          PCRTUINT256U puSrc1, PCRTUINT256U puSrc2))
    8207 {
    8208     RT_NOREF(pExtState);
     8179IEM_DECL_IMPL_DEF(void, iemAImpl_vpcmpeqd_u256_fallback,(PRTUINT256U puDst, PCRTUINT256U puSrc1, PCRTUINT256U puSrc2))
     8180{
    82098181    puDst->au32[0] = puSrc1->au32[0] == puSrc2->au32[0] ? UINT32_MAX : 0;
    82108182    puDst->au32[1] = puSrc1->au32[1] == puSrc2->au32[1] ? UINT32_MAX : 0;
     
    82288200}
    82298201
    8230 IEM_DECL_IMPL_DEF(void, iemAImpl_vpcmpeqq_u128_fallback,(PX86XSAVEAREA pExtState, PRTUINT128U puDst,
    8231                                                          PCRTUINT128U puSrc1, PCRTUINT128U puSrc2))
    8232 {
    8233     RT_NOREF(pExtState);
     8202IEM_DECL_IMPL_DEF(void, iemAImpl_vpcmpeqq_u128_fallback,(PRTUINT128U puDst, PCRTUINT128U puSrc1, PCRTUINT128U puSrc2))
     8203{
    82348204    puDst->au64[0] = puSrc1->au64[0] == puSrc2->au64[0] ? UINT64_MAX : 0;
    82358205    puDst->au64[1] = puSrc1->au64[1] == puSrc2->au64[1] ? UINT64_MAX : 0;
    82368206}
    82378207
    8238 IEM_DECL_IMPL_DEF(void, iemAImpl_vpcmpeqq_u256_fallback,(PX86XSAVEAREA pExtState, PRTUINT256U puDst,
    8239                                                          PCRTUINT256U puSrc1, PCRTUINT256U puSrc2))
    8240 {
    8241     RT_NOREF(pExtState);
     8208IEM_DECL_IMPL_DEF(void, iemAImpl_vpcmpeqq_u256_fallback,(PRTUINT256U puDst, PCRTUINT256U puSrc1, PCRTUINT256U puSrc2))
     8209{
    82428210    puDst->au64[0] = puSrc1->au64[0] == puSrc2->au64[0] ? UINT64_MAX : 0;
    82438211    puDst->au64[1] = puSrc1->au64[1] == puSrc2->au64[1] ? UINT64_MAX : 0;
     
    82928260#endif
    82938261
    8294 IEM_DECL_IMPL_DEF(void, iemAImpl_vpcmpgtb_u128_fallback,(PX86XSAVEAREA pExtState, PRTUINT128U puDst,
    8295                                                          PCRTUINT128U puSrc1, PCRTUINT128U puSrc2))
    8296 {
    8297     RT_NOREF(pExtState);
     8262IEM_DECL_IMPL_DEF(void, iemAImpl_vpcmpgtb_u128_fallback,(PRTUINT128U puDst, PCRTUINT128U puSrc1, PCRTUINT128U puSrc2))
     8263{
    82988264    puDst->au8[0]  = puSrc1->ai8[0]  > puSrc2->ai8[0]  ? UINT8_MAX : 0;
    82998265    puDst->au8[1]  = puSrc1->ai8[1]  > puSrc2->ai8[1]  ? UINT8_MAX : 0;
     
    83148280}
    83158281
    8316 IEM_DECL_IMPL_DEF(void, iemAImpl_vpcmpgtb_u256_fallback,(PX86XSAVEAREA pExtState, PRTUINT256U puDst,
    8317                                                          PCRTUINT256U puSrc1, PCRTUINT256U puSrc2))
    8318 {
    8319     RT_NOREF(pExtState);
     8282IEM_DECL_IMPL_DEF(void, iemAImpl_vpcmpgtb_u256_fallback,(PRTUINT256U puDst, PCRTUINT256U puSrc1, PCRTUINT256U puSrc2))
     8283{
    83208284    puDst->au8[0]  = puSrc1->ai8[0]  > puSrc2->ai8[0]  ? UINT8_MAX : 0;
    83218285    puDst->au8[1]  = puSrc1->ai8[1]  > puSrc2->ai8[1]  ? UINT8_MAX : 0;
     
    83868350#endif
    83878351
    8388 IEM_DECL_IMPL_DEF(void, iemAImpl_vpcmpgtw_u128_fallback,(PX86XSAVEAREA pExtState, PRTUINT128U puDst,
    8389                                                          PCRTUINT128U puSrc1, PCRTUINT128U puSrc2))
    8390 {
    8391     RT_NOREF(pExtState);
     8352IEM_DECL_IMPL_DEF(void, iemAImpl_vpcmpgtw_u128_fallback,(PRTUINT128U puDst, PCRTUINT128U puSrc1, PCRTUINT128U puSrc2))
     8353{
    83928354    puDst->au16[0] = puSrc1->ai16[0] > puSrc2->ai16[0] ? UINT16_MAX : 0;
    83938355    puDst->au16[1] = puSrc1->ai16[1] > puSrc2->ai16[1] ? UINT16_MAX : 0;
     
    84008362}
    84018363
    8402 IEM_DECL_IMPL_DEF(void, iemAImpl_vpcmpgtw_u256_fallback,(PX86XSAVEAREA pExtState, PRTUINT256U puDst,
    8403                                                          PCRTUINT256U puSrc1, PCRTUINT256U puSrc2))
    8404 {
    8405     RT_NOREF(pExtState);
     8364IEM_DECL_IMPL_DEF(void, iemAImpl_vpcmpgtw_u256_fallback,(PRTUINT256U puDst, PCRTUINT256U puSrc1, PCRTUINT256U puSrc2))
     8365{
    84068366    puDst->au16[0]  = puSrc1->ai16[0]  > puSrc2->ai16[0]  ? UINT16_MAX : 0;
    84078367    puDst->au16[1]  = puSrc1->ai16[1]  > puSrc2->ai16[1]  ? UINT16_MAX : 0;
     
    84508410#endif /* IEM_WITHOUT_ASSEMBLY */
    84518411
    8452 IEM_DECL_IMPL_DEF(void, iemAImpl_vpcmpgtd_u128_fallback,(PX86XSAVEAREA pExtState, PRTUINT128U puDst,
    8453                                                          PCRTUINT128U puSrc1, PCRTUINT128U puSrc2))
    8454 {
    8455     RT_NOREF(pExtState);
     8412IEM_DECL_IMPL_DEF(void, iemAImpl_vpcmpgtd_u128_fallback,(PRTUINT128U puDst, PCRTUINT128U puSrc1, PCRTUINT128U puSrc2))
     8413{
    84568414    puDst->au32[0] = puSrc1->ai32[0] > puSrc2->ai32[0] ? UINT32_MAX : 0;
    84578415    puDst->au32[1] = puSrc1->ai32[1] > puSrc2->ai32[1] ? UINT32_MAX : 0;
     
    84608418}
    84618419
    8462 IEM_DECL_IMPL_DEF(void, iemAImpl_vpcmpgtd_u256_fallback,(PX86XSAVEAREA pExtState, PRTUINT256U puDst,
    8463                                                          PCRTUINT256U puSrc1, PCRTUINT256U puSrc2))
    8464 {
    8465     RT_NOREF(pExtState);
     8420IEM_DECL_IMPL_DEF(void, iemAImpl_vpcmpgtd_u256_fallback,(PRTUINT256U puDst, PCRTUINT256U puSrc1, PCRTUINT256U puSrc2))
     8421{
    84668422    puDst->au32[0] = puSrc1->ai32[0] > puSrc2->ai32[0] ? UINT32_MAX : 0;
    84678423    puDst->au32[1] = puSrc1->ai32[1] > puSrc2->ai32[1] ? UINT32_MAX : 0;
     
    84858441}
    84868442
    8487 IEM_DECL_IMPL_DEF(void, iemAImpl_vpcmpgtq_u128_fallback,(PX86XSAVEAREA pExtState, PRTUINT128U puDst,
    8488                                                          PCRTUINT128U puSrc1, PCRTUINT128U puSrc2))
    8489 {
    8490     RT_NOREF(pExtState);
     8443IEM_DECL_IMPL_DEF(void, iemAImpl_vpcmpgtq_u128_fallback,(PRTUINT128U puDst, PCRTUINT128U puSrc1, PCRTUINT128U puSrc2))
     8444{
    84918445    puDst->au64[0] = puSrc1->ai64[0] > puSrc2->ai64[0] ? UINT64_MAX : 0;
    84928446    puDst->au64[1] = puSrc1->ai64[1] > puSrc2->ai64[1] ? UINT64_MAX : 0;
    84938447}
    84948448
    8495 IEM_DECL_IMPL_DEF(void, iemAImpl_vpcmpgtq_u256_fallback,(PX86XSAVEAREA pExtState, PRTUINT256U puDst,
    8496                                                          PCRTUINT256U puSrc1, PCRTUINT256U puSrc2))
    8497 {
    8498     RT_NOREF(pExtState);
     8449IEM_DECL_IMPL_DEF(void, iemAImpl_vpcmpgtq_u256_fallback,(PRTUINT256U puDst, PCRTUINT256U puSrc1, PCRTUINT256U puSrc2))
     8450{
    84998451    puDst->au64[0] = puSrc1->ai64[0] > puSrc2->ai64[0] ? UINT64_MAX : 0;
    85008452    puDst->au64[1] = puSrc1->ai64[1] > puSrc2->ai64[1] ? UINT64_MAX : 0;
     
    85508502
    85518503
    8552 IEM_DECL_IMPL_DEF(void, iemAImpl_vpaddb_u128_fallback,(PX86XSAVEAREA pExtState, PRTUINT128U puDst,
    8553                                                        PCRTUINT128U puSrc1, PCRTUINT128U puSrc2))
    8554 {
    8555     RT_NOREF(pExtState);
     8504IEM_DECL_IMPL_DEF(void, iemAImpl_vpaddb_u128_fallback,(PRTUINT128U puDst, PCRTUINT128U puSrc1, PCRTUINT128U puSrc2))
     8505{
    85568506    puDst->au8[0]  = puSrc1->au8[0]  + puSrc2->au8[0];
    85578507    puDst->au8[1]  = puSrc1->au8[1]  + puSrc2->au8[1];
     
    85728522}
    85738523
    8574 IEM_DECL_IMPL_DEF(void, iemAImpl_vpaddb_u256_fallback,(PX86XSAVEAREA pExtState, PRTUINT256U puDst,
    8575                                                        PCRTUINT256U puSrc1, PCRTUINT256U puSrc2))
    8576 {
    8577     RT_NOREF(pExtState);
     8524IEM_DECL_IMPL_DEF(void, iemAImpl_vpaddb_u256_fallback,(PRTUINT256U puDst, PCRTUINT256U puSrc1, PCRTUINT256U puSrc2))
     8525{
    85788526    puDst->au8[0]  = puSrc1->au8[0]  + puSrc2->au8[0];
    85798527    puDst->au8[1]  = puSrc1->au8[1]  + puSrc2->au8[1];
     
    88638811
    88648812
    8865 IEM_DECL_IMPL_DEF(void, iemAImpl_vpaddw_u128_fallback,(PX86XSAVEAREA pExtState, PRTUINT128U puDst,
    8866                                                        PCRTUINT128U puSrc1, PCRTUINT128U puSrc2))
    8867 {
    8868     RT_NOREF(pExtState);
     8813IEM_DECL_IMPL_DEF(void, iemAImpl_vpaddw_u128_fallback,(PRTUINT128U puDst, PCRTUINT128U puSrc1, PCRTUINT128U puSrc2))
     8814{
    88698815    puDst->au16[0] = puSrc1->au16[0] + puSrc2->au16[0];
    88708816    puDst->au16[1] = puSrc1->au16[1] + puSrc2->au16[1];
     
    88778823}
    88788824
    8879 IEM_DECL_IMPL_DEF(void, iemAImpl_vpaddw_u256_fallback,(PX86XSAVEAREA pExtState, PRTUINT256U puDst,
    8880                                                        PCRTUINT256U puSrc1, PCRTUINT256U puSrc2))
    8881 {
    8882     RT_NOREF(pExtState);
     8825IEM_DECL_IMPL_DEF(void, iemAImpl_vpaddw_u256_fallback,(PRTUINT256U puDst, PCRTUINT256U puSrc1, PCRTUINT256U puSrc2))
     8826{
    88838827    puDst->au16[0]  = puSrc1->au16[0]  + puSrc2->au16[0];
    88848828    puDst->au16[1]  = puSrc1->au16[1]  + puSrc2->au16[1];
     
    90739017#endif /* IEM_WITHOUT_ASSEMBLY */
    90749018
    9075 IEM_DECL_IMPL_DEF(void, iemAImpl_vpaddd_u128_fallback,(PX86XSAVEAREA pExtState, PRTUINT128U puDst,
    9076                                                        PCRTUINT128U puSrc1, PCRTUINT128U puSrc2))
    9077 {
    9078     RT_NOREF(pExtState);
     9019IEM_DECL_IMPL_DEF(void, iemAImpl_vpaddd_u128_fallback,(PRTUINT128U puDst, PCRTUINT128U puSrc1, PCRTUINT128U puSrc2))
     9020{
    90799021    puDst->au32[0] = puSrc1->au32[0] + puSrc2->au32[0];
    90809022    puDst->au32[1] = puSrc1->au32[1] + puSrc2->au32[1];
     
    90839025}
    90849026
    9085 IEM_DECL_IMPL_DEF(void, iemAImpl_vpaddd_u256_fallback,(PX86XSAVEAREA pExtState, PRTUINT256U puDst,
    9086                                                        PCRTUINT256U puSrc1, PCRTUINT256U puSrc2))
    9087 {
    9088     RT_NOREF(pExtState);
     9027IEM_DECL_IMPL_DEF(void, iemAImpl_vpaddd_u256_fallback,(PRTUINT256U puDst, PCRTUINT256U puSrc1, PCRTUINT256U puSrc2))
     9028{
    90899029    puDst->au32[0] = puSrc1->au32[0] + puSrc2->au32[0];
    90909030    puDst->au32[1] = puSrc1->au32[1] + puSrc2->au32[1];
     
    91179057#endif
    91189058
    9119 IEM_DECL_IMPL_DEF(void, iemAImpl_vpaddq_u128_fallback,(PX86XSAVEAREA pExtState, PRTUINT128U puDst,
    9120                                                        PCRTUINT128U puSrc1, PCRTUINT128U puSrc2))
    9121 {
    9122     RT_NOREF(pExtState);
     9059IEM_DECL_IMPL_DEF(void, iemAImpl_vpaddq_u128_fallback,(PRTUINT128U puDst, PCRTUINT128U puSrc1, PCRTUINT128U puSrc2))
     9060{
    91239061    puDst->au64[0] = puSrc1->au64[0] + puSrc2->au64[0];
    91249062    puDst->au64[1] = puSrc1->au64[1] + puSrc2->au64[1];
    91259063}
    91269064
    9127 IEM_DECL_IMPL_DEF(void, iemAImpl_vpaddq_u256_fallback,(PX86XSAVEAREA pExtState, PRTUINT256U puDst,
    9128                                                        PCRTUINT256U puSrc1, PCRTUINT256U puSrc2))
    9129 {
    9130     RT_NOREF(pExtState);
     9065IEM_DECL_IMPL_DEF(void, iemAImpl_vpaddq_u256_fallback,(PRTUINT256U puDst, PCRTUINT256U puSrc1, PCRTUINT256U puSrc2))
     9066{
    91319067    puDst->au64[0] = puSrc1->au64[0] + puSrc2->au64[0];
    91329068    puDst->au64[1] = puSrc1->au64[1] + puSrc2->au64[1];
     
    91819117#endif
    91829118
    9183 IEM_DECL_IMPL_DEF(void, iemAImpl_vpsubb_u128_fallback,(PX86XSAVEAREA pExtState, PRTUINT128U puDst,
    9184                                                        PCRTUINT128U puSrc1, PCRTUINT128U puSrc2))
    9185 {
    9186     RT_NOREF(pExtState);
     9119IEM_DECL_IMPL_DEF(void, iemAImpl_vpsubb_u128_fallback,(PRTUINT128U puDst, PCRTUINT128U puSrc1, PCRTUINT128U puSrc2))
     9120{
    91879121    puDst->au8[0]  = puSrc1->au8[0]  - puSrc2->au8[0];
    91889122    puDst->au8[1]  = puSrc1->au8[1]  - puSrc2->au8[1];
     
    92039137}
    92049138
    9205 IEM_DECL_IMPL_DEF(void, iemAImpl_vpsubb_u256_fallback,(PX86XSAVEAREA pExtState, PRTUINT256U puDst,
    9206                                                        PCRTUINT256U puSrc1, PCRTUINT256U puSrc2))
    9207 {
    9208     RT_NOREF(pExtState);
     9139IEM_DECL_IMPL_DEF(void, iemAImpl_vpsubb_u256_fallback,(PRTUINT256U puDst, PCRTUINT256U puSrc1, PCRTUINT256U puSrc2))
     9140{
    92099141    puDst->au8[0]  = puSrc1->au8[0]  - puSrc2->au8[0];
    92109142    puDst->au8[1]  = puSrc1->au8[1]  - puSrc2->au8[1];
     
    94889420#endif
    94899421
    9490 IEM_DECL_IMPL_DEF(void, iemAImpl_vpsubw_u128_fallback,(PX86XSAVEAREA pExtState, PRTUINT128U puDst,
    9491                                                        PCRTUINT128U puSrc1, PCRTUINT128U puSrc2))
    9492 {
    9493     RT_NOREF(pExtState);
     9422IEM_DECL_IMPL_DEF(void, iemAImpl_vpsubw_u128_fallback,(PRTUINT128U puDst, PCRTUINT128U puSrc1, PCRTUINT128U puSrc2))
     9423{
    94949424    puDst->au16[0] = puSrc1->au16[0] - puSrc2->au16[0];
    94959425    puDst->au16[1] = puSrc1->au16[1] - puSrc2->au16[1];
     
    95029432}
    95039433
    9504 IEM_DECL_IMPL_DEF(void, iemAImpl_vpsubw_u256_fallback,(PX86XSAVEAREA pExtState, PRTUINT256U puDst,
    9505                                                        PCRTUINT256U puSrc1, PCRTUINT256U puSrc2))
    9506 {
    9507     RT_NOREF(pExtState);
     9434IEM_DECL_IMPL_DEF(void, iemAImpl_vpsubw_u256_fallback,(PRTUINT256U puDst, PCRTUINT256U puSrc1, PCRTUINT256U puSrc2))
     9435{
    95089436    puDst->au16[0]  = puSrc1->au16[0]  - puSrc2->au16[0];
    95099437    puDst->au16[1]  = puSrc1->au16[1]  - puSrc2->au16[1];
     
    96949622#endif /* IEM_WITHOUT_ASSEMBLY */
    96959623
    9696 IEM_DECL_IMPL_DEF(void, iemAImpl_vpsubd_u128_fallback,(PX86XSAVEAREA pExtState, PRTUINT128U puDst,
    9697                                                        PCRTUINT128U puSrc1, PCRTUINT128U puSrc2))
    9698 {
    9699     RT_NOREF(pExtState);
     9624IEM_DECL_IMPL_DEF(void, iemAImpl_vpsubd_u128_fallback,(PRTUINT128U puDst, PCRTUINT128U puSrc1, PCRTUINT128U puSrc2))
     9625{
    97009626    puDst->au32[0] = puSrc1->au32[0] - puSrc2->au32[0];
    97019627    puDst->au32[1] = puSrc1->au32[1] - puSrc2->au32[1];
     
    97049630}
    97059631
    9706 IEM_DECL_IMPL_DEF(void, iemAImpl_vpsubd_u256_fallback,(PX86XSAVEAREA pExtState, PRTUINT256U puDst,
    9707                                                        PCRTUINT256U puSrc1, PCRTUINT256U puSrc2))
    9708 {
    9709     RT_NOREF(pExtState);
     9632IEM_DECL_IMPL_DEF(void, iemAImpl_vpsubd_u256_fallback,(PRTUINT256U puDst, PCRTUINT256U puSrc1, PCRTUINT256U puSrc2))
     9633{
    97109634    puDst->au32[0] = puSrc1->au32[0] - puSrc2->au32[0];
    97119635    puDst->au32[1] = puSrc1->au32[1] - puSrc2->au32[1];
     
    97389662#endif
    97399663
    9740 IEM_DECL_IMPL_DEF(void, iemAImpl_vpsubq_u128_fallback,(PX86XSAVEAREA pExtState, PRTUINT128U puDst,
    9741                                                        PCRTUINT128U puSrc1, PCRTUINT128U puSrc2))
    9742 {
    9743     RT_NOREF(pExtState);
     9664IEM_DECL_IMPL_DEF(void, iemAImpl_vpsubq_u128_fallback,(PRTUINT128U puDst, PCRTUINT128U puSrc1, PCRTUINT128U puSrc2))
     9665{
    97449666    puDst->au64[0] = puSrc1->au64[0] - puSrc2->au64[0];
    97459667    puDst->au64[1] = puSrc1->au64[1] - puSrc2->au64[1];
    97469668}
    97479669
    9748 IEM_DECL_IMPL_DEF(void, iemAImpl_vpsubq_u256_fallback,(PX86XSAVEAREA pExtState, PRTUINT256U puDst,
    9749                                                        PCRTUINT256U puSrc1, PCRTUINT256U puSrc2))
    9750 {
    9751     RT_NOREF(pExtState);
     9670IEM_DECL_IMPL_DEF(void, iemAImpl_vpsubq_u256_fallback,(PRTUINT256U puDst, PCRTUINT256U puSrc1, PCRTUINT256U puSrc2))
     9671{
    97529672    puDst->au64[0] = puSrc1->au64[0] - puSrc2->au64[0];
    97539673    puDst->au64[1] = puSrc1->au64[1] - puSrc2->au64[1];
     
    1142411344
    1142511345
    11426 IEM_DECL_IMPL_DEF(void, iemAImpl_vpmaxub_u128_fallback,(PX86XSAVEAREA pExtState, PRTUINT128U puDst,
    11427                                                         PCRTUINT128U puSrc1, PCRTUINT128U puSrc2))
     11346IEM_DECL_IMPL_DEF(void, iemAImpl_vpmaxub_u128_fallback,(PRTUINT128U puDst, PCRTUINT128U puSrc1, PCRTUINT128U puSrc2))
    1142811347{
    1142911348    puDst->au8[ 0] = RT_MAX(puSrc1->au8[ 0], puSrc2->au8[ 0]);
     
    1144311362    puDst->au8[14] = RT_MAX(puSrc1->au8[14], puSrc2->au8[14]);
    1144411363    puDst->au8[15] = RT_MAX(puSrc1->au8[15], puSrc2->au8[15]);
    11445     RT_NOREF(pExtState);
    11446 }
    11447 
    11448 
    11449 IEM_DECL_IMPL_DEF(void, iemAImpl_vpmaxub_u256_fallback,(PX86XSAVEAREA pExtState, PRTUINT256U puDst,
    11450                                                         PCRTUINT256U puSrc1, PCRTUINT256U puSrc2))
     11364}
     11365
     11366
     11367IEM_DECL_IMPL_DEF(void, iemAImpl_vpmaxub_u256_fallback,(PRTUINT256U puDst, PCRTUINT256U puSrc1, PCRTUINT256U puSrc2))
    1145111368{
    1145211369    puDst->au8[ 0] = RT_MAX(puSrc1->au8[ 0], puSrc2->au8[ 0]);
     
    1148211399    puDst->au8[30] = RT_MAX(puSrc1->au8[30], puSrc2->au8[30]);
    1148311400    puDst->au8[31] = RT_MAX(puSrc1->au8[31], puSrc2->au8[31]);
    11484     RT_NOREF(pExtState);
    11485 }
    11486 
    11487 
    11488 IEM_DECL_IMPL_DEF(void, iemAImpl_vpmaxuw_u128_fallback,(PX86XSAVEAREA pExtState, PRTUINT128U puDst,
    11489                                                         PCRTUINT128U puSrc1, PCRTUINT128U puSrc2))
     11401}
     11402
     11403
     11404IEM_DECL_IMPL_DEF(void, iemAImpl_vpmaxuw_u128_fallback,(PRTUINT128U puDst, PCRTUINT128U puSrc1, PCRTUINT128U puSrc2))
    1149011405{
    1149111406    puDst->au16[ 0] = RT_MAX(puSrc1->au16[ 0], puSrc2->au16[ 0]);
     
    1149711412    puDst->au16[ 6] = RT_MAX(puSrc1->au16[ 6], puSrc2->au16[ 6]);
    1149811413    puDst->au16[ 7] = RT_MAX(puSrc1->au16[ 7], puSrc2->au16[ 7]);
    11499     RT_NOREF(pExtState);
    11500 }
    11501 
    11502 
    11503 IEM_DECL_IMPL_DEF(void, iemAImpl_vpmaxuw_u256_fallback,(PX86XSAVEAREA pExtState, PRTUINT256U puDst,
    11504                                                         PCRTUINT256U puSrc1, PCRTUINT256U puSrc2))
     11414}
     11415
     11416
     11417IEM_DECL_IMPL_DEF(void, iemAImpl_vpmaxuw_u256_fallback,(PRTUINT256U puDst, PCRTUINT256U puSrc1, PCRTUINT256U puSrc2))
    1150511418{
    1150611419    puDst->au16[ 0] = RT_MAX(puSrc1->au16[ 0], puSrc2->au16[ 0]);
     
    1152011433    puDst->au16[14] = RT_MAX(puSrc1->au16[14], puSrc2->au16[14]);
    1152111434    puDst->au16[15] = RT_MAX(puSrc1->au16[15], puSrc2->au16[15]);
    11522     RT_NOREF(pExtState);
    11523 }
    11524 
    11525 
    11526 IEM_DECL_IMPL_DEF(void, iemAImpl_vpmaxud_u128_fallback,(PX86XSAVEAREA pExtState, PRTUINT128U puDst,
    11527                                                         PCRTUINT128U puSrc1, PCRTUINT128U puSrc2))
     11435}
     11436
     11437
     11438IEM_DECL_IMPL_DEF(void, iemAImpl_vpmaxud_u128_fallback,(PRTUINT128U puDst, PCRTUINT128U puSrc1, PCRTUINT128U puSrc2))
    1152811439{
    1152911440    puDst->au32[ 0] = RT_MAX(puSrc1->au32[ 0], puSrc2->au32[ 0]);
     
    1153111442    puDst->au32[ 2] = RT_MAX(puSrc1->au32[ 2], puSrc2->au32[ 2]);
    1153211443    puDst->au32[ 3] = RT_MAX(puSrc1->au32[ 3], puSrc2->au32[ 3]);
    11533     RT_NOREF(pExtState);
    11534 }
    11535 
    11536 
    11537 IEM_DECL_IMPL_DEF(void, iemAImpl_vpmaxud_u256_fallback,(PX86XSAVEAREA pExtState, PRTUINT256U puDst,
    11538                                                         PCRTUINT256U puSrc1, PCRTUINT256U puSrc2))
     11444}
     11445
     11446
     11447IEM_DECL_IMPL_DEF(void, iemAImpl_vpmaxud_u256_fallback,(PRTUINT256U puDst, PCRTUINT256U puSrc1, PCRTUINT256U puSrc2))
    1153911448{
    1154011449    puDst->au32[ 0] = RT_MAX(puSrc1->au32[ 0], puSrc2->au32[ 0]);
     
    1154611455    puDst->au32[ 6] = RT_MAX(puSrc1->au32[ 6], puSrc2->au32[ 6]);
    1154711456    puDst->au32[ 7] = RT_MAX(puSrc1->au32[ 7], puSrc2->au32[ 7]);
    11548     RT_NOREF(pExtState);
    1154911457}
    1155011458
     
    1161911527
    1162011528
    11621 IEM_DECL_IMPL_DEF(void, iemAImpl_vpmaxsb_u128_fallback,(PX86XSAVEAREA pExtState, PRTUINT128U puDst,
    11622                                                         PCRTUINT128U puSrc1, PCRTUINT128U puSrc2))
     11529IEM_DECL_IMPL_DEF(void, iemAImpl_vpmaxsb_u128_fallback,(PRTUINT128U puDst, PCRTUINT128U puSrc1, PCRTUINT128U puSrc2))
    1162311530{
    1162411531    puDst->ai8[ 0] = RT_MAX(puSrc1->ai8[ 0], puSrc2->ai8[ 0]);
     
    1163811545    puDst->ai8[14] = RT_MAX(puSrc1->ai8[14], puSrc2->ai8[14]);
    1163911546    puDst->ai8[15] = RT_MAX(puSrc1->ai8[15], puSrc2->ai8[15]);
    11640     RT_NOREF(pExtState);
    11641 }
    11642 
    11643 
    11644 IEM_DECL_IMPL_DEF(void, iemAImpl_vpmaxsb_u256_fallback,(PX86XSAVEAREA pExtState, PRTUINT256U puDst,
    11645                                                         PCRTUINT256U puSrc1, PCRTUINT256U puSrc2))
     11547}
     11548
     11549
     11550IEM_DECL_IMPL_DEF(void, iemAImpl_vpmaxsb_u256_fallback,(PRTUINT256U puDst, PCRTUINT256U puSrc1, PCRTUINT256U puSrc2))
    1164611551{
    1164711552    puDst->ai8[ 0] = RT_MAX(puSrc1->ai8[ 0], puSrc2->ai8[ 0]);
     
    1167711582    puDst->ai8[30] = RT_MAX(puSrc1->ai8[30], puSrc2->ai8[30]);
    1167811583    puDst->ai8[31] = RT_MAX(puSrc1->ai8[31], puSrc2->ai8[31]);
    11679     RT_NOREF(pExtState);
    11680 }
    11681 
    11682 
    11683 IEM_DECL_IMPL_DEF(void, iemAImpl_vpmaxsw_u128_fallback,(PX86XSAVEAREA pExtState, PRTUINT128U puDst,
    11684                                                         PCRTUINT128U puSrc1, PCRTUINT128U puSrc2))
     11584}
     11585
     11586
     11587IEM_DECL_IMPL_DEF(void, iemAImpl_vpmaxsw_u128_fallback,(PRTUINT128U puDst, PCRTUINT128U puSrc1, PCRTUINT128U puSrc2))
    1168511588{
    1168611589    puDst->ai16[ 0] = RT_MAX(puSrc1->ai16[ 0], puSrc2->ai16[ 0]);
     
    1169211595    puDst->ai16[ 6] = RT_MAX(puSrc1->ai16[ 6], puSrc2->ai16[ 6]);
    1169311596    puDst->ai16[ 7] = RT_MAX(puSrc1->ai16[ 7], puSrc2->ai16[ 7]);
    11694     RT_NOREF(pExtState);
    11695 }
    11696 
    11697 
    11698 IEM_DECL_IMPL_DEF(void, iemAImpl_vpmaxsw_u256_fallback,(PX86XSAVEAREA pExtState, PRTUINT256U puDst,
    11699                                                         PCRTUINT256U puSrc1, PCRTUINT256U puSrc2))
     11597}
     11598
     11599
     11600IEM_DECL_IMPL_DEF(void, iemAImpl_vpmaxsw_u256_fallback,(PRTUINT256U puDst, PCRTUINT256U puSrc1, PCRTUINT256U puSrc2))
    1170011601{
    1170111602    puDst->ai16[ 0] = RT_MAX(puSrc1->ai16[ 0], puSrc2->ai16[ 0]);
     
    1171511616    puDst->ai16[14] = RT_MAX(puSrc1->ai16[14], puSrc2->ai16[14]);
    1171611617    puDst->ai16[15] = RT_MAX(puSrc1->ai16[15], puSrc2->ai16[15]);
    11717     RT_NOREF(pExtState);
    11718 }
    11719 
    11720 
    11721 IEM_DECL_IMPL_DEF(void, iemAImpl_vpmaxsd_u128_fallback,(PX86XSAVEAREA pExtState, PRTUINT128U puDst,
    11722                                                         PCRTUINT128U puSrc1, PCRTUINT128U puSrc2))
     11618}
     11619
     11620
     11621IEM_DECL_IMPL_DEF(void, iemAImpl_vpmaxsd_u128_fallback,(PRTUINT128U puDst, PCRTUINT128U puSrc1, PCRTUINT128U puSrc2))
    1172311622{
    1172411623    puDst->ai32[ 0] = RT_MAX(puSrc1->ai32[ 0], puSrc2->ai32[ 0]);
     
    1172611625    puDst->ai32[ 2] = RT_MAX(puSrc1->ai32[ 2], puSrc2->ai32[ 2]);
    1172711626    puDst->ai32[ 3] = RT_MAX(puSrc1->ai32[ 3], puSrc2->ai32[ 3]);
    11728     RT_NOREF(pExtState);
    11729 }
    11730 
    11731 
    11732 IEM_DECL_IMPL_DEF(void, iemAImpl_vpmaxsd_u256_fallback,(PX86XSAVEAREA pExtState, PRTUINT256U puDst,
    11733                                                         PCRTUINT256U puSrc1, PCRTUINT256U puSrc2))
     11627}
     11628
     11629
     11630IEM_DECL_IMPL_DEF(void, iemAImpl_vpmaxsd_u256_fallback,(PRTUINT256U puDst, PCRTUINT256U puSrc1, PCRTUINT256U puSrc2))
    1173411631{
    1173511632    puDst->ai32[ 0] = RT_MAX(puSrc1->ai32[ 0], puSrc2->ai32[ 0]);
     
    1174111638    puDst->ai32[ 6] = RT_MAX(puSrc1->ai32[ 6], puSrc2->ai32[ 6]);
    1174211639    puDst->ai32[ 7] = RT_MAX(puSrc1->ai32[ 7], puSrc2->ai32[ 7]);
    11743     RT_NOREF(pExtState);
    1174411640}
    1174511641
     
    1181811714
    1181911715
    11820 IEM_DECL_IMPL_DEF(void, iemAImpl_vpminub_u128_fallback,(PX86XSAVEAREA pExtState, PRTUINT128U puDst,
    11821                                                         PCRTUINT128U puSrc1, PCRTUINT128U puSrc2))
     11716IEM_DECL_IMPL_DEF(void, iemAImpl_vpminub_u128_fallback,(PRTUINT128U puDst, PCRTUINT128U puSrc1, PCRTUINT128U puSrc2))
    1182211717{
    1182311718    puDst->au8[ 0] = RT_MIN(puSrc1->au8[ 0], puSrc2->au8[ 0]);
     
    1183711732    puDst->au8[14] = RT_MIN(puSrc1->au8[14], puSrc2->au8[14]);
    1183811733    puDst->au8[15] = RT_MIN(puSrc1->au8[15], puSrc2->au8[15]);
    11839     RT_NOREF(pExtState);
    11840 }
    11841 
    11842 
    11843 IEM_DECL_IMPL_DEF(void, iemAImpl_vpminub_u256_fallback,(PX86XSAVEAREA pExtState, PRTUINT256U puDst,
    11844                                                         PCRTUINT256U puSrc1, PCRTUINT256U puSrc2))
     11734}
     11735
     11736
     11737IEM_DECL_IMPL_DEF(void, iemAImpl_vpminub_u256_fallback,(PRTUINT256U puDst, PCRTUINT256U puSrc1, PCRTUINT256U puSrc2))
    1184511738{
    1184611739    puDst->au8[ 0] = RT_MIN(puSrc1->au8[ 0], puSrc2->au8[ 0]);
     
    1187611769    puDst->au8[30] = RT_MIN(puSrc1->au8[30], puSrc2->au8[30]);
    1187711770    puDst->au8[31] = RT_MIN(puSrc1->au8[31], puSrc2->au8[31]);
    11878     RT_NOREF(pExtState);
    11879 }
    11880 
    11881 
    11882 IEM_DECL_IMPL_DEF(void, iemAImpl_vpminuw_u128_fallback,(PX86XSAVEAREA pExtState, PRTUINT128U puDst,
    11883                                                         PCRTUINT128U puSrc1, PCRTUINT128U puSrc2))
     11771}
     11772
     11773
     11774IEM_DECL_IMPL_DEF(void, iemAImpl_vpminuw_u128_fallback,(PRTUINT128U puDst, PCRTUINT128U puSrc1, PCRTUINT128U puSrc2))
    1188411775{
    1188511776    puDst->au16[ 0] = RT_MIN(puSrc1->au16[ 0], puSrc2->au16[ 0]);
     
    1189111782    puDst->au16[ 6] = RT_MIN(puSrc1->au16[ 6], puSrc2->au16[ 6]);
    1189211783    puDst->au16[ 7] = RT_MIN(puSrc1->au16[ 7], puSrc2->au16[ 7]);
    11893     RT_NOREF(pExtState);
    11894 }
    11895 
    11896 
    11897 IEM_DECL_IMPL_DEF(void, iemAImpl_vpminuw_u256_fallback,(PX86XSAVEAREA pExtState, PRTUINT256U puDst,
    11898                                                         PCRTUINT256U puSrc1, PCRTUINT256U puSrc2))
     11784}
     11785
     11786
     11787IEM_DECL_IMPL_DEF(void, iemAImpl_vpminuw_u256_fallback,(PRTUINT256U puDst, PCRTUINT256U puSrc1, PCRTUINT256U puSrc2))
    1189911788{
    1190011789    puDst->au16[ 0] = RT_MIN(puSrc1->au16[ 0], puSrc2->au16[ 0]);
     
    1191411803    puDst->au16[14] = RT_MIN(puSrc1->au16[14], puSrc2->au16[14]);
    1191511804    puDst->au16[15] = RT_MIN(puSrc1->au16[15], puSrc2->au16[15]);
    11916     RT_NOREF(pExtState);
    11917 }
    11918 
    11919 
    11920 IEM_DECL_IMPL_DEF(void, iemAImpl_vpminud_u128_fallback,(PX86XSAVEAREA pExtState, PRTUINT128U puDst,
    11921                                                         PCRTUINT128U puSrc1, PCRTUINT128U puSrc2))
     11805}
     11806
     11807
     11808IEM_DECL_IMPL_DEF(void, iemAImpl_vpminud_u128_fallback,(PRTUINT128U puDst, PCRTUINT128U puSrc1, PCRTUINT128U puSrc2))
    1192211809{
    1192311810    puDst->au32[ 0] = RT_MIN(puSrc1->au32[ 0], puSrc2->au32[ 0]);
     
    1192511812    puDst->au32[ 2] = RT_MIN(puSrc1->au32[ 2], puSrc2->au32[ 2]);
    1192611813    puDst->au32[ 3] = RT_MIN(puSrc1->au32[ 3], puSrc2->au32[ 3]);
    11927     RT_NOREF(pExtState);
    11928 }
    11929 
    11930 
    11931 IEM_DECL_IMPL_DEF(void, iemAImpl_vpminud_u256_fallback,(PX86XSAVEAREA pExtState, PRTUINT256U puDst,
    11932                                                         PCRTUINT256U puSrc1, PCRTUINT256U puSrc2))
     11814}
     11815
     11816
     11817IEM_DECL_IMPL_DEF(void, iemAImpl_vpminud_u256_fallback,(PRTUINT256U puDst, PCRTUINT256U puSrc1, PCRTUINT256U puSrc2))
    1193311818{
    1193411819    puDst->au32[ 0] = RT_MIN(puSrc1->au32[ 0], puSrc2->au32[ 0]);
     
    1194011825    puDst->au32[ 6] = RT_MIN(puSrc1->au32[ 6], puSrc2->au32[ 6]);
    1194111826    puDst->au32[ 7] = RT_MIN(puSrc1->au32[ 7], puSrc2->au32[ 7]);
    11942     RT_NOREF(pExtState);
    1194311827}
    1194411828
     
    1201311897
    1201411898
    12015 IEM_DECL_IMPL_DEF(void, iemAImpl_vpminsb_u128_fallback,(PX86XSAVEAREA pExtState, PRTUINT128U puDst,
    12016                                                         PCRTUINT128U puSrc1, PCRTUINT128U puSrc2))
     11899IEM_DECL_IMPL_DEF(void, iemAImpl_vpminsb_u128_fallback,(PRTUINT128U puDst, PCRTUINT128U puSrc1, PCRTUINT128U puSrc2))
    1201711900{
    1201811901    puDst->ai8[ 0] = RT_MIN(puSrc1->ai8[ 0], puSrc2->ai8[ 0]);
     
    1203211915    puDst->ai8[14] = RT_MIN(puSrc1->ai8[14], puSrc2->ai8[14]);
    1203311916    puDst->ai8[15] = RT_MIN(puSrc1->ai8[15], puSrc2->ai8[15]);
    12034     RT_NOREF(pExtState);
    12035 }
    12036 
    12037 
    12038 IEM_DECL_IMPL_DEF(void, iemAImpl_vpminsb_u256_fallback,(PX86XSAVEAREA pExtState, PRTUINT256U puDst,
    12039                                                         PCRTUINT256U puSrc1, PCRTUINT256U puSrc2))
     11917}
     11918
     11919
     11920IEM_DECL_IMPL_DEF(void, iemAImpl_vpminsb_u256_fallback,(PRTUINT256U puDst, PCRTUINT256U puSrc1, PCRTUINT256U puSrc2))
    1204011921{
    1204111922    puDst->ai8[ 0] = RT_MIN(puSrc1->ai8[ 0], puSrc2->ai8[ 0]);
     
    1207111952    puDst->ai8[30] = RT_MIN(puSrc1->ai8[30], puSrc2->ai8[30]);
    1207211953    puDst->ai8[31] = RT_MIN(puSrc1->ai8[31], puSrc2->ai8[31]);
    12073     RT_NOREF(pExtState);
    12074 }
    12075 
    12076 
    12077 IEM_DECL_IMPL_DEF(void, iemAImpl_vpminsw_u128_fallback,(PX86XSAVEAREA pExtState, PRTUINT128U puDst,
    12078                                                         PCRTUINT128U puSrc1, PCRTUINT128U puSrc2))
     11954}
     11955
     11956
     11957IEM_DECL_IMPL_DEF(void, iemAImpl_vpminsw_u128_fallback,(PRTUINT128U puDst, PCRTUINT128U puSrc1, PCRTUINT128U puSrc2))
    1207911958{
    1208011959    puDst->ai16[ 0] = RT_MIN(puSrc1->ai16[ 0], puSrc2->ai16[ 0]);
     
    1208611965    puDst->ai16[ 6] = RT_MIN(puSrc1->ai16[ 6], puSrc2->ai16[ 6]);
    1208711966    puDst->ai16[ 7] = RT_MIN(puSrc1->ai16[ 7], puSrc2->ai16[ 7]);
    12088     RT_NOREF(pExtState);
    12089 }
    12090 
    12091 
    12092 IEM_DECL_IMPL_DEF(void, iemAImpl_vpminsw_u256_fallback,(PX86XSAVEAREA pExtState, PRTUINT256U puDst,
    12093                                                         PCRTUINT256U puSrc1, PCRTUINT256U puSrc2))
     11967}
     11968
     11969
     11970IEM_DECL_IMPL_DEF(void, iemAImpl_vpminsw_u256_fallback,(PRTUINT256U puDst, PCRTUINT256U puSrc1, PCRTUINT256U puSrc2))
    1209411971{
    1209511972    puDst->ai16[ 0] = RT_MIN(puSrc1->ai16[ 0], puSrc2->ai16[ 0]);
     
    1210911986    puDst->ai16[14] = RT_MIN(puSrc1->ai16[14], puSrc2->ai16[14]);
    1211011987    puDst->ai16[15] = RT_MIN(puSrc1->ai16[15], puSrc2->ai16[15]);
    12111     RT_NOREF(pExtState);
    12112 }
    12113 
    12114 
    12115 IEM_DECL_IMPL_DEF(void, iemAImpl_vpminsd_u128_fallback,(PX86XSAVEAREA pExtState, PRTUINT128U puDst,
    12116                                                         PCRTUINT128U puSrc1, PCRTUINT128U puSrc2))
     11988}
     11989
     11990
     11991IEM_DECL_IMPL_DEF(void, iemAImpl_vpminsd_u128_fallback,(PRTUINT128U puDst, PCRTUINT128U puSrc1, PCRTUINT128U puSrc2))
    1211711992{
    1211811993    puDst->ai32[ 0] = RT_MIN(puSrc1->ai32[ 0], puSrc2->ai32[ 0]);
     
    1212011995    puDst->ai32[ 2] = RT_MIN(puSrc1->ai32[ 2], puSrc2->ai32[ 2]);
    1212111996    puDst->ai32[ 3] = RT_MIN(puSrc1->ai32[ 3], puSrc2->ai32[ 3]);
    12122     RT_NOREF(pExtState);
    12123 }
    12124 
    12125 
    12126 IEM_DECL_IMPL_DEF(void, iemAImpl_vpminsd_u256_fallback,(PX86XSAVEAREA pExtState, PRTUINT256U puDst,
    12127                                                         PCRTUINT256U puSrc1, PCRTUINT256U puSrc2))
     11997}
     11998
     11999
     12000IEM_DECL_IMPL_DEF(void, iemAImpl_vpminsd_u256_fallback,(PRTUINT256U puDst, PCRTUINT256U puSrc1, PCRTUINT256U puSrc2))
    1212812001{
    1212912002    puDst->ai32[ 0] = RT_MIN(puSrc1->ai32[ 0], puSrc2->ai32[ 0]);
     
    1213512008    puDst->ai32[ 6] = RT_MIN(puSrc1->ai32[ 6], puSrc2->ai32[ 6]);
    1213612009    puDst->ai32[ 7] = RT_MIN(puSrc1->ai32[ 7], puSrc2->ai32[ 7]);
    12137     RT_NOREF(pExtState);
    1213812010}
    1213912011
     
    1248212354
    1248312355
    12484 IEM_DECL_IMPL_DEF(void, iemAImpl_vpshufb_u128_fallback,(PX86XSAVEAREA pExtState, PRTUINT128U puDst,
    12485                                                         PCRTUINT128U puSrc1, PCRTUINT128U puSrc2))
     12356IEM_DECL_IMPL_DEF(void, iemAImpl_vpshufb_u128_fallback,(PRTUINT128U puDst, PCRTUINT128U puSrc1, PCRTUINT128U puSrc2))
    1248612357{
    1248712358    RTUINT128U const uSrc1 = *puSrc1; /* could be same as puDst */
     
    1249612367            puDst->au8[iByte] = uSrc1.au8[(idxSrc & 15)];
    1249712368    }
    12498     RT_NOREF(pExtState);
    12499 }
    12500 
    12501 
    12502 IEM_DECL_IMPL_DEF(void, iemAImpl_vpshufb_u256_fallback,(PX86XSAVEAREA pExtState, PRTUINT256U puDst,
    12503                                                         PCRTUINT256U puSrc1, PCRTUINT256U puSrc2))
     12369}
     12370
     12371
     12372IEM_DECL_IMPL_DEF(void, iemAImpl_vpshufb_u256_fallback,(PRTUINT256U puDst, PCRTUINT256U puSrc1, PCRTUINT256U puSrc2))
    1250412373{
    1250512374    RTUINT256U const uSrc1 = *puSrc1; /* could be same as puDst */
     
    1252212391            puDst->au8[iByte] = uSrc1.au8[(idxSrc & 15) + 16]; /* baka intel */
    1252312392    }
    12524     RT_NOREF(pExtState);
    1252512393}
    1252612394
  • trunk/src/VBox/VMM/VMMAll/IEMAllInstCommon.cpp.h

    r104018 r104132  
    692692# ifndef IEM_WITHOUT_ASSEMBLY
    693693/** Function table for the VPXOR instruction */
    694 IEM_STATIC const IEMOPMEDIAF3 g_iemAImpl_vpand          = { iemAImpl_vpand_u128,   iemAImpl_vpand_u256 };
     694IEM_STATIC const IEMOPMEDIAOPTF3 g_iemAImpl_vpand          = { iemAImpl_vpand_u128,   iemAImpl_vpand_u256 };
    695695/** Function table for the VPXORN instruction */
    696 IEM_STATIC const IEMOPMEDIAF3 g_iemAImpl_vpandn         = { iemAImpl_vpandn_u128,  iemAImpl_vpandn_u256 };
     696IEM_STATIC const IEMOPMEDIAOPTF3 g_iemAImpl_vpandn         = { iemAImpl_vpandn_u128,  iemAImpl_vpandn_u256 };
    697697/** Function table for the VPOR instruction */
    698 IEM_STATIC const IEMOPMEDIAF3 g_iemAImpl_vpor           = { iemAImpl_vpor_u128,    iemAImpl_vpor_u256 };
     698IEM_STATIC const IEMOPMEDIAOPTF3 g_iemAImpl_vpor           = { iemAImpl_vpor_u128,    iemAImpl_vpor_u256 };
    699699/** Function table for the VPXOR instruction */
    700 IEM_STATIC const IEMOPMEDIAF3 g_iemAImpl_vpxor          = { iemAImpl_vpxor_u128,   iemAImpl_vpxor_u256 };
     700IEM_STATIC const IEMOPMEDIAOPTF3 g_iemAImpl_vpxor          = { iemAImpl_vpxor_u128,   iemAImpl_vpxor_u256 };
    701701# endif
    702702
    703703/** Function table for the VPAND instruction, software fallback. */
    704 IEM_STATIC const IEMOPMEDIAF3 g_iemAImpl_vpand_fallback = { iemAImpl_vpand_u128_fallback,  iemAImpl_vpand_u256_fallback };
     704IEM_STATIC const IEMOPMEDIAOPTF3 g_iemAImpl_vpand_fallback = { iemAImpl_vpand_u128_fallback,  iemAImpl_vpand_u256_fallback };
    705705/** Function table for the VPANDN instruction, software fallback. */
    706 IEM_STATIC const IEMOPMEDIAF3 g_iemAImpl_vpandn_fallback= { iemAImpl_vpandn_u128_fallback, iemAImpl_vpandn_u256_fallback };
     706IEM_STATIC const IEMOPMEDIAOPTF3 g_iemAImpl_vpandn_fallback= { iemAImpl_vpandn_u128_fallback, iemAImpl_vpandn_u256_fallback };
    707707/** Function table for the VPOR instruction, software fallback. */
    708 IEM_STATIC const IEMOPMEDIAF3 g_iemAImpl_vpor_fallback  = { iemAImpl_vpor_u128_fallback,   iemAImpl_vpor_u256_fallback };
     708IEM_STATIC const IEMOPMEDIAOPTF3 g_iemAImpl_vpor_fallback  = { iemAImpl_vpor_u128_fallback,   iemAImpl_vpor_u256_fallback };
    709709/** Function table for the VPXOR instruction, software fallback. */
    710 IEM_STATIC const IEMOPMEDIAF3 g_iemAImpl_vpxor_fallback = { iemAImpl_vpxor_u128_fallback,  iemAImpl_vpxor_u256_fallback };
     710IEM_STATIC const IEMOPMEDIAOPTF3 g_iemAImpl_vpxor_fallback = { iemAImpl_vpxor_u128_fallback,  iemAImpl_vpxor_u256_fallback };
    711711
    712712#endif /* !TST_IEM_CHECK_MC */
  • trunk/src/VBox/VMM/VMMAll/IEMAllInstVexMap1.cpp.h

    r104129 r104132  
    3434 */
    3535
     36#if 0 /*Unused*/
    3637/**
    3738 * Common worker for AVX2 instructions on the forms:
     
    149150    }
    150151}
    151 
     152#endif
    152153
    153154/**
     
    27392740{
    27402741    IEMOP_MNEMONIC3(VEX_RVM, VANDPS, vandps, Vps, Hps, Wps, DISOPTYPE_HARMLESS, 0);
    2741     return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx,
     2742    return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx_Opt,
    27422743                          IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &g_iemAImpl_vpand, &g_iemAImpl_vpand_fallback));
    27432744}
     
    27482749{
    27492750    IEMOP_MNEMONIC3(VEX_RVM, VANDPD, vandpd, Vpd, Hpd, Wpd, DISOPTYPE_HARMLESS, 0);
    2750     return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx,
     2751    return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx_Opt,
    27512752                          IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &g_iemAImpl_vpand, &g_iemAImpl_vpand_fallback));
    27522753}
     
    27612762{
    27622763    IEMOP_MNEMONIC3(VEX_RVM, VANDNPS, vandnps, Vps, Hps, Wps, DISOPTYPE_HARMLESS, 0);
    2763     return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx,
     2764    return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx_Opt,
    27642765                          IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &g_iemAImpl_vpandn, &g_iemAImpl_vpandn_fallback));
    27652766}
     
    27702771{
    27712772    IEMOP_MNEMONIC3(VEX_RVM, VANDNPD, vandnpd, Vpd, Hpd, Wpd, DISOPTYPE_HARMLESS, 0);
    2772     return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx,
     2773    return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx_Opt,
    27732774                          IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &g_iemAImpl_vpandn, &g_iemAImpl_vpandn_fallback));
    27742775}
     
    27822783{
    27832784    IEMOP_MNEMONIC3(VEX_RVM, VORPS, vorps, Vps, Hps, Wps, DISOPTYPE_HARMLESS, 0);
    2784     return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx,
     2785    return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx_Opt,
    27852786                          IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &g_iemAImpl_vpor, &g_iemAImpl_vpor_fallback));
    27862787}
     
    27912792{
    27922793    IEMOP_MNEMONIC3(VEX_RVM, VORPD, vorpd, Vpd, Hpd, Wpd, DISOPTYPE_HARMLESS, 0);
    2793     return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx,
     2794    return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx_Opt,
    27942795                          IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &g_iemAImpl_vpor, &g_iemAImpl_vpor_fallback));
    27952796}
     
    28042805{
    28052806    IEMOP_MNEMONIC3(VEX_RVM, VXORPS, vxorps, Vps, Hps, Wps, DISOPTYPE_HARMLESS, 0);
    2806     return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx,
     2807    return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx_Opt,
    28072808                          IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &g_iemAImpl_vpxor, &g_iemAImpl_vpxor_fallback));
    28082809}
     
    28132814{
    28142815    IEMOP_MNEMONIC3(VEX_RVM, VXORPD, vxorpd, Vpd, Hpd, Wpd, DISOPTYPE_HARMLESS, 0);
    2815     return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx,
     2816    return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx_Opt,
    28162817                          IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &g_iemAImpl_vpxor, &g_iemAImpl_vpxor_fallback));
    28172818}
     
    29592960{
    29602961    IEMOP_MNEMONIC3(VEX_RVM, VPCMPGTB, vpcmpgtb, Vx, Hx, Wx, DISOPTYPE_HARMLESS, 0);
    2961     IEMOPMEDIAF3_INIT_VARS(  vpcmpgtb);
    2962     return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx, IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &s_Host, &s_Fallback));
     2962    IEMOPMEDIAOPTF3_INIT_VARS(         vpcmpgtb);
     2963    return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx_Opt, IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &s_Host, &s_Fallback));
    29632964}
    29642965
     
    29732974{
    29742975    IEMOP_MNEMONIC3(VEX_RVM, VPCMPGTW, vpcmpgtw, Vx, Hx, Wx, DISOPTYPE_HARMLESS, 0);
    2975     IEMOPMEDIAF3_INIT_VARS(  vpcmpgtw);
    2976     return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx, IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &s_Host, &s_Fallback));
     2976    IEMOPMEDIAOPTF3_INIT_VARS(         vpcmpgtw);
     2977    return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx_Opt, IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &s_Host, &s_Fallback));
    29772978}
    29782979
     
    29872988{
    29882989    IEMOP_MNEMONIC3(VEX_RVM, VPCMPGTD, vpcmpgtd, Vx, Hx, Wx, DISOPTYPE_HARMLESS, 0);
    2989     IEMOPMEDIAF3_INIT_VARS(  vpcmpgtd);
    2990     return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx, IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &s_Host, &s_Fallback));
     2990    IEMOPMEDIAOPTF3_INIT_VARS(         vpcmpgtd);
     2991    return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx_Opt, IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &s_Host, &s_Fallback));
    29912992}
    29922993
     
    38613862{
    38623863    IEMOP_MNEMONIC3(VEX_RVM, VPCMPEQB, vpcmpeqb, Vx, Hx, Wx, DISOPTYPE_HARMLESS, 0);
    3863     IEMOPMEDIAF3_INIT_VARS(  vpcmpeqb);
    3864     return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx, IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &s_Host, &s_Fallback));
     3864    IEMOPMEDIAOPTF3_INIT_VARS(         vpcmpeqb);
     3865    return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx_Opt, IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &s_Host, &s_Fallback));
    38653866}
    38663867
     
    38763877{
    38773878    IEMOP_MNEMONIC3(VEX_RVM, VPCMPEQW, vpcmpeqw, Vx, Hx, Wx, DISOPTYPE_HARMLESS, 0);
    3878     IEMOPMEDIAF3_INIT_VARS(  vpcmpeqw);
    3879     return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx, IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &s_Host, &s_Fallback));
     3879    IEMOPMEDIAOPTF3_INIT_VARS(         vpcmpeqw);
     3880    return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx_Opt, IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &s_Host, &s_Fallback));
    38803881}
    38813882
     
    38923893{
    38933894    IEMOP_MNEMONIC3(VEX_RVM, VPCMPEQD, vpcmpeqd, Vx, Hx, Wx, DISOPTYPE_HARMLESS, 0);
    3894     IEMOPMEDIAF3_INIT_VARS(  vpcmpeqd);
    3895     return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx, IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &s_Host, &s_Fallback));
     3895    IEMOPMEDIAOPTF3_INIT_VARS(         vpcmpeqd);
     3896    return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx_Opt, IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &s_Host, &s_Fallback));
    38963897}
    38973898
     
    48444845{
    48454846    IEMOP_MNEMONIC3(VEX_RVM, VPADDQ, vpaddq, Vx, Hx, Wx, DISOPTYPE_HARMLESS, 0);
    4846     IEMOPMEDIAF3_INIT_VARS(  vpaddq);
    4847     return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx, IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &s_Host, &s_Fallback));
     4847    IEMOPMEDIAOPTF3_INIT_VARS(       vpaddq);
     4848    return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx_Opt, IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &s_Host, &s_Fallback));
    48484849}
    48494850
     
    50115012{
    50125013    IEMOP_MNEMONIC3(VEX_RVM, VPMINUB, vpminub, Vx, Hx, Wx, DISOPTYPE_HARMLESS, 0);
    5013     IEMOPMEDIAF3_INIT_VARS(vpminub);
    5014     return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx, IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &s_Host, &s_Fallback));
     5014    IEMOPMEDIAOPTF3_INIT_VARS(vpminub);
     5015    return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx_Opt, IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &s_Host, &s_Fallback));
    50155016}
    50165017
     
    50265027{
    50275028    IEMOP_MNEMONIC3(VEX_RVM, VPAND, vpand, Vx, Hx, Wx, DISOPTYPE_HARMLESS, 0);
    5028     return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx,
     5029    return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx_Opt,
    50295030                          IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &g_iemAImpl_vpand, &g_iemAImpl_vpand_fallback));
    50305031}
     
    50715072{
    50725073    IEMOP_MNEMONIC3(VEX_RVM, VPMAXUB, vpmaxub, Vx, Hx, Wx, DISOPTYPE_HARMLESS, 0);
    5073     IEMOPMEDIAF3_INIT_VARS(vpmaxub);
    5074     return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx, IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &s_Host, &s_Fallback));
     5074    IEMOPMEDIAOPTF3_INIT_VARS(vpmaxub);
     5075    return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx_Opt, IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &s_Host, &s_Fallback));
    50755076}
    50765077
     
    50865087{
    50875088    IEMOP_MNEMONIC3(VEX_RVM, VPANDN, vpandn, Vx, Hx, Wx, DISOPTYPE_HARMLESS, 0);
    5088     return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx,
     5089    return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx_Opt,
    50895090                          IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &g_iemAImpl_vpandn, &g_iemAImpl_vpandn_fallback));
    50905091}
     
    53025303{
    53035304    IEMOP_MNEMONIC3(VEX_RVM, VPMINSW, vpminsw, Vx, Hx, Wx, DISOPTYPE_HARMLESS, 0);
    5304     IEMOPMEDIAF3_INIT_VARS(vpminsw);
    5305     return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx, IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &s_Host, &s_Fallback));
     5305    IEMOPMEDIAOPTF3_INIT_VARS(vpminsw);
     5306    return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx_Opt, IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &s_Host, &s_Fallback));
    53065307}
    53075308
     
    53175318{
    53185319    IEMOP_MNEMONIC3(VEX_RVM, VPOR, vpor, Vx, Hx, Wx, DISOPTYPE_HARMLESS, 0);
    5319     return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx,
     5320    return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx_Opt,
    53205321                          IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &g_iemAImpl_vpor, &g_iemAImpl_vpor_fallback));
    53215322}
     
    53635364{
    53645365    IEMOP_MNEMONIC3(VEX_RVM, VPMAXSW, vpmaxsw, Vx, Hx, Wx, DISOPTYPE_HARMLESS, 0);
    5365     IEMOPMEDIAF3_INIT_VARS(vpmaxsw);
    5366     return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx, IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &s_Host, &s_Fallback));
     5366    IEMOPMEDIAOPTF3_INIT_VARS(vpmaxsw);
     5367    return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx_Opt, IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &s_Host, &s_Fallback));
    53675368}
    53685369
     
    53795380{
    53805381    IEMOP_MNEMONIC3(VEX_RVM, VPXOR, vpxor, Vx, Hx, Wx, DISOPTYPE_HARMLESS, 0);
    5381     return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx,
     5382    return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx_Opt,
    53825383                          IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &g_iemAImpl_vpxor, &g_iemAImpl_vpxor_fallback));
    53835384}
     
    55325533{
    55335534    IEMOP_MNEMONIC3(VEX_RVM, VPSUBB, vpsubb, Vx, Hx, Wx, DISOPTYPE_HARMLESS, 0);
    5534     IEMOPMEDIAF3_INIT_VARS(  vpsubb);
    5535     return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx, IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &s_Host, &s_Fallback));
     5535    IEMOPMEDIAOPTF3_INIT_VARS(  vpsubb);
     5536    return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx_Opt, IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &s_Host, &s_Fallback));
    55365537}
    55375538
     
    55465547{
    55475548    IEMOP_MNEMONIC3(VEX_RVM, VPSUBW, vpsubw, Vx, Hx, Wx, DISOPTYPE_HARMLESS, 0);
    5548     IEMOPMEDIAF3_INIT_VARS(  vpsubw);
    5549     return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx, IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &s_Host, &s_Fallback));
     5549    IEMOPMEDIAOPTF3_INIT_VARS(  vpsubw);
     5550    return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx_Opt, IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &s_Host, &s_Fallback));
    55505551}
    55515552
     
    55605561{
    55615562    IEMOP_MNEMONIC3(VEX_RVM, VPSUBD, vpsubd, Vx, Hx, Wx, DISOPTYPE_HARMLESS, 0);
    5562     IEMOPMEDIAF3_INIT_VARS(  vpsubd);
    5563     return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx, IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &s_Host, &s_Fallback));
     5563    IEMOPMEDIAOPTF3_INIT_VARS(  vpsubd);
     5564    return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx_Opt, IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &s_Host, &s_Fallback));
    55645565}
    55655566
     
    55745575{
    55755576    IEMOP_MNEMONIC3(VEX_RVM, VPSUBQ, vpsubq, Vx, Hx, Wx, DISOPTYPE_HARMLESS, 0);
    5576     IEMOPMEDIAF3_INIT_VARS(  vpsubq);
    5577     return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx, IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &s_Host, &s_Fallback));
     5577    IEMOPMEDIAOPTF3_INIT_VARS(  vpsubq);
     5578    return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx_Opt, IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &s_Host, &s_Fallback));
    55785579}
    55795580
     
    55885589{
    55895590    IEMOP_MNEMONIC3(VEX_RVM, VPADDB, vpaddb, Vx, Hx, Wx, DISOPTYPE_HARMLESS, 0);
    5590     IEMOPMEDIAF3_INIT_VARS(  vpaddb);
    5591     return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx, IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &s_Host, &s_Fallback));
     5591    IEMOPMEDIAOPTF3_INIT_VARS(  vpaddb);
     5592    return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx_Opt, IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &s_Host, &s_Fallback));
    55925593}
    55935594
     
    56025603{
    56035604    IEMOP_MNEMONIC3(VEX_RVM, VPADDW, vpaddw, Vx, Hx, Wx, DISOPTYPE_HARMLESS, 0);
    5604     IEMOPMEDIAF3_INIT_VARS(  vpaddw);
    5605     return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx, IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &s_Host, &s_Fallback));
     5605    IEMOPMEDIAOPTF3_INIT_VARS(  vpaddw);
     5606    return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx_Opt, IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &s_Host, &s_Fallback));
    56065607}
    56075608
     
    56165617{
    56175618    IEMOP_MNEMONIC3(VEX_RVM, VPADDD, vpaddd, Vx, Hx, Wx, DISOPTYPE_HARMLESS, 0);
    5618     IEMOPMEDIAF3_INIT_VARS(  vpaddd);
    5619     return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx, IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &s_Host, &s_Fallback));
     5619    IEMOPMEDIAOPTF3_INIT_VARS(  vpaddd);
     5620    return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx_Opt, IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &s_Host, &s_Fallback));
    56205621}
    56215622
  • trunk/src/VBox/VMM/VMMAll/IEMAllInstVexMap2.cpp.h

    r104113 r104132  
    4141{
    4242    IEMOP_MNEMONIC3(VEX_RVM, VPSHUFB, vpshufb, Vx, Hx, Wx, DISOPTYPE_HARMLESS, 0);
    43     IEMOPMEDIAF3_INIT_VARS(vpshufb);
    44     return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx, IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &s_Host, &s_Fallback));
     43    IEMOPMEDIAOPTF3_INIT_VARS(        vpshufb);
     44    return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx_Opt, IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &s_Host, &s_Fallback));
    4545}
    4646
     
    727727{
    728728    IEMOP_MNEMONIC3(VEX_RVM, VPCMPEQQ, vpcmpeqq, Vx, Hx, Wx, DISOPTYPE_HARMLESS, 0);
    729     IEMOPMEDIAF3_INIT_VARS(vpcmpeqq);
    730     return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx, IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &s_Host, &s_Fallback));
     729    IEMOPMEDIAOPTF3_INIT_VARS(vpcmpeqq);
     730    return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx_Opt, IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &s_Host, &s_Fallback));
    731731}
    732732
     
    897897{
    898898    IEMOP_MNEMONIC3(VEX_RVM, VPCMPGTQ, vpcmpgtq, Vx, Hx, Wx, DISOPTYPE_HARMLESS, 0);
    899     IEMOPMEDIAF3_INIT_VARS(vpcmpgtq);
    900     return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx, IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &s_Host, &s_Fallback));
     899    IEMOPMEDIAOPTF3_INIT_VARS(         vpcmpgtq);
     900    return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx_Opt, IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &s_Host, &s_Fallback));
    901901}
    902902
     
    906906{
    907907    IEMOP_MNEMONIC3(VEX_RVM, VPMINSB, vpminsb, Vx, Hx, Wx, DISOPTYPE_HARMLESS, 0);
    908     IEMOPMEDIAF3_INIT_VARS(vpminsb);
    909     return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx, IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &s_Host, &s_Fallback));
     908    IEMOPMEDIAOPTF3_INIT_VARS(        vpminsb);
     909    return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx_Opt, IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &s_Host, &s_Fallback));
    910910}
    911911
     
    915915{
    916916    IEMOP_MNEMONIC3(VEX_RVM, VPMINSD, vpminsd, Vx, Hx, Wx, DISOPTYPE_HARMLESS, 0);
    917     IEMOPMEDIAF3_INIT_VARS(vpminsd);
    918     return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx, IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &s_Host, &s_Fallback));
     917    IEMOPMEDIAOPTF3_INIT_VARS(        vpminsd);
     918    return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx_Opt, IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &s_Host, &s_Fallback));
    919919}
    920920
     
    924924{
    925925    IEMOP_MNEMONIC3(VEX_RVM, VPMINUW, vpminuw, Vx, Hx, Wx, DISOPTYPE_HARMLESS, 0);
    926     IEMOPMEDIAF3_INIT_VARS(vpminuw);
    927     return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx, IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &s_Host, &s_Fallback));
     926    IEMOPMEDIAOPTF3_INIT_VARS(        vpminuw);
     927    return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx_Opt, IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &s_Host, &s_Fallback));
    928928}
    929929
     
    933933{
    934934    IEMOP_MNEMONIC3(VEX_RVM, VPMINUD, vpminud, Vx, Hx, Wx, DISOPTYPE_HARMLESS, 0);
    935     IEMOPMEDIAF3_INIT_VARS(vpminud);
    936     return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx, IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &s_Host, &s_Fallback));
     935    IEMOPMEDIAOPTF3_INIT_VARS(        vpminud);
     936    return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx_Opt, IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &s_Host, &s_Fallback));
    937937}
    938938
     
    942942{
    943943    IEMOP_MNEMONIC3(VEX_RVM, VPMAXSB, vpmaxsb, Vx, Hx, Wx, DISOPTYPE_HARMLESS, 0);
    944     IEMOPMEDIAF3_INIT_VARS(vpmaxsb);
    945     return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx, IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &s_Host, &s_Fallback));
     944    IEMOPMEDIAOPTF3_INIT_VARS(        vpmaxsb);
     945    return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx_Opt, IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &s_Host, &s_Fallback));
    946946}
    947947
     
    951951{
    952952    IEMOP_MNEMONIC3(VEX_RVM, VPMAXSD, vpmaxsd, Vx, Hx, Wx, DISOPTYPE_HARMLESS, 0);
    953     IEMOPMEDIAF3_INIT_VARS(vpmaxsd);
    954     return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx, IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &s_Host, &s_Fallback));
     953    IEMOPMEDIAOPTF3_INIT_VARS(        vpmaxsd);
     954    return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx_Opt, IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &s_Host, &s_Fallback));
    955955}
    956956
     
    960960{
    961961    IEMOP_MNEMONIC3(VEX_RVM, VPMAXUW, vpmaxuw, Vx, Hx, Wx, DISOPTYPE_HARMLESS, 0);
    962     IEMOPMEDIAF3_INIT_VARS(vpmaxuw);
    963     return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx, IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &s_Host, &s_Fallback));
     962    IEMOPMEDIAOPTF3_INIT_VARS(        vpmaxuw);
     963    return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx_Opt, IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &s_Host, &s_Fallback));
    964964}
    965965
     
    969969{
    970970    IEMOP_MNEMONIC3(VEX_RVM, VPMAXUD, vpmaxud, Vx, Hx, Wx, DISOPTYPE_HARMLESS, 0);
    971     IEMOPMEDIAF3_INIT_VARS(vpmaxud);
    972     return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx, IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &s_Host, &s_Fallback));
     971    IEMOPMEDIAOPTF3_INIT_VARS(        vpmaxud);
     972    return FNIEMOP_CALL_1(iemOpCommonAvxAvx2_Vx_Hx_Wx_Opt, IEM_SELECT_HOST_OR_FALLBACK(fAvx2, &s_Host, &s_Fallback));
    973973}
    974974
  • trunk/src/VBox/VMM/include/IEMInternal.h

    r104129 r104132  
    33193319FNIEMAIMPLMEDIAOPTF2U128 iemAImpl_phminposuw_u128, iemAImpl_phminposuw_u128_fallback;
    33203320
    3321 FNIEMAIMPLMEDIAF3U128    iemAImpl_vpshufb_u128,    iemAImpl_vpshufb_u128_fallback;
    3322 FNIEMAIMPLMEDIAF3U128    iemAImpl_vpand_u128,      iemAImpl_vpand_u128_fallback;
    3323 FNIEMAIMPLMEDIAF3U128    iemAImpl_vpandn_u128,     iemAImpl_vpandn_u128_fallback;
    3324 FNIEMAIMPLMEDIAF3U128    iemAImpl_vpor_u128,       iemAImpl_vpor_u128_fallback;
    3325 FNIEMAIMPLMEDIAF3U128    iemAImpl_vpxor_u128,      iemAImpl_vpxor_u128_fallback;
    3326 FNIEMAIMPLMEDIAF3U128    iemAImpl_vpcmpeqb_u128,   iemAImpl_vpcmpeqb_u128_fallback;
    3327 FNIEMAIMPLMEDIAF3U128    iemAImpl_vpcmpeqw_u128,   iemAImpl_vpcmpeqw_u128_fallback;
    3328 FNIEMAIMPLMEDIAF3U128    iemAImpl_vpcmpeqd_u128,   iemAImpl_vpcmpeqd_u128_fallback;
    3329 FNIEMAIMPLMEDIAF3U128    iemAImpl_vpcmpeqq_u128,   iemAImpl_vpcmpeqq_u128_fallback;
    3330 FNIEMAIMPLMEDIAF3U128    iemAImpl_vpcmpgtb_u128,   iemAImpl_vpcmpgtb_u128_fallback;
    3331 FNIEMAIMPLMEDIAF3U128    iemAImpl_vpcmpgtw_u128,   iemAImpl_vpcmpgtw_u128_fallback;
    3332 FNIEMAIMPLMEDIAF3U128    iemAImpl_vpcmpgtd_u128,   iemAImpl_vpcmpgtd_u128_fallback;
    3333 FNIEMAIMPLMEDIAF3U128    iemAImpl_vpcmpgtq_u128,   iemAImpl_vpcmpgtq_u128_fallback;
    3334 FNIEMAIMPLMEDIAF3U128    iemAImpl_vpaddb_u128,     iemAImpl_vpaddb_u128_fallback;
    3335 FNIEMAIMPLMEDIAF3U128    iemAImpl_vpaddw_u128,     iemAImpl_vpaddw_u128_fallback;
    3336 FNIEMAIMPLMEDIAF3U128    iemAImpl_vpaddd_u128,     iemAImpl_vpaddd_u128_fallback;
    3337 FNIEMAIMPLMEDIAF3U128    iemAImpl_vpaddq_u128,     iemAImpl_vpaddq_u128_fallback;
    3338 FNIEMAIMPLMEDIAF3U128    iemAImpl_vpsubb_u128,     iemAImpl_vpsubb_u128_fallback;
    3339 FNIEMAIMPLMEDIAF3U128    iemAImpl_vpsubw_u128,     iemAImpl_vpsubw_u128_fallback;
    3340 FNIEMAIMPLMEDIAF3U128    iemAImpl_vpsubd_u128,     iemAImpl_vpsubd_u128_fallback;
    3341 FNIEMAIMPLMEDIAF3U128    iemAImpl_vpsubq_u128,     iemAImpl_vpsubq_u128_fallback;
    3342 FNIEMAIMPLMEDIAF3U128    iemAImpl_vpminub_u128,    iemAImpl_vpminub_u128_fallback;
    3343 FNIEMAIMPLMEDIAF3U128    iemAImpl_vpminuw_u128,    iemAImpl_vpminuw_u128_fallback;
    3344 FNIEMAIMPLMEDIAF3U128    iemAImpl_vpminud_u128,    iemAImpl_vpminud_u128_fallback;
    3345 FNIEMAIMPLMEDIAF3U128    iemAImpl_vpminsb_u128,    iemAImpl_vpminsb_u128_fallback;
    3346 FNIEMAIMPLMEDIAF3U128    iemAImpl_vpminsw_u128,    iemAImpl_vpminsw_u128_fallback;
    3347 FNIEMAIMPLMEDIAF3U128    iemAImpl_vpminsd_u128,    iemAImpl_vpminsd_u128_fallback;
    3348 FNIEMAIMPLMEDIAF3U128    iemAImpl_vpmaxub_u128,    iemAImpl_vpmaxub_u128_fallback;
    3349 FNIEMAIMPLMEDIAF3U128    iemAImpl_vpmaxuw_u128,    iemAImpl_vpmaxuw_u128_fallback;
    3350 FNIEMAIMPLMEDIAF3U128    iemAImpl_vpmaxud_u128,    iemAImpl_vpmaxud_u128_fallback;
    3351 FNIEMAIMPLMEDIAF3U128    iemAImpl_vpmaxsb_u128,    iemAImpl_vpmaxsb_u128_fallback;
    3352 FNIEMAIMPLMEDIAF3U128    iemAImpl_vpmaxsw_u128,    iemAImpl_vpmaxsw_u128_fallback;
    3353 FNIEMAIMPLMEDIAF3U128    iemAImpl_vpmaxsd_u128,    iemAImpl_vpmaxsd_u128_fallback;
     3321FNIEMAIMPLMEDIAOPTF3U128 iemAImpl_vpshufb_u128,    iemAImpl_vpshufb_u128_fallback;
     3322FNIEMAIMPLMEDIAOPTF3U128 iemAImpl_vpand_u128,      iemAImpl_vpand_u128_fallback;
     3323FNIEMAIMPLMEDIAOPTF3U128 iemAImpl_vpandn_u128,     iemAImpl_vpandn_u128_fallback;
     3324FNIEMAIMPLMEDIAOPTF3U128 iemAImpl_vpor_u128,       iemAImpl_vpor_u128_fallback;
     3325FNIEMAIMPLMEDIAOPTF3U128 iemAImpl_vpxor_u128,      iemAImpl_vpxor_u128_fallback;
     3326FNIEMAIMPLMEDIAOPTF3U128 iemAImpl_vpcmpeqb_u128,   iemAImpl_vpcmpeqb_u128_fallback;
     3327FNIEMAIMPLMEDIAOPTF3U128 iemAImpl_vpcmpeqw_u128,   iemAImpl_vpcmpeqw_u128_fallback;
     3328FNIEMAIMPLMEDIAOPTF3U128 iemAImpl_vpcmpeqd_u128,   iemAImpl_vpcmpeqd_u128_fallback;
     3329FNIEMAIMPLMEDIAOPTF3U128 iemAImpl_vpcmpeqq_u128,   iemAImpl_vpcmpeqq_u128_fallback;
     3330FNIEMAIMPLMEDIAOPTF3U128 iemAImpl_vpcmpgtb_u128,   iemAImpl_vpcmpgtb_u128_fallback;
     3331FNIEMAIMPLMEDIAOPTF3U128 iemAImpl_vpcmpgtw_u128,   iemAImpl_vpcmpgtw_u128_fallback;
     3332FNIEMAIMPLMEDIAOPTF3U128 iemAImpl_vpcmpgtd_u128,   iemAImpl_vpcmpgtd_u128_fallback;
     3333FNIEMAIMPLMEDIAOPTF3U128 iemAImpl_vpcmpgtq_u128,   iemAImpl_vpcmpgtq_u128_fallback;
     3334FNIEMAIMPLMEDIAOPTF3U128 iemAImpl_vpaddb_u128,     iemAImpl_vpaddb_u128_fallback;
     3335FNIEMAIMPLMEDIAOPTF3U128 iemAImpl_vpaddw_u128,     iemAImpl_vpaddw_u128_fallback;
     3336FNIEMAIMPLMEDIAOPTF3U128 iemAImpl_vpaddd_u128,     iemAImpl_vpaddd_u128_fallback;
     3337FNIEMAIMPLMEDIAOPTF3U128 iemAImpl_vpaddq_u128,     iemAImpl_vpaddq_u128_fallback;
     3338FNIEMAIMPLMEDIAOPTF3U128 iemAImpl_vpsubb_u128,     iemAImpl_vpsubb_u128_fallback;
     3339FNIEMAIMPLMEDIAOPTF3U128 iemAImpl_vpsubw_u128,     iemAImpl_vpsubw_u128_fallback;
     3340FNIEMAIMPLMEDIAOPTF3U128 iemAImpl_vpsubd_u128,     iemAImpl_vpsubd_u128_fallback;
     3341FNIEMAIMPLMEDIAOPTF3U128 iemAImpl_vpsubq_u128,     iemAImpl_vpsubq_u128_fallback;
     3342FNIEMAIMPLMEDIAOPTF3U128 iemAImpl_vpminub_u128,    iemAImpl_vpminub_u128_fallback;
     3343FNIEMAIMPLMEDIAOPTF3U128 iemAImpl_vpminuw_u128,    iemAImpl_vpminuw_u128_fallback;
     3344FNIEMAIMPLMEDIAOPTF3U128 iemAImpl_vpminud_u128,    iemAImpl_vpminud_u128_fallback;
     3345FNIEMAIMPLMEDIAOPTF3U128 iemAImpl_vpminsb_u128,    iemAImpl_vpminsb_u128_fallback;
     3346FNIEMAIMPLMEDIAOPTF3U128 iemAImpl_vpminsw_u128,    iemAImpl_vpminsw_u128_fallback;
     3347FNIEMAIMPLMEDIAOPTF3U128 iemAImpl_vpminsd_u128,    iemAImpl_vpminsd_u128_fallback;
     3348FNIEMAIMPLMEDIAOPTF3U128 iemAImpl_vpmaxub_u128,    iemAImpl_vpmaxub_u128_fallback;
     3349FNIEMAIMPLMEDIAOPTF3U128 iemAImpl_vpmaxuw_u128,    iemAImpl_vpmaxuw_u128_fallback;
     3350FNIEMAIMPLMEDIAOPTF3U128 iemAImpl_vpmaxud_u128,    iemAImpl_vpmaxud_u128_fallback;
     3351FNIEMAIMPLMEDIAOPTF3U128 iemAImpl_vpmaxsb_u128,    iemAImpl_vpmaxsb_u128_fallback;
     3352FNIEMAIMPLMEDIAOPTF3U128 iemAImpl_vpmaxsw_u128,    iemAImpl_vpmaxsw_u128_fallback;
     3353FNIEMAIMPLMEDIAOPTF3U128 iemAImpl_vpmaxsd_u128,    iemAImpl_vpmaxsd_u128_fallback;
    33543354FNIEMAIMPLMEDIAOPTF3U128 iemAImpl_vpacksswb_u128,  iemAImpl_vpacksswb_u128_fallback;
    33553355FNIEMAIMPLMEDIAOPTF3U128 iemAImpl_vpackssdw_u128,  iemAImpl_vpackssdw_u128_fallback;
     
    33993399FNIEMAIMPLMEDIAOPTF2U128 iemAImpl_vphminposuw_u128, iemAImpl_vphminposuw_u128_fallback;
    34003400
    3401 FNIEMAIMPLMEDIAF3U256    iemAImpl_vpshufb_u256,    iemAImpl_vpshufb_u256_fallback;
    3402 FNIEMAIMPLMEDIAF3U256    iemAImpl_vpand_u256,      iemAImpl_vpand_u256_fallback;
    3403 FNIEMAIMPLMEDIAF3U256    iemAImpl_vpandn_u256,     iemAImpl_vpandn_u256_fallback;
    3404 FNIEMAIMPLMEDIAF3U256    iemAImpl_vpor_u256,       iemAImpl_vpor_u256_fallback;
    3405 FNIEMAIMPLMEDIAF3U256    iemAImpl_vpxor_u256,      iemAImpl_vpxor_u256_fallback;
    3406 FNIEMAIMPLMEDIAF3U256    iemAImpl_vpcmpeqb_u256,   iemAImpl_vpcmpeqb_u256_fallback;
    3407 FNIEMAIMPLMEDIAF3U256    iemAImpl_vpcmpeqw_u256,   iemAImpl_vpcmpeqw_u256_fallback;
    3408 FNIEMAIMPLMEDIAF3U256    iemAImpl_vpcmpeqd_u256,   iemAImpl_vpcmpeqd_u256_fallback;
    3409 FNIEMAIMPLMEDIAF3U256    iemAImpl_vpcmpeqq_u256,   iemAImpl_vpcmpeqq_u256_fallback;
    3410 FNIEMAIMPLMEDIAF3U256    iemAImpl_vpcmpgtb_u256,   iemAImpl_vpcmpgtb_u256_fallback;
    3411 FNIEMAIMPLMEDIAF3U256    iemAImpl_vpcmpgtw_u256,   iemAImpl_vpcmpgtw_u256_fallback;
    3412 FNIEMAIMPLMEDIAF3U256    iemAImpl_vpcmpgtd_u256,   iemAImpl_vpcmpgtd_u256_fallback;
    3413 FNIEMAIMPLMEDIAF3U256    iemAImpl_vpcmpgtq_u256,   iemAImpl_vpcmpgtq_u256_fallback;
    3414 FNIEMAIMPLMEDIAF3U256    iemAImpl_vpaddb_u256,     iemAImpl_vpaddb_u256_fallback;
    3415 FNIEMAIMPLMEDIAF3U256    iemAImpl_vpaddw_u256,     iemAImpl_vpaddw_u256_fallback;
    3416 FNIEMAIMPLMEDIAF3U256    iemAImpl_vpaddd_u256,     iemAImpl_vpaddd_u256_fallback;
    3417 FNIEMAIMPLMEDIAF3U256    iemAImpl_vpaddq_u256,     iemAImpl_vpaddq_u256_fallback;
    3418 FNIEMAIMPLMEDIAF3U256    iemAImpl_vpsubb_u256,     iemAImpl_vpsubb_u256_fallback;
    3419 FNIEMAIMPLMEDIAF3U256    iemAImpl_vpsubw_u256,     iemAImpl_vpsubw_u256_fallback;
    3420 FNIEMAIMPLMEDIAF3U256    iemAImpl_vpsubd_u256,     iemAImpl_vpsubd_u256_fallback;
    3421 FNIEMAIMPLMEDIAF3U256    iemAImpl_vpsubq_u256,     iemAImpl_vpsubq_u256_fallback;
    3422 FNIEMAIMPLMEDIAF3U256    iemAImpl_vpminub_u256,    iemAImpl_vpminub_u256_fallback;
    3423 FNIEMAIMPLMEDIAF3U256    iemAImpl_vpminuw_u256,    iemAImpl_vpminuw_u256_fallback;
    3424 FNIEMAIMPLMEDIAF3U256    iemAImpl_vpminud_u256,    iemAImpl_vpminud_u256_fallback;
    3425 FNIEMAIMPLMEDIAF3U256    iemAImpl_vpminsb_u256,    iemAImpl_vpminsb_u256_fallback;
    3426 FNIEMAIMPLMEDIAF3U256    iemAImpl_vpminsw_u256,    iemAImpl_vpminsw_u256_fallback;
    3427 FNIEMAIMPLMEDIAF3U256    iemAImpl_vpminsd_u256,    iemAImpl_vpminsd_u256_fallback;
    3428 FNIEMAIMPLMEDIAF3U256    iemAImpl_vpmaxub_u256,    iemAImpl_vpmaxub_u256_fallback;
    3429 FNIEMAIMPLMEDIAF3U256    iemAImpl_vpmaxuw_u256,    iemAImpl_vpmaxuw_u256_fallback;
    3430 FNIEMAIMPLMEDIAF3U256    iemAImpl_vpmaxud_u256,    iemAImpl_vpmaxud_u256_fallback;
    3431 FNIEMAIMPLMEDIAF3U256    iemAImpl_vpmaxsb_u256,    iemAImpl_vpmaxsb_u256_fallback;
    3432 FNIEMAIMPLMEDIAF3U256    iemAImpl_vpmaxsw_u256,    iemAImpl_vpmaxsw_u256_fallback;
    3433 FNIEMAIMPLMEDIAF3U256    iemAImpl_vpmaxsd_u256,    iemAImpl_vpmaxsd_u256_fallback;
     3401FNIEMAIMPLMEDIAOPTF3U256 iemAImpl_vpshufb_u256,    iemAImpl_vpshufb_u256_fallback;
     3402FNIEMAIMPLMEDIAOPTF3U256 iemAImpl_vpand_u256,      iemAImpl_vpand_u256_fallback;
     3403FNIEMAIMPLMEDIAOPTF3U256 iemAImpl_vpandn_u256,     iemAImpl_vpandn_u256_fallback;
     3404FNIEMAIMPLMEDIAOPTF3U256 iemAImpl_vpor_u256,       iemAImpl_vpor_u256_fallback;
     3405FNIEMAIMPLMEDIAOPTF3U256 iemAImpl_vpxor_u256,      iemAImpl_vpxor_u256_fallback;
     3406FNIEMAIMPLMEDIAOPTF3U256 iemAImpl_vpcmpeqb_u256,   iemAImpl_vpcmpeqb_u256_fallback;
     3407FNIEMAIMPLMEDIAOPTF3U256 iemAImpl_vpcmpeqw_u256,   iemAImpl_vpcmpeqw_u256_fallback;
     3408FNIEMAIMPLMEDIAOPTF3U256 iemAImpl_vpcmpeqd_u256,   iemAImpl_vpcmpeqd_u256_fallback;
     3409FNIEMAIMPLMEDIAOPTF3U256 iemAImpl_vpcmpeqq_u256,   iemAImpl_vpcmpeqq_u256_fallback;
     3410FNIEMAIMPLMEDIAOPTF3U256 iemAImpl_vpcmpgtb_u256,   iemAImpl_vpcmpgtb_u256_fallback;
     3411FNIEMAIMPLMEDIAOPTF3U256 iemAImpl_vpcmpgtw_u256,   iemAImpl_vpcmpgtw_u256_fallback;
     3412FNIEMAIMPLMEDIAOPTF3U256 iemAImpl_vpcmpgtd_u256,   iemAImpl_vpcmpgtd_u256_fallback;
     3413FNIEMAIMPLMEDIAOPTF3U256 iemAImpl_vpcmpgtq_u256,   iemAImpl_vpcmpgtq_u256_fallback;
     3414FNIEMAIMPLMEDIAOPTF3U256 iemAImpl_vpaddb_u256,     iemAImpl_vpaddb_u256_fallback;
     3415FNIEMAIMPLMEDIAOPTF3U256 iemAImpl_vpaddw_u256,     iemAImpl_vpaddw_u256_fallback;
     3416FNIEMAIMPLMEDIAOPTF3U256 iemAImpl_vpaddd_u256,     iemAImpl_vpaddd_u256_fallback;
     3417FNIEMAIMPLMEDIAOPTF3U256 iemAImpl_vpaddq_u256,     iemAImpl_vpaddq_u256_fallback;
     3418FNIEMAIMPLMEDIAOPTF3U256 iemAImpl_vpsubb_u256,     iemAImpl_vpsubb_u256_fallback;
     3419FNIEMAIMPLMEDIAOPTF3U256 iemAImpl_vpsubw_u256,     iemAImpl_vpsubw_u256_fallback;
     3420FNIEMAIMPLMEDIAOPTF3U256 iemAImpl_vpsubd_u256,     iemAImpl_vpsubd_u256_fallback;
     3421FNIEMAIMPLMEDIAOPTF3U256 iemAImpl_vpsubq_u256,     iemAImpl_vpsubq_u256_fallback;
     3422FNIEMAIMPLMEDIAOPTF3U256 iemAImpl_vpminub_u256,    iemAImpl_vpminub_u256_fallback;
     3423FNIEMAIMPLMEDIAOPTF3U256 iemAImpl_vpminuw_u256,    iemAImpl_vpminuw_u256_fallback;
     3424FNIEMAIMPLMEDIAOPTF3U256 iemAImpl_vpminud_u256,    iemAImpl_vpminud_u256_fallback;
     3425FNIEMAIMPLMEDIAOPTF3U256 iemAImpl_vpminsb_u256,    iemAImpl_vpminsb_u256_fallback;
     3426FNIEMAIMPLMEDIAOPTF3U256 iemAImpl_vpminsw_u256,    iemAImpl_vpminsw_u256_fallback;
     3427FNIEMAIMPLMEDIAOPTF3U256 iemAImpl_vpminsd_u256,    iemAImpl_vpminsd_u256_fallback;
     3428FNIEMAIMPLMEDIAOPTF3U256 iemAImpl_vpmaxub_u256,    iemAImpl_vpmaxub_u256_fallback;
     3429FNIEMAIMPLMEDIAOPTF3U256 iemAImpl_vpmaxuw_u256,    iemAImpl_vpmaxuw_u256_fallback;
     3430FNIEMAIMPLMEDIAOPTF3U256 iemAImpl_vpmaxud_u256,    iemAImpl_vpmaxud_u256_fallback;
     3431FNIEMAIMPLMEDIAOPTF3U256 iemAImpl_vpmaxsb_u256,    iemAImpl_vpmaxsb_u256_fallback;
     3432FNIEMAIMPLMEDIAOPTF3U256 iemAImpl_vpmaxsw_u256,    iemAImpl_vpmaxsw_u256_fallback;
     3433FNIEMAIMPLMEDIAOPTF3U256 iemAImpl_vpmaxsd_u256,    iemAImpl_vpmaxsd_u256_fallback;
    34343434FNIEMAIMPLMEDIAOPTF3U256 iemAImpl_vpacksswb_u256,  iemAImpl_vpacksswb_u256_fallback;
    34353435FNIEMAIMPLMEDIAOPTF3U256 iemAImpl_vpackssdw_u256,  iemAImpl_vpackssdw_u256_fallback;
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette