VirtualBox

Changeset 103361 in vbox for trunk


Ignore:
Timestamp:
Feb 14, 2024 3:21:40 PM (8 months ago)
Author:
vboxsync
Message:

VMM/IEM: Shut up parfait warning in iemAImpl_pcmpxstrx_cmp_override_if_invalid (should simplify address calculation this way). bugref:3409 bugref:9898

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMAll/IEMAllAImplC.cpp

    r103279 r103361  
    1757917579 * Valid/Invalid override of comparisons (Table 4-7 from 4.1.6 of SDM).
    1758017580 */
    17581 static const bool g_afCmpOverride[4][3] =
    17582 {
    17583     /*  xmm1 AND xmm2/m128 invalid      xmm1 invalid, xmm2/m128 valid       xmm1 valid, xmm2/m128 invalid */
    17584     {                        false,                             false,                                false }, /* Imm8[3:2] = 00b (equal any)     */
    17585     {                        false,                             false,                                false }, /* Imm8[3:2] = 01b (ranges)        */
    17586     {                        true,                              false,                                false }, /* Imm8[3:2] = 10b (equal each)    */
    17587     {                        true,                              true,                                  false }, /* Imm8[3:2] = 11b (equal ordered) */
     17581static const bool g_afCmpOverride[4][4] =
     17582{
     17583    /* xmm1 AND xmm2/m128 invalid, xmm1 invalid BUT xmm2/m128 valid, xmm1 valid BUT xmm2/m128 invalid, unused dummy/padding for parfait */
     17584    {                       false,                            false,                            false, false }, /* Imm8[3:2] = 00b (equal any)     */
     17585    {                       false,                            false,                            false, false }, /* Imm8[3:2] = 01b (ranges)        */
     17586    {                        true,                            false,                            false, false }, /* Imm8[3:2] = 10b (equal each)    */
     17587    {                        true,                             true,                            false, false }, /* Imm8[3:2] = 11b (equal ordered) */
    1758817588};
    1758917589
     
    1759317593        return fCmpRes;
    1759417594
    17595     uint8_t bSrc1Valid = fSrc1Valid ? 2 : 0;
    17596     uint8_t bSrc2Valid = fSrc2Valid ? 1 : 0;
     17595    uint8_t const bSrc1Valid = fSrc1Valid ? 2 : 0;
     17596    uint8_t const bSrc2Valid = fSrc2Valid ? 1 : 0;
    1759717597    return g_afCmpOverride[bAggOp][bSrc1Valid + bSrc2Valid];
    1759817598}
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