In GAS syntax, instruction sizes are usually explicitly defined. You use movl here because you're dealing with 32-bit values:
However, you would use movw for a different size:
Generally, the instruction size can be inferred, but suppose you have a variable:
How does GAS know the size?
In NASM syntax, however, instruction size is inferred by the operands, so you deal with a syntax that is a lot closer to the machine code.