2010-07-26 Julian Brown Merge from Sourcery G++ 4.4: 2007-07-05 Mark Shinwell gcc/ * config/arm/arm.h (BRANCH_COST): Set to 1 when optimizing for size on Thumb-2. 2010-08-05 Andrew Stubbs gcc/testsuite/ === modified file 'gcc/config/arm/arm.h' --- old/gcc/config/arm/arm.h 2010-08-03 10:40:56 +0000 +++ new/gcc/config/arm/arm.h 2010-08-05 14:29:52 +0000 @@ -2210,7 +2210,8 @@ /* Try to generate sequences that don't involve branches, we can then use conditional instructions */ #define BRANCH_COST(speed_p, predictable_p) \ - (TARGET_32BIT ? 4 : (optimize > 0 ? 2 : 0)) + (TARGET_32BIT ? (TARGET_THUMB2 && optimize_size ? 1 : 4) \ + : (optimize > 0 ? 2 : 0)) /* Position Independent Code. */ /* We decide which register to use based on the compilation options and