http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58424
--- Comment #2 from bin.cheng <amker.cheng at gmail dot com> --- Yes, It works for below combination of options: -mthumb -mcpu=cortex-m4 -mthumb/-marm -march=armv7-a/-mcpu=cortex-a7 But still happens for: -mthumb -mcpu=cortex-m3 -mthumb/-marm -mcpu=cortex-a7/-mcpu=cortex-a12/-mcpu=cortex-a9/-mcpu=cortex-a15 Maybe it has something to do with the rtx cost. I will look into it later.