Gentoo Archives: gentoo-commits

From: "Mark Loeser (halcy0n)" <halcy0n@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo commit in src/patchsets/gcc/4.3.3/gentoo: 79_all_arm_PR37436.patch README.history
Date: Sun, 26 Apr 2009 20:21:25
Message-Id: E1LyAqo-0002YF-OM@stork.gentoo.org
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