https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70028
--- Comment #1 from Zdenek Sojka <zsojka at seznam dot cz> --- The documentation is quite interesting - if the second operand is a register, it is always a 32bit register (eg. ebx); if it is a memory operand, it has to be a BYTE/WORD.