1 |
halcy0n 09/04/26 20:21:22 |
2 |
|
3 |
Modified: README.history |
4 |
Added: 79_all_arm_PR37436.patch |
5 |
Log: |
6 |
Add patch to 4.3.3 patchset as well |
7 |
|
8 |
Revision Changes Path |
9 |
1.6 src/patchsets/gcc/4.3.3/gentoo/README.history |
10 |
|
11 |
file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/gcc/4.3.3/gentoo/README.history?rev=1.6&view=markup |
12 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/gcc/4.3.3/gentoo/README.history?rev=1.6&content-type=text/plain |
13 |
diff : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/gcc/4.3.3/gentoo/README.history?r1=1.5&r2=1.6 |
14 |
|
15 |
Index: README.history |
16 |
=================================================================== |
17 |
RCS file: /var/cvsroot/gentoo/src/patchsets/gcc/4.3.3/gentoo/README.history,v |
18 |
retrieving revision 1.5 |
19 |
retrieving revision 1.6 |
20 |
diff -u -r1.5 -r1.6 |
21 |
--- README.history 15 Mar 2009 06:51:35 -0000 1.5 |
22 |
+++ README.history 26 Apr 2009 20:21:22 -0000 1.6 |
23 |
@@ -1,3 +1,5 @@ |
24 |
+1.2 pending |
25 |
+ + 79_all_arm-PR37436.patch |
26 |
1.1 15.03.2009 |
27 |
+ 65_all_gcc43-pr32044.patch |
28 |
+ 67_all_gcc43-pr35964.patch |
29 |
|
30 |
|
31 |
|
32 |
1.1 src/patchsets/gcc/4.3.3/gentoo/79_all_arm_PR37436.patch |
33 |
|
34 |
file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/gcc/4.3.3/gentoo/79_all_arm_PR37436.patch?rev=1.1&view=markup |
35 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/gcc/4.3.3/gentoo/79_all_arm_PR37436.patch?rev=1.1&content-type=text/plain |
36 |
|
37 |
Index: 79_all_arm_PR37436.patch |
38 |
=================================================================== |
39 |
Backport from gcc-4.4 to fix bug #265367 |
40 |
|
41 |
http://gcc.gnu.org/PR37436 |
42 |
|
43 |
Index: gcc/config/arm/arm.c |
44 |
=================================================================== |
45 |
--- gcc/config/arm/arm.c (revision 142777) |
46 |
+++ gcc/config/arm/arm.c (revision 142778) |
47 |
@@ -3844,6 +3844,7 @@ |
48 |
rtx xop1 = XEXP (x, 1); |
49 |
|
50 |
return ((arm_address_register_rtx_p (xop0, strict_p) |
51 |
+ && GET_CODE(xop1) == CONST_INT |
52 |
&& arm_legitimate_index_p (mode, xop1, outer, strict_p)) |
53 |
|| (arm_address_register_rtx_p (xop1, strict_p) |
54 |
&& arm_legitimate_index_p (mode, xop0, outer, strict_p))); |
55 |
Index: gcc/config/arm/predicates.md |
56 |
=================================================================== |
57 |
--- gcc/config/arm/predicates.md (revision 142777) |
58 |
+++ gcc/config/arm/predicates.md (revision 142778) |
59 |
@@ -234,6 +234,10 @@ |
60 |
(match_test "arm_legitimate_address_p (mode, XEXP (op, 0), SIGN_EXTEND, |
61 |
0)"))) |
62 |
|
63 |
+(define_special_predicate "arm_reg_or_extendqisi_mem_op" |
64 |
+ (ior (match_operand 0 "arm_extendqisi_mem_op") |
65 |
+ (match_operand 0 "s_register_operand"))) |
66 |
+ |
67 |
(define_predicate "power_of_two_operand" |
68 |
(match_code "const_int") |
69 |
{ |
70 |
Index: gcc/config/arm/arm.md |
71 |
=================================================================== |
72 |
--- gcc/config/arm/arm.md (revision 142777) |
73 |
+++ gcc/config/arm/arm.md (revision 142778) |
74 |
@@ -4299,7 +4299,7 @@ |
75 |
|
76 |
(define_expand "extendqihi2" |
77 |
[(set (match_dup 2) |
78 |
- (ashift:SI (match_operand:QI 1 "general_operand" "") |
79 |
+ (ashift:SI (match_operand:QI 1 "arm_reg_or_extendqisi_mem_op" "") |
80 |
(const_int 24))) |
81 |
(set (match_operand:HI 0 "s_register_operand" "") |
82 |
(ashiftrt:SI (match_dup 2) |
83 |
@@ -4324,7 +4324,7 @@ |
84 |
|
85 |
(define_insn "*arm_extendqihi_insn" |
86 |
[(set (match_operand:HI 0 "s_register_operand" "=r") |
87 |
- (sign_extend:HI (match_operand:QI 1 "memory_operand" "Uq")))] |
88 |
+ (sign_extend:HI (match_operand:QI 1 "arm_extendqisi_mem_op" "Uq")))] |
89 |
"TARGET_ARM && arm_arch4" |
90 |
"ldr%(sb%)\\t%0, %1" |
91 |
[(set_attr "type" "load_byte") |
92 |
@@ -4335,7 +4335,7 @@ |
93 |
|
94 |
(define_expand "extendqisi2" |
95 |
[(set (match_dup 2) |
96 |
- (ashift:SI (match_operand:QI 1 "general_operand" "") |
97 |
+ (ashift:SI (match_operand:QI 1 "arm_reg_or_extendqisi_mem_op" "") |
98 |
(const_int 24))) |
99 |
(set (match_operand:SI 0 "s_register_operand" "") |
100 |
(ashiftrt:SI (match_dup 2) |
101 |
@@ -4367,7 +4367,7 @@ |
102 |
|
103 |
(define_insn "*arm_extendqisi" |
104 |
[(set (match_operand:SI 0 "s_register_operand" "=r") |
105 |
- (sign_extend:SI (match_operand:QI 1 "memory_operand" "Uq")))] |
106 |
+ (sign_extend:SI (match_operand:QI 1 "arm_extendqisi_mem_op" "Uq")))] |
107 |
"TARGET_ARM && arm_arch4 && !arm_arch6" |
108 |
"ldr%(sb%)\\t%0, %1" |
109 |
[(set_attr "type" "load_byte") |
110 |
@@ -4378,7 +4378,8 @@ |
111 |
|
112 |
(define_insn "*arm_extendqisi_v6" |
113 |
[(set (match_operand:SI 0 "s_register_operand" "=r,r") |
114 |
- (sign_extend:SI (match_operand:QI 1 "nonimmediate_operand" "r,Uq")))] |
115 |
+ (sign_extend:SI |
116 |
+ (match_operand:QI 1 "arm_reg_or_extendqisi_mem_op" "r,Uq")))] |
117 |
"TARGET_ARM && arm_arch6" |
118 |
"@ |
119 |
sxtb%?\\t%0, %1 |