Merge lp:~rsandifo/gcc-linaro/lp803232-4.5 into lp:gcc-linaro/4.5

Proposed by Richard Sandiford
Status: Merged
Approved by: Ramana Radhakrishnan
Approved revision: no longer in the source branch.
Merged at revision: 99523
Proposed branch: lp:~rsandifo/gcc-linaro/lp803232-4.5
Merge into: lp:gcc-linaro/4.5
Diff against target: 126 lines (+78/-13)
3 files modified
ChangeLog.linaro (+14/-0)
gcc/reload1.c (+3/-13)
gcc/testsuite/gcc.target/arm/neon-modes-3.c (+61/-0)
To merge this branch: bzr merge lp:~rsandifo/gcc-linaro/lp803232-4.5
Reviewer Review Type Date Requested Status
Linaro Toolchain Developers Pending
Review via email: mp+67521@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Linaro Toolchain Builder (cbuild) wrote :

cbuild has taken a snapshot of this branch at r99522 and queued it for build.

The snapshot is available at:
 http://ex.seabright.co.nz/snapshots/gcc-linaro-4.5+bzr99522~rsandifo~lp803232-4.5.tar.xdelta3.xz

and will be built on the following builders:
 a9-builder armv5-builder i686 x86_64

You can track the build queue at:
 http://ex.seabright.co.nz/helpers/scheduler

cbuild-snapshot: gcc-linaro-4.5+bzr99522~rsandifo~lp803232-4.5
cbuild-ancestor: lp:gcc-linaro+bzr99521
cbuild-state: check

Revision history for this message
Linaro Toolchain Builder (cbuild) wrote :

cbuild successfully built this on x86_64-natty-cbuild152-oort3-x86_64r1.

The build results are available at:
 http://ex.seabright.co.nz/build/gcc-linaro-4.5+bzr99522~rsandifo~lp803232-4.5/logs/x86_64-natty-cbuild152-oort3-x86_64r1

The test suite results were unchanged compared to the branch point lp:gcc-linaro+bzr99521.

The full testsuite results are at:
 http://ex.seabright.co.nz/build/gcc-linaro-4.5+bzr99522~rsandifo~lp803232-4.5/logs/x86_64-natty-cbuild152-oort3-x86_64r1/gcc-testsuite.txt

cbuild-checked: x86_64-natty-cbuild152-oort3-x86_64r1

Revision history for this message
Linaro Toolchain Builder (cbuild) wrote :

cbuild successfully built this on i686-natty-cbuild152-oort4-i686r1.

The build results are available at:
 http://ex.seabright.co.nz/build/gcc-linaro-4.5+bzr99522~rsandifo~lp803232-4.5/logs/i686-natty-cbuild152-oort4-i686r1

The test suite results were unchanged compared to the branch point lp:gcc-linaro+bzr99521.

The full testsuite results are at:
 http://ex.seabright.co.nz/build/gcc-linaro-4.5+bzr99522~rsandifo~lp803232-4.5/logs/i686-natty-cbuild152-oort4-i686r1/gcc-testsuite.txt

cbuild-checked: i686-natty-cbuild152-oort4-i686r1

Revision history for this message
Ramana Radhakrishnan (ramana) wrote :

The patch looks ok but I'll wait for the ARM test results to come back.

Ramana

Revision history for this message
Linaro Toolchain Builder (cbuild) wrote :

cbuild successfully built this on armv7l-natty-cbuild157-ursa2-armv5r2.

The build results are available at:
 http://ex.seabright.co.nz/build/gcc-linaro-4.5+bzr99522~rsandifo~lp803232-4.5/logs/armv7l-natty-cbuild157-ursa2-armv5r2

The test suite results changed compared to the branch point lp:gcc-linaro+bzr99521:
 +PASS: gcc.target/arm/neon-modes-3.c (test for excess errors)

The full testsuite results are at:
 http://ex.seabright.co.nz/build/gcc-linaro-4.5+bzr99522~rsandifo~lp803232-4.5/logs/armv7l-natty-cbuild157-ursa2-armv5r2/gcc-testsuite.txt

cbuild-checked: armv7l-natty-cbuild157-ursa2-armv5r2

Revision history for this message
Michael Hope (michaelh1) wrote :

The A9 build got lost. I've kicked it now.

Revision history for this message
Michael Hope (michaelh1) wrote :

cbuild successfully built this on armv7l-natty-cbuild158-ursa3-cortexa9r1.

The build results are available at:
 http://ex.seabright.co.nz/build/gcc-linaro-4.5+bzr99522~rsandifo~lp803232-4.5/logs/armv7l-natty-cbuild158-ursa3-cortexa9r1

+PASS: gcc.target/arm/neon-modes-3.c (test for excess errors)

The full testsuite results are at:
 http://ex.seabright.co.nz/build/gcc-linaro-4.5+bzr99522~rsandifo~lp803232-4.5/logs/armv7l-natty-cbuild158-ursa3-cortexa9r1/gcc-testsuite.txt

cbuild-checked: armv7l-natty-cbuild158-ursa3-cortexa9r1

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'ChangeLog.linaro'
2--- ChangeLog.linaro 2011-07-08 12:54:44 +0000
3+++ ChangeLog.linaro 2011-07-11 10:55:29 +0000
4@@ -1,3 +1,17 @@
5+2011-07-11 Richard Sandiford <richard.sandiford@linaro.org>
6+
7+ Backport from mainline:
8+ gcc/
9+ 2011-07-07 Richard Sandiford <richard.sandiford@linaro.org>
10+
11+ * reload1.c (choose_reload_regs): Use mode sizes to check whether
12+ an old reload register completely defines the required value.
13+
14+ gcc/testsuite/
15+ 2011-07-07 Richard Sandiford <richard.sandiford@linaro.org>
16+
17+ * gcc.target/arm/neon-modes-3.c: New test.
18+
19 2011-07-08 Richard Sandiford <rdsandiford@googlemail.com>
20
21 gcc/
22
23=== modified file 'gcc/reload1.c'
24--- gcc/reload1.c 2011-07-01 09:27:50 +0000
25+++ gcc/reload1.c 2011-07-11 10:55:29 +0000
26@@ -6449,6 +6449,8 @@
27
28 if (regno >= 0
29 && reg_last_reload_reg[regno] != 0
30+ && (GET_MODE_SIZE (GET_MODE (reg_last_reload_reg[regno]))
31+ >= GET_MODE_SIZE (mode) + byte)
32 #ifdef CANNOT_CHANGE_MODE_CLASS
33 /* Verify that the register it's in can be used in
34 mode MODE. */
35@@ -6460,24 +6462,12 @@
36 {
37 enum reg_class rclass = rld[r].rclass, last_class;
38 rtx last_reg = reg_last_reload_reg[regno];
39- enum machine_mode need_mode;
40
41 i = REGNO (last_reg);
42 i += subreg_regno_offset (i, GET_MODE (last_reg), byte, mode);
43 last_class = REGNO_REG_CLASS (i);
44
45- if (byte == 0)
46- need_mode = mode;
47- else
48- need_mode
49- = smallest_mode_for_size
50- (GET_MODE_BITSIZE (mode) + byte * BITS_PER_UNIT,
51- GET_MODE_CLASS (mode) == MODE_PARTIAL_INT
52- ? MODE_INT : GET_MODE_CLASS (mode));
53-
54- if ((GET_MODE_SIZE (GET_MODE (last_reg))
55- >= GET_MODE_SIZE (need_mode))
56- && reg_reloaded_contents[i] == regno
57+ if (reg_reloaded_contents[i] == regno
58 && TEST_HARD_REG_BIT (reg_reloaded_valid, i)
59 && HARD_REGNO_MODE_OK (i, rld[r].mode)
60 && (TEST_HARD_REG_BIT (reg_class_contents[(int) rclass], i)
61
62=== added file 'gcc/testsuite/gcc.target/arm/neon-modes-3.c'
63--- gcc/testsuite/gcc.target/arm/neon-modes-3.c 1970-01-01 00:00:00 +0000
64+++ gcc/testsuite/gcc.target/arm/neon-modes-3.c 2011-07-11 10:55:29 +0000
65@@ -0,0 +1,61 @@
66+/* { dg-do compile } */
67+/* { dg-require-effective-target arm_neon_ok } */
68+/* { dg-options "-O" } */
69+/* { dg-add-options arm_neon } */
70+
71+#include <arm_neon.h>
72+
73+void f1 (volatile float32x4_t *dest, volatile float32x4x4_t *src, int n)
74+{
75+ float32x4x4_t a5, a6, a7, a8, a9;
76+ int i;
77+
78+ a5 = *src;
79+ a6 = *src;
80+ a7 = *src;
81+ a8 = *src;
82+ a9 = *src;
83+ while (n--)
84+ {
85+ for (i = 0; i < 8; i++)
86+ {
87+ float32x4x4_t a0, a1, a2, a3, a4;
88+
89+ a0 = *src;
90+ a1 = *src;
91+ a2 = *src;
92+ a3 = *src;
93+ a4 = *src;
94+ *src = a0;
95+ *dest = a0.val[0];
96+ *dest = a0.val[3];
97+ *src = a1;
98+ *dest = a1.val[0];
99+ *dest = a1.val[3];
100+ *src = a2;
101+ *dest = a2.val[0];
102+ *dest = a2.val[3];
103+ *src = a3;
104+ *dest = a3.val[0];
105+ *dest = a3.val[3];
106+ *src = a4;
107+ *dest = a4.val[0];
108+ *dest = a4.val[3];
109+ }
110+ *src = a5;
111+ *dest = a5.val[0];
112+ *dest = a5.val[3];
113+ *src = a6;
114+ *dest = a6.val[0];
115+ *dest = a6.val[3];
116+ *src = a7;
117+ *dest = a7.val[0];
118+ *dest = a7.val[3];
119+ *src = a8;
120+ *dest = a8.val[0];
121+ *dest = a8.val[3];
122+ *src = a9;
123+ *dest = a9.val[0];
124+ *dest = a9.val[3];
125+ }
126+}

Subscribers

People subscribed via source and target branches