You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Return values have garbage outside the width of the return type.
Function args are different: narrow types are sign or zero extended to 32 bits, depending on their type. clang depends on this for incoming args, but gcc doesn't make that assumption. But both compilers do it when calling, so gcc code can call clang code.
The upper 32 bits of registers are always undefined garbage for types smaller than 64 bits.
It is currently not clear if the excess bits are zero, determined by sign extension, or undefined.
For example, if a function returns type
int
, the upper 32 bits of%rax
could be:int
) is negative, zero otherwiseThe text was updated successfully, but these errors were encountered: