Index: /trunk/src/VBox/VMM/VMMAll/IEMAll.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMAll/IEMAll.cpp	(revision 36768)
+++ /trunk/src/VBox/VMM/VMMAll/IEMAll.cpp	(revision 36769)
@@ -1940,5 +1940,5 @@
         case IEMMODE_32BIT:
         {
-            RTGCPTR32 GCPtrFirst32 = *pGCPtrMem;
+            RTGCPTR32 GCPtrFirst32 = (RTGCPTR32)*pGCPtrMem;
             RTGCPTR32 GCPtrLast32  = GCPtrFirst32 + cbMem - 1;
 
@@ -2225,5 +2225,5 @@
     uint8_t        *pbBuf        = &pIemCpu->aBounceBuffers[iMemMap].ab[0];
     uint32_t const  cbFirstPage  = PAGE_SIZE - (GCPhysFirst & PAGE_OFFSET_MASK);
-    uint32_t const  cbSecondPage = cbMem - cbFirstPage;
+    uint32_t const  cbSecondPage = (uint32_t)(cbMem - cbFirstPage);
 
     if (fAccess & (IEM_ACCESS_TYPE_READ | IEM_ACCESS_TYPE_EXEC))
@@ -3109,6 +3109,7 @@
 static VBOXSTRICTRC iemMemStackPushBeginSpecial(PIEMCPU pIemCpu, size_t cbMem, void **ppvMem, uint64_t *puNewRsp)
 {
+    Assert(cbMem < UINT8_MAX);
     PCPUMCTX    pCtx     = pIemCpu->CTX_SUFF(pCtx);
-    RTGCPTR     GCPtrTop = iemRegGetRspForPush(pCtx, cbMem, puNewRsp);
+    RTGCPTR     GCPtrTop = iemRegGetRspForPush(pCtx, (uint8_t)cbMem, puNewRsp);
     return iemMemMap(pIemCpu, ppvMem, cbMem, X86_SREG_SS, GCPtrTop, IEM_ACCESS_STACK_W);
 }
@@ -3151,6 +3152,7 @@
 static VBOXSTRICTRC iemMemStackPopBeginSpecial(PIEMCPU pIemCpu, size_t cbMem, void const **ppvMem, uint64_t *puNewRsp)
 {
+    Assert(cbMem < UINT8_MAX);
     PCPUMCTX    pCtx     = pIemCpu->CTX_SUFF(pCtx);
-    RTGCPTR     GCPtrTop = iemRegGetRspForPop(pCtx, cbMem, puNewRsp);
+    RTGCPTR     GCPtrTop = iemRegGetRspForPop(pCtx, (uint8_t)cbMem, puNewRsp);
     return iemMemMap(pIemCpu, (void **)ppvMem, cbMem, X86_SREG_SS, GCPtrTop, IEM_ACCESS_STACK_R);
 }
@@ -3198,5 +3200,5 @@
     {
         if (   !pCtx->ldtrHid.Attr.n.u1Present
-            || (uSel | 0x7) > pCtx->ldtrHid.u32Limit )
+            || (uSel | 0x7U) > pCtx->ldtrHid.u32Limit )
         {
             Log(("iemMemFetchSelDesc: LDT selector %#x is out of bounds (%3x) or ldtr is NP (%#x)\n",
@@ -3211,5 +3213,5 @@
     else
     {
-        if ((uSel | 0x7) > pCtx->gdtr.cbGdt)
+        if ((uSel | 0x7U) > pCtx->gdtr.cbGdt)
         {
             Log(("iemMemFetchSelDesc: GDT selector %#x is out of bounds (%3x)\n", uSel, pCtx->gdtr.cbGdt));
Index: /trunk/src/VBox/VMM/VMMAll/IEMAllInstructions.cpp.h
===================================================================
--- /trunk/src/VBox/VMM/VMMAll/IEMAllInstructions.cpp.h	(revision 36768)
+++ /trunk/src/VBox/VMM/VMMAll/IEMAllInstructions.cpp.h	(revision 36769)
@@ -7713,5 +7713,4 @@
 {
     uint8_t bRm; IEM_OPCODE_GET_NEXT_BYTE(pIemCpu, &bRm);
-    PCIEMOPUNARYSIZES pImpl;
     switch ((bRm >> X86_MODRM_REG_SHIFT) & X86_MODRM_REG_SMASK)
     {
