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")]
)
|