How to use GNU ARM binutils for cortex-M4? When I try to compile with -mcpu=cortex-M4 -march=armV7e-m I get 'bad value in switches'.
Compilers get better over time, in terms of code generation quality. I would suggest trying the latest compiler version you can lay your hands on.
HTH, Pete