Merge lp:~ramana/gcc-linaro/46-vfp-wb-addressing into lp:gcc-linaro/4.6

Proposed by Ramana Radhakrishnan
Status: Rejected
Rejected by: Ulrich Weigand
Proposed branch: lp:~ramana/gcc-linaro/46-vfp-wb-addressing
Merge into: lp:gcc-linaro/4.6
To merge this branch: bzr merge lp:~ramana/gcc-linaro/46-vfp-wb-addressing
Reviewer Review Type Date Requested Status
Ulrich Weigand (community) Disapprove
Review via email: mp+100785@code.launchpad.net

This proposal supersedes a proposal from 2012-03-30.

Description of the change

This attempts to fix up ivopts to not just use the presence of HAVE_POST/PRE_INC/DEC to decide whether to mark an ivopt candidate as a candidate for pre increment vs post increment.

For the testcase below before the patch we generate
 void foo (float *x , float *y, float *z, float *m, int l)
   {
      int i;
      for (i = 0; i < l ; i++)
      {
        z[i] = x[i] * y[i] + m[i];
      }
   }

 sub r0, r0, #4
 sub r1, r1, #4
 sub r3, r3, #4
 add ip, r2, ip, asl #2
.L3:
 add r3, r3, #4
 add r0, r0, #4
 flds s15, [r3, #0]
 flds s13, [r0, #0]
 add r1, r1, #4
 flds s14, [r1, #0]
 fmacs s15, s13, s14
 mov r4, r3
 fstmias r2!, {s15}
 cmp r2, ip
 bne .L3
.L1:
 ldmfd sp!, {r4}
 bx lr

and after we generate :

foo:
 @ args = 4, pretend = 0, frame = 0
 @ frame_needed = 0, uses_anonymous_args = 0
 @ link register save eliminated.
 ldr ip, [sp, #0]
 cmp ip, #0
 bxle lr
 add ip, r0, ip, asl #2
.L3:
 fldmias r0!, {s13}
 fldmias r1!, {s14}
 fldmias r3!, {s15}
 fmacs s15, s13, s14
 cmp r0, ip
 fstmias r2!, {s15}
 bne .L3
 bx lr

Finally fixed up for the last changes for disabling PRE_INC instead of accidentally disabling PRE_DEC.

To post a comment you must log in.
Revision history for this message
Ramana Radhakrishnan (ramana) wrote : Posted in a previous version of this proposal

Currently only for benchmarking and testing.

Revision history for this message
Michael Hope (michaelh1) wrote : Posted in a previous version of this proposal

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

The diff against the ancestor r106877 is available at:
 http://builds.linaro.org/toolchain/snapshots/gcc-linaro-4.6+bzr106878~ramana~46-vfp-wb-addressing.diff

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.6+bzr106878~ramana~46-vfp-wb-addressing
cbuild-ancestor: lp:gcc-linaro+bzr106877
cbuild-state: check

Revision history for this message
Michael Hope (michaelh1) wrote : Posted in a previous version of this proposal
Revision history for this message
Michael Hope (michaelh1) wrote : Posted in a previous version of this proposal
Revision history for this message
Michael Hope (michaelh1) wrote : Posted in a previous version of this proposal
Revision history for this message
Michael Hope (michaelh1) wrote : Posted in a previous version of this proposal
Revision history for this message
Michael Hope (michaelh1) wrote : Posted in a previous version of this proposal
Revision history for this message
Andrew Stubbs (ams-codesourcery) wrote : Posted in a previous version of this proposal

The testing is fine, but this is outside my expertise to review.

Ramana reports that he will post it upstream soon.

Revision history for this message
Michael Hope (michaelh1) wrote : Posted in a previous version of this proposal
Revision history for this message
Ramana Radhakrishnan (ramana) wrote : Posted in a previous version of this proposal

Still for more benchmarking.

Revision history for this message
Michael Hope (michaelh1) wrote : Posted in a previous version of this proposal

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

The diff against the ancestor r106877 is available at:
 http://builds.linaro.org/toolchain/snapshots/gcc-linaro-4.6+bzr106880~ramana~46-vfp-wb-addressing.diff

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.6+bzr106880~ramana~46-vfp-wb-addressing
cbuild-ancestor: lp:gcc-linaro/4.6+bzr106877
cbuild-state: check

Revision history for this message
Michael Hope (michaelh1) wrote : Posted in a previous version of this proposal
Revision history for this message
Michael Hope (michaelh1) wrote : Posted in a previous version of this proposal
Revision history for this message
Michael Hope (michaelh1) wrote : Posted in a previous version of this proposal

cbuild successfully built this on armv7l-natty-cbuild280-tcpanda04-cortexa9r1.

The build results are available at:
 http://ex.seabright.co.nz/build/gcc-linaro-4.6+bzr106880~ramana~46-vfp-wb-addressing/logs/armv7l-natty-cbuild280-tcpanda04-cortexa9r1

-PASS: gcc.target/arm/vfp-ldmdbd.c scan-assembler fldmdbd
+FAIL: gcc.target/arm/vfp-ldmdbd.c scan-assembler fldmdbd
-PASS: gcc.target/arm/vfp-ldmdbs.c scan-assembler fldmdbs
+FAIL: gcc.target/arm/vfp-ldmdbs.c scan-assembler fldmdbs
-PASS: gcc.target/arm/vfp-stmdbd.c scan-assembler fstmdbd
+FAIL: gcc.target/arm/vfp-stmdbd.c scan-assembler fstmdbd
-PASS: gcc.target/arm/vfp-stmdbs.c scan-assembler fstmdbs
+FAIL: gcc.target/arm/vfp-stmdbs.c scan-assembler fstmdbs

The full diff is at:
 http://ex.seabright.co.nz/build/gcc-linaro-4.6+bzr106880~ramana~46-vfp-wb-addressing/logs/armv7l-natty-cbuild280-tcpanda04-cortexa9r1/testsuite-diff.txt

The full testsuite results are at:
 http://ex.seabright.co.nz/build/gcc-linaro-4.6+bzr106880~ramana~46-vfp-wb-addressing/logs/armv7l-natty-cbuild280-tcpanda04-cortexa9r1/gcc-testsuite.txt

cbuild-checked: armv7l-natty-cbuild280-tcpanda04-cortexa9r1

Revision history for this message
Michael Hope (michaelh1) wrote : Posted in a previous version of this proposal

cbuild successfully built this on armv7l-natty-cbuild280-tcpanda05-armv5r2.

The build results are available at:
 http://ex.seabright.co.nz/build/gcc-linaro-4.6+bzr106880~ramana~46-vfp-wb-addressing/logs/armv7l-natty-cbuild280-tcpanda05-armv5r2

-PASS: gcc.target/arm/vfp-ldmdbd.c scan-assembler fldmdbd
+FAIL: gcc.target/arm/vfp-ldmdbd.c scan-assembler fldmdbd
-PASS: gcc.target/arm/vfp-ldmdbs.c scan-assembler fldmdbs
+FAIL: gcc.target/arm/vfp-ldmdbs.c scan-assembler fldmdbs
-PASS: gcc.target/arm/vfp-stmdbd.c scan-assembler fstmdbd
+FAIL: gcc.target/arm/vfp-stmdbd.c scan-assembler fstmdbd
-PASS: gcc.target/arm/vfp-stmdbs.c scan-assembler fstmdbs
+FAIL: gcc.target/arm/vfp-stmdbs.c scan-assembler fstmdbs

The full diff is at:
 http://ex.seabright.co.nz/build/gcc-linaro-4.6+bzr106880~ramana~46-vfp-wb-addressing/logs/armv7l-natty-cbuild280-tcpanda05-armv5r2/testsuite-diff.txt

The full testsuite results are at:
 http://ex.seabright.co.nz/build/gcc-linaro-4.6+bzr106880~ramana~46-vfp-wb-addressing/logs/armv7l-natty-cbuild280-tcpanda05-armv5r2/gcc-testsuite.txt

cbuild-checked: armv7l-natty-cbuild280-tcpanda05-armv5r2

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

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

The diff against the ancestor r106877 is available at:
 http://builds.linaro.org/toolchain/snapshots/gcc-linaro-4.6+bzr106881~ramana~46-vfp-wb-addressing.diff

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.6+bzr106881~ramana~46-vfp-wb-addressing
cbuild-ancestor: lp:gcc-linaro/4.6+bzr106877
cbuild-state: check

Revision history for this message
Michael Hope (michaelh1) wrote :
Revision history for this message
Michael Hope (michaelh1) wrote :
Revision history for this message
Michael Hope (michaelh1) wrote :
Revision history for this message
Michael Hope (michaelh1) wrote :
Revision history for this message
Michael Hope (michaelh1) wrote :
Revision history for this message
Michael Hope (michaelh1) wrote :
Revision history for this message
Andrew Stubbs (ams-codesourcery) wrote :

The test results look good. I presume you're awaiting upstream review on these patches?

Revision history for this message
Ulrich Weigand (uweigand) wrote :

Not going into 4.6 at this late stage ...

review: Disapprove

Subscribers

People subscribed via source and target branches