In the attached testcase, gcc assigns the same register to several inline asm named operands resulting in incorrect code generated. Seems like names of operands do matter ('c' and 'count' are assigned the same register but renaming 'c' operand to 'xxc' for example makes this bug disappear).
-- Summary: Incorrectly assigned registers to operands for ARM inline asm Product: gcc Version: 4.1.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: inline-asm AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: siarhei dot siamashka at gmail dot com GCC target triplet: arm-softfloat-linux-gnueabi http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31693