summaryrefslogtreecommitdiffstats
path: root/toolchain-layer/recipes-devtools/gcc/gcc-4.6/linaro/gcc-4.6-linaro-r106863.patch
blob: e93493f17fb3826e66e5ead4a1095dadf731e0e4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
 2012-01-16  Michael Hope  <michael.hope@linaro.org>
 
	Backport from mainline r182561:

	2011-12-20  Richard Henderson  <rth@redhat.com>

	gcc/
	* config/arm/arm.md (*arm_cmpdi_unsigned): Enable for thumb2.
	* config/arm/arm.c (arm_select_cc_mode): Use it.

=== modified file 'gcc/config/arm/arm.c'
--- old/gcc/config/arm/arm.c	2012-01-15 22:02:31 +0000
+++ new/gcc/config/arm/arm.c	2012-01-23 00:06:27 +0000
@@ -11602,7 +11602,7 @@
 	    return CC_Zmode;
 
 	  /* We can do an equality test in three Thumb instructions.  */
-	  if (!TARGET_ARM)
+	  if (!TARGET_32BIT)
 	    return CC_Zmode;
 
 	  /* FALLTHROUGH */
@@ -11614,7 +11614,7 @@
 	  /* DImode unsigned comparisons can be implemented by cmp +
 	     cmpeq without a scratch register.  Not worth doing in
 	     Thumb-2.  */
-	  if (TARGET_ARM)
+	  if (TARGET_32BIT)
 	    return CC_CZmode;
 
 	  /* FALLTHROUGH */

=== modified file 'gcc/config/arm/arm.md'
--- old/gcc/config/arm/arm.md	2012-01-05 15:35:39 +0000
+++ new/gcc/config/arm/arm.md	2012-01-15 21:02:00 +0000
@@ -7515,8 +7515,8 @@
   [(set (reg:CC_CZ CC_REGNUM)
 	(compare:CC_CZ (match_operand:DI 0 "s_register_operand" "r")
 		       (match_operand:DI 1 "arm_di_operand"	"rDi")))]
-  "TARGET_ARM"
-  "cmp%?\\t%R0, %R1\;cmpeq\\t%Q0, %Q1"
+  "TARGET_32BIT"
+  "cmp\\t%R0, %R1\;it eq\;cmpeq\\t%Q0, %Q1"
   [(set_attr "conds" "set")
    (set_attr "length" "8")]
 )