------- Comment #3 from jingyu at google dot com 2010-05-11 17:56 ------- I configure gcc with --with-arch=armv5te. The default multilib will be compiled in ARM mode. The error happens when I build the armv7-a/thumb multilib. I checked the config.log for armv7-a/thumb/libgcc, libgcc was indeed configured with -march=armv7-a -mthumb. So the code will be generated in thumb2 mode.
In gcc/config/arm/lib1funcs.asm, "do_it hs, t" means "itt hs". The condition of the IT block must match the condition of the instructions inside. "hs" here looks like a typo. I change "hs" into "ne", then lib1funcs.asm is compiled. This IT block is rephrased into 5e: 2800 cmp r0, #0 60: bf1c itt ne 62: ea5f 1313 movsne.w r3, r3, lsr #4 66: 0909 lsrne r1, r1, #4 Am I correct? Thanks. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43999