2010-07-26  Julian Brown  <julian@codesourcery.com>

	Merge from Sourcery G++ 4.4:

	2007-07-05  Mark Shinwell  <shinwell@codesourcery.com>

	gcc/
	* config/arm/arm.h (BRANCH_COST): Set to 1 when optimizing for size
	on Thumb-2.

 2010-08-05  Andrew Stubbs  <ams@codesourcery.com>
 
 	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

