Merge lp:~uweigand/gcc-linaro/neon-extendsidi-4.7 into lp:gcc-linaro/4.7
- neon-extendsidi-4.7
- Merge into 4.7
Status: | Rejected |
---|---|
Rejected by: | Ulrich Weigand |
Proposed branch: | lp:~uweigand/gcc-linaro/neon-extendsidi-4.7 |
Merge into: | lp:gcc-linaro/4.7 |
To merge this branch: | bzr merge lp:~uweigand/gcc-linaro/neon-extendsidi-4.7 |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Michael Hope | Pending | ||
Andrew Stubbs | Pending | ||
Review via email: mp+103442@code.launchpad.net |
This proposal supersedes a proposal from 2012-04-17.
Commit message
Description of the change
Better optimize SI->DI extends that move from core to NEON registers.
Patch posted upstream here:
http://
UPDATE 20120327: the shifts patch should be fixed now. This patch needs that patch as prerequisite.
UPDATE 20120404: fixed misapplied patch.
UPDATE 20120411: Fix latent bug with QImode memory loads
UPDATE 20120417: Add new alternative for modify-in-place case (Uli's suggestion).
UPDATE 20120425: Removed the debug code that was left in. :(
Michael Hope (michaelh1) wrote : Posted in a previous version of this proposal | # |
Michael Hope (michaelh1) wrote : Posted in a previous version of this proposal | # |
cbuild had trouble building this on armv7l-
See the *failed.txt logs under the build results at:
http://
The test suite results were not checked.
cbuild-checked: armv7l-
Michael Hope (michaelh1) wrote : Posted in a previous version of this proposal | # |
cbuild successfully built this on x86_64-
The build results are available at:
http://
The testsuite results are the same as the branch point lp:gcc-linaro/4.7+bzr114969
The full diff is at:
http://
The full testsuite results are at:
http://
cbuild-checked: x86_64-
Andrew Stubbs (ams-codesourcery) wrote : Posted in a previous version of this proposal | # |
I forgot that this patch depends on the neon-shifts patch! I'll resubmit when that one works.
Michael Hope (michaelh1) wrote : Posted in a previous version of this proposal | # |
cbuild successfully built this on armv7l-
The build results are available at:
http://
-PASS: gcc.dg/
-PASS: gcc.dg/
-PASS: gcc.dg/
-PASS: gcc.dg/
+FAIL: gcc.dg/
+FAIL: gcc.dg/
+FAIL: gcc.dg/
+FAIL: gcc.dg/
+UNRESOLVED: gcc.dg/
+UNRESOLVED: gcc.dg/
+FAIL: gcc.target/
+FAIL: gcc.target/
+UNRESOLVED: gcc.target/
+UNRESOLVED: gcc.target/
+FAIL: gcc.target/
+FAIL: gcc.target/
+UNRESOLVED: gcc.target/
+UNRESOLVED: gcc.target/
The full diff is at:
http://
The full testsuite results are at:
http://
cbuild-checked: armv7l-
Michael Hope (michaelh1) wrote : Posted in a previous version of this proposal | # |
cbuild successfully built this on i686-natty-
The build results are available at:
http://
The testsuite results are the same as the branch point lp:gcc-linaro/4.7+bzr114969
The full diff is at:
http://
The full testsuite results are at:
http://
cbuild-checked: i686-natty-
Michael Hope (michaelh1) wrote : Posted in a previous version of this proposal | # |
cbuild has taken a snapshot of this branch at r114971 and queued it for build.
The diff against the ancestor r114969 is available at:
http://
and will be built on the following builders:
a9-builder armv5-builder i686 x86_64
You can track the build queue at:
http://
cbuild-snapshot: gcc-linaro-
cbuild-ancestor: lp:gcc-linaro/4.7+bzr114969
cbuild-state: check
Michael Hope (michaelh1) wrote : Posted in a previous version of this proposal | # |
cbuild successfully built this on x86_64-
The build results are available at:
http://
The testsuite results are the same as the branch point lp:gcc-linaro/4.7+bzr114969
The full diff is at:
http://
The full testsuite results are at:
http://
cbuild-checked: x86_64-
Michael Hope (michaelh1) wrote : Posted in a previous version of this proposal | # |
cbuild had trouble building this on armv7l-
See the *failed.txt logs under the build results at:
http://
The test suite results were not checked.
cbuild-checked: armv7l-
Michael Hope (michaelh1) wrote : Posted in a previous version of this proposal | # |
cbuild successfully built this on armv7l-
The build results are available at:
http://
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+UNSUPPORTED: gcc.target/
+UNSUPPORTED: gcc.target/
The full diff is at:
http://
The full testsuite results are at:
http://
cbuild-checked: armv7l-
Michael Hope (michaelh1) wrote : Posted in a previous version of this proposal | # |
cbuild successfully built this on i686-natty-
The build results are available at:
http://
The testsuite results are the same as the branch point lp:gcc-linaro/4.7+bzr114969
The full diff is at:
http://
The full testsuite results are at:
http://
cbuild-checked: i686-natty-
Michael Hope (michaelh1) wrote : Posted in a previous version of this proposal | # |
This seems to also include the 16 bit instructions patch:
+UNSUPPORTED: gcc.target/
+UNSUPPORTED: gcc.target/
2012-03-08 Andrew Stubbs <email address hidden>
Michael Hope (michaelh1) wrote : Posted in a previous version of this proposal | # |
The Cortex-A9 build fails with a split ICE:
../../.
../../.
(insn:TI 25 192 193 4 (set (reg/v:DI 95 d16 [orig:137 utemp ] [137])
(nil))
../../.
Andrew Stubbs (ams-codesourcery) wrote : Posted in a previous version of this proposal | # |
This patch depends on the 16-bit instructions patch (or more accurately, it depends on the neon-shifts patch, which in turn depends on the 16-bit instruction patch), hence the presence of the test cases.
The build failure is surprising. I saw that failure myself, and fixed it already, so I don't know why it's recurred. Maybe I misapplied the patch?
Andrew Stubbs (ams-codesourcery) wrote : Posted in a previous version of this proposal | # |
Yeah, I misapplied the patch update. Somehow the QI->DI and HI->DI extends are missing.
I've updated the branch now, but I'll wait until the neon-shifts patch is working before resubmitting this for more testing.
Andrew Stubbs (ams-codesourcery) wrote : Posted in a previous version of this proposal | # |
Neon shifts appears good, after all. I'll resubmit this now.
Michael Hope (michaelh1) wrote : Posted in a previous version of this proposal | # |
cbuild has taken a snapshot of this branch at r114972 and queued it for build.
The diff against the ancestor r114969 is available at:
http://
and will be built on the following builders:
a9-builder armv5-builder i686 x86_64
You can track the build queue at:
http://
cbuild-snapshot: gcc-linaro-
cbuild-ancestor: lp:gcc-linaro+bzr114969
cbuild-state: check
Michael Hope (michaelh1) wrote : Posted in a previous version of this proposal | # |
cbuild successfully built this on x86_64-
The build results are available at:
http://
The testsuite results are the same as the branch point lp:gcc-linaro+bzr114969
The full diff is at:
http://
The full testsuite results are at:
http://
cbuild-checked: x86_64-
Michael Hope (michaelh1) wrote : Posted in a previous version of this proposal | # |
cbuild successfully built this on x86_64-
The build results are available at:
http://
The testsuite results are the same as the branch point lp:gcc-linaro+bzr114969
The full diff is at:
http://
The full testsuite results are at:
http://
cbuild-checked: x86_64-
Michael Hope (michaelh1) wrote : Posted in a previous version of this proposal | # |
cbuild successfully built this on i686-natty-
The build results are available at:
http://
The testsuite results are the same as the branch point lp:gcc-linaro+bzr114969
The full diff is at:
http://
The full testsuite results are at:
http://
cbuild-checked: i686-natty-
Michael Hope (michaelh1) wrote : Posted in a previous version of this proposal | # |
cbuild had trouble building this on armv7l-
See the *failed.txt logs under the build results at:
http://
The test suite results were not checked.
cbuild-checked: armv7l-
Michael Hope (michaelh1) wrote : Posted in a previous version of this proposal | # |
cbuild successfully built this on armv7l-
The build results are available at:
http://
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+UNSUPPORTED: gcc.target/
+UNSUPPORTED: gcc.target/
The full diff is at:
http://
The full testsuite results are at:
http://
cbuild-checked: armv7l-
Andrew Stubbs (ams-codesourcery) wrote : Posted in a previous version of this proposal | # |
The build failure is this:
../../.
../../.
(insn 20 19 21 4 (set (reg/v:DI 2 r2 [orig:134 i ] [134])
(nil))
../../.
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://
This appears to be caused by a latent bug: the extendqidi2 pattern (actually "extend<mode>di2") has a predicate that allows memory loads in both ARM and Thumb modes, but the constraints only permit mems in ARM mode. Presumably this hasn't been a problem before because a) when optimizing the pattern has always been split before register allocation (i.e. before the constraints really mean anything), and b) when not optimizing it's too stupid to do load and extend in one insn.
It didn't show up in my own test builds. This might be because I have a slightly different baseline, or it might be because I wasn't building fortran.
I can fix this by adding a proper alternative for thumb mode, I expect.
Michael Hope (michaelh1) wrote : Posted in a previous version of this proposal | # |
cbuild has taken a snapshot of this branch at r114973 and queued it for build.
The diff against the ancestor r114969 is available at:
http://
and will be built on the following builders:
a9-builder armv5-builder i686 x86_64
You can track the build queue at:
http://
cbuild-snapshot: gcc-linaro-
cbuild-ancestor: lp:gcc-linaro+bzr114969
cbuild-state: check
Michael Hope (michaelh1) wrote : Posted in a previous version of this proposal | # |
cbuild successfully built this on x86_64-
The build results are available at:
http://
The testsuite results are the same as the branch point lp:gcc-linaro+bzr114969
The full diff is at:
http://
The full testsuite results are at:
http://
cbuild-checked: x86_64-
Michael Hope (michaelh1) wrote : Posted in a previous version of this proposal | # |
cbuild successfully built this on i686-natty-
The build results are available at:
http://
The testsuite results are the same as the branch point lp:gcc-linaro+bzr114969
The full diff is at:
http://
The full testsuite results are at:
http://
cbuild-checked: i686-natty-
Michael Hope (michaelh1) wrote : Posted in a previous version of this proposal | # |
cbuild successfully built this on armv7l-
The build results are available at:
http://
-PASS: gcc.dg/
-PASS: gcc.dg/
+FAIL: gcc.dg/
+UNRESOLVED: gcc.dg/
-FAIL: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
-PASS: gcc.target/
+FAIL: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
The full diff is at:
http://
The full testsuite results are at:
http://
Michael Hope (michaelh1) wrote : Posted in a previous version of this proposal | # |
cbuild successfully built this on armv7l-
The build results are available at:
http://
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+UNSUPPORTED: gcc.target/
+UNSUPPORTED: gcc.target/
The full diff is at:
http://
The full testsuite results are at:
http://
cbuild-checked: armv7l-
Andrew Stubbs (ams-codesourcery) wrote : Posted in a previous version of this proposal | # |
-PASS: gcc.dg/
-PASS: gcc.dg/
+FAIL: gcc.dg/
+UNRESOLVED: gcc.dg/
This is expected, and caused by the neon-shifts patch included here as a dependency.
-FAIL: gcc.target/
+PASS: gcc.target/
This is a progression, which is nice, caused by the neon-imm64 patch.
--------
-PASS: gcc.target/
+FAIL: gcc.target/
This needs investigation. :(
Andrew Stubbs (ams-codesourcery) wrote : Posted in a previous version of this proposal | # |
The pr43137 failure is caused by lower-subreg unhelpfully decomposing a pseudo-register even though it doesn't look like it ought to be. I've posted a question on <email address hidden> to find out what can be done about this.
Andrew Stubbs (ams-codesourcery) wrote : Posted in a previous version of this proposal | # |
I don't expect this new test-run to pass gcc.target/
Michael Hope (michaelh1) wrote : Posted in a previous version of this proposal | # |
cbuild has taken a snapshot of this branch at r114974 and queued it for build.
The diff against the ancestor r114969 is available at:
http://
and will be built on the following builders:
a9-builder armv5-builder i686 x86_64
You can track the build queue at:
http://
cbuild-snapshot: gcc-linaro-
cbuild-ancestor: lp:gcc-linaro+bzr114969
cbuild-state: check
Michael Hope (michaelh1) wrote : Posted in a previous version of this proposal | # |
cbuild successfully built this on x86_64-
The build results are available at:
http://
The testsuite results are the same as the branch point lp:gcc-linaro+bzr114969
The full diff is at:
http://
The full testsuite results are at:
http://
cbuild-checked: x86_64-
Michael Hope (michaelh1) wrote : Posted in a previous version of this proposal | # |
cbuild successfully built this on i686-natty-
The build results are available at:
http://
The testsuite results are the same as the branch point lp:gcc-linaro+bzr114969
The full diff is at:
http://
The full testsuite results are at:
http://
cbuild-checked: i686-natty-
Michael Hope (michaelh1) wrote : Posted in a previous version of this proposal | # |
cbuild successfully built this on armv7l-
The build results are available at:
http://
-PASS: gcc.dg/
-PASS: gcc.dg/
+FAIL: gcc.dg/
+UNRESOLVED: gcc.dg/
-FAIL: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+FAIL: gcc.target/
+FAIL: gcc.target/
-PASS: gcc.target/
+FAIL: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
The full diff is at:
http://
The full testsuite results are at:
http://
Michael Hope (michaelh1) wrote : Posted in a previous version of this proposal | # |
cbuild successfully built this on armv7l-
The build results are available at:
http://
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+FAIL: gcc.target/
+FAIL: gcc.target/
+UNSUPPORTED: gcc.target/
+UNSUPPORTED: gcc.target/
The full diff is at:
http://
The full testsuite results are at:
http://
cbuild-checked: armv7l-
Michael Hope (michaelh1) wrote : | # |
cbuild has taken a snapshot of this branch at r114975 and queued it for build.
The diff against the ancestor r114969 is available at:
http://
and will be built on the following builders:
a9-builder armv5-builder i686 x86_64
You can track the build queue at:
http://
cbuild-snapshot: gcc-linaro-
cbuild-ancestor: lp:gcc-linaro+bzr114969
cbuild-state: check
Michael Hope (michaelh1) wrote : | # |
cbuild successfully built this on x86_64-
The build results are available at:
http://
The testsuite results are the same as the branch point lp:gcc-linaro+bzr114969
The full diff is at:
http://
The full testsuite results are at:
http://
cbuild-checked: x86_64-
Michael Hope (michaelh1) wrote : | # |
cbuild successfully built this on i686-natty-
The build results are available at:
http://
The testsuite results are the same as the branch point lp:gcc-linaro+bzr114969
The full diff is at:
http://
The full testsuite results are at:
http://
cbuild-checked: i686-natty-
Michael Hope (michaelh1) wrote : | # |
cbuild successfully built this on armv7l-
The build results are available at:
http://
-PASS: gcc.dg/
-PASS: gcc.dg/
+FAIL: gcc.dg/
+UNRESOLVED: gcc.dg/
-FAIL: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
-PASS: gcc.target/
+FAIL: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
+PASS: gcc.target/
The full diff is at:
http://
The full testsuite results are at:
http://
Ulrich Weigand (uweigand) wrote : | # |
Superseded by lp:~uweigand/gcc-linaro/neon-extendsidi-4.7-v2
cbuild has taken a snapshot of this branch at r114970 and queued it for build.
The diff against the ancestor r114969 is available at: builds. linaro. org/toolchain/ snapshots/ gcc-linaro- 4.7+bzr114970~ ams-codesourcer y~neon- extendsidi- 4.7.diff
http://
and will be built on the following builders:
a9-builder armv5-builder i686 x86_64
You can track the build queue at: ex.seabright. co.nz/helpers/ scheduler
http://
cbuild-snapshot: gcc-linaro- 4.7+bzr114970~ ams-codesourcer y~neon- extendsidi- 4.7
cbuild-ancestor: lp:gcc-linaro/4.7+bzr114969
cbuild-state: check