I've found a small bug in GCC source code. At line 631 in gcc-4.6.4/gcc/config/m68k/m68k.c is: m68k_tune_flags = all_devices[dev]->flags; but should be: m68k_tune_flags = all_devices[dev].flags; you can see this if you configure gcc with --with-cpu=m68020-60 (or -40).
Yep, reproduced with --target=m68k-elf --with-cpu=m68020-60, affects 4.7.3, 4.8.2, and current 4.9/trunk (didn't check older unmaintained versions). Care to send a patch (against trunk) to gcc-patches?
Done. Thanks for testing!
Patch from Miro installed on trunk.