The Intel documentation does not specify wether mov R8d , -1 will also zero the high dword of R8, or leave it intact.
The Microsoft Visual C++ (2010) translate the C line a = myfunc(par1, par2, 3) ; into
mov RCX, par1 ; mov RDX, par2 ; mov R8b, 3 ; call myfunc; move qword ptr [a], RAX
IF the behaviour is implementation-dependent, some processors may crash....
IF the high dword is set to zero when moving to the low dword, why not say it clearly?
