When in 64-bit target, the 32-bit operands generate a 32-bit result,
zero-extended to a 64-bit result in the destination general-purpose.
It means "mov x %ebx" will clobber the higher 32 bits of rbx, so we
should preserve the 64-bit register rbx in __SSC_MARK.
I seems we usually use #ifdef __i386__ or #if defined(__i386__)