Changeset 98480 in vbox
- Timestamp:
- Feb 6, 2023 6:01:43 PM (2 years ago)
- svn:sync-xref-src-repo-rev:
- 155737
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/IEMAllAImplC.cpp
r98311 r98480 17132 17132 */ 17133 17133 17134 #define X86_SSE_ROUNDXX_IMM_RC_MASK UINT32_C(0x0003) 17135 #define X86_SSE_ROUNDXX_IMM_ROUND_SEL UINT32_C(0x0004) 17136 #define X86_SSE_ROUNDXX_IMM_PRECISION UINT32_C(0x0008) 17134 #define X86_SSE_ROUNDXX_IMM_RC_MASK UINT8_C(0x03) 17135 #define X86_SSE_ROUNDXX_IMM_ROUND_SEL UINT8_C(0x04) 17136 #define X86_SSE_ROUNDXX_IMM_PRECISION UINT8_C(0x08) 17137 17138 #define X86_SSE_ROUNDXX_IMM_MASK UINT8_C(0x0F) 17137 17139 17138 17140 DECLINLINE(softfloat_state_t) iemSseRoundXXMxcsrAndImmToSoftState(uint32_t fMxcsr, uint8_t bImm) … … 17177 17179 IEM_DECL_IMPL_DEF(void, iemAImpl_roundss_u128,(uint32_t *pfMxcsr, PX86XMMREG puDst, PCIEMMEDIAF2XMMSRC pSrc, uint8_t bImm)) 17178 17180 { 17179 puDst->ar32[0] = iemAImpl_round_worker_r32(pfMxcsr, &pSrc->uSrc2.ar32[0], bImm & 0x7);17181 puDst->ar32[0] = iemAImpl_round_worker_r32(pfMxcsr, &pSrc->uSrc2.ar32[0], bImm & X86_SSE_ROUNDXX_IMM_MASK); 17180 17182 puDst->au32[1] = pSrc->uSrc1.au32[1]; 17181 17183 puDst->au64[1] = pSrc->uSrc1.au64[1]; … … 17185 17187 IEM_DECL_IMPL_DEF(void, iemAImpl_roundsd_u128,(uint32_t *pfMxcsr, PX86XMMREG puDst, PCIEMMEDIAF2XMMSRC pSrc, uint8_t bImm)) 17186 17188 { 17187 puDst->ar64[0] = iemAImpl_round_worker_r64(pfMxcsr, &pSrc->uSrc2.ar64[0], bImm & 0x7);17189 puDst->ar64[0] = iemAImpl_round_worker_r64(pfMxcsr, &pSrc->uSrc2.ar64[0], bImm & X86_SSE_ROUNDXX_IMM_MASK); 17188 17190 puDst->au64[1] = pSrc->uSrc1.au64[1]; 17189 17191 } … … 17194 17196 for (uint8_t i = 0; i < RT_ELEMENTS(puDst->ar32); i++) 17195 17197 { 17196 puDst->ar32[i] = iemAImpl_round_worker_r32(pfMxcsr, &pSrc->uSrc2.ar32[i], bImm & 0x7);17198 puDst->ar32[i] = iemAImpl_round_worker_r32(pfMxcsr, &pSrc->uSrc2.ar32[i], bImm & X86_SSE_ROUNDXX_IMM_MASK); 17197 17199 } 17198 17200 } … … 17203 17205 for (uint8_t i = 0; i < RT_ELEMENTS(puDst->ar64); i++) 17204 17206 { 17205 puDst->ar64[i] = iemAImpl_round_worker_r64(pfMxcsr, &pSrc->uSrc2.ar64[i], bImm & 0x7);17207 puDst->ar64[i] = iemAImpl_round_worker_r64(pfMxcsr, &pSrc->uSrc2.ar64[i], bImm & X86_SSE_ROUNDXX_IMM_MASK); 17206 17208 } 17207 17209 }
Note:
See TracChangeset
for help on using the changeset viewer.