This ticket appears to be the same as: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52294. a case where gcc generates a cbz instruction that ends up trying to reach too far.
Attaching the assembly file mp.s generated with: asa-san@ursa4:~/bugs/mp$ /scratch/asa-san/cbuild/slaves/ursa4/gcc-linaro-4.6-2012.01/gcc-binary/bin/gcc -c -o mp.o mp.c -O3 -funroll-loops -save-temps -dp mp.s: Assembler messages: mp.s:116: Error: branch out of range mp.s:343: Error: branch out of range The patch by Richard Earnshaw affects the pattern *thumb2_shiftsi3_short in the backend. Looking into mp.s, there are a lot of instructions that were generated from this pattern by the compiler. lsls r3, r3, #2 @ 426 *thumb2_shiftsi3_short [length = 2] The patch will become availabel in gcc-linaro-4.6 on the nextmerge from FSF trunk. and that should solve this issue. ** Bug watch added: GCC Bugzilla #52294 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52294 ** Attachment added: "mp.s.tar.xz" https://bugs.launchpad.net/ubuntu/+source/gcc-4.6/+bug/926855/+attachment/2778566/+files/mp.s.tar.xz -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/926855 Title: [ARMhf] gcc produces assembler it can't compile To manage notifications about this bug go to: https://bugs.launchpad.net/gcc-linaro/+bug/926855/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs