The avr tools currently support around 200 devices and there are more, unsupported devices.
It makes hardly any sense to add a -mmcu=device switch for each and every target: For binutils, it's enough to know the instruction set architecture (ISA) to assemble for.
Thus, command line switches like -mdes and -matomic could greatly reduce the time until new devices are supported, because the compiler need not to wait until respective support in binutils is available:
The compiler could just call avr-as with -mmcu=core -mdes if it knows that the device supports the DES instruction and with -mmcu=core -mno-des, otherwise.
The options shall work as follows:
With -mdes, the assembler will accept and assemble the DES instruction.
With -mno-des, the assembler will issue an "unknown instruction" error.
If a device is specified with -mmcu= then the assembler knows the right setting for -m[no-]des and uses it, provided it is not explicitly overridden by -m[no-]des. Alternatively, -m[no-]des could be ignored in that case.
If a core like avr4 definitely does not support DES instruction, the option is ignored and the behavior the same as it would be with -mno-des.
Similar for -m[no-]atomics and the instructions XCH, LAC, LAS, LAT.
Meanwhile, there is -mrmw to support read-modify-write (LAS, LAC, LAT and XCH) instructions since 2.25: