It surely works. This is common misunderstanding between CPU size and memory alignment.
There are compiler options to set the size of int to 16 bits or 32 bits.
However actual size of CPU is not...