http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56441
Bug #: 56441 Summary: [ARM Thumb] generated asm code produces "branch out of range" error in gas with -O1 -mcpu=cortex-m3 Classification: Unclassified Product: gcc Version: 4.7.3 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target AssignedTo: unassig...@gcc.gnu.org ReportedBy: gnu...@emblocks.org Already applied patch 43961. Only with -O1 (other optimizations levels are going well). The .LVL137 (cbnz) is giving the error. snippet: strb r4, [r0, #30] .LVL136: .loc 1 2362 0 ldrb r1, [r1, #15] @ zero_extendqisi2 .LVL137: cbnz r1, .L35 .LVL138: .loc 1 2366 0 mov r1, #30 b .L6 .LVL139: