Merge lp:~michaelh1/gcc-linaro/fma into lp:gcc-linaro/4.7

Proposed by Michael Hope
Status: Work in progress
Proposed branch: lp:~michaelh1/gcc-linaro/fma
Merge into: lp:gcc-linaro/4.7
To merge this branch: bzr merge lp:~michaelh1/gcc-linaro/fma
Reviewer Review Type Date Requested Status
Linaro Toolchain Developers Pending
Review via email: mp+113675@code.launchpad.net

Description of the change

Backport Matt's Cortex-A15/Cortex-M4 fused multiply-add instruction support.

  2012-07-06 Michael Hope <email address hidden>

        Backport from mainline r189283 and r189284:

        gcc/
        2012-07-05 Matthew Gretton-Dann <email address hidden>

        * config/arm/iterators.md (SDF): New mode iterator.
        (V_if_elem): Add support for SF and DF modes.
        (V_reg): Likewise.
        (F_constraint): New mode iterator attribute.
        (F_fma_type): Likewise.
        config/arm/vfp.md (fma<SDF:mode>4): New pattern.
        (*fmsub<SDF:mode>4): Likewise.
        (*fmnsub<SDF:mode>4): Likewise.
        (*fmnadd<SDF:mode>4): Likewise.

        gcc/testsuite/
        2012-07-05 Matthew Gretton-Dann <email address hidden>

        * gcc.target/arm/fma-sp.c: New testcase.
        * gcc.target/arm/fma.c: Likewise.
        * gcc.target/arm/fma.h: Likewise.

        Partial backport from mainline r188946:

        gcc/
        2012-06-25 Matthew Gretton-Dann <email address hidden>
              James Greenhalgh <email address hidden>

        * config/arm/arm.h (TARGET_FMA): New macro.

To post a comment you must log in.
Revision history for this message
Michael Hope (michaelh1) wrote :

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

The diff against the ancestor r115002 is available at:
 http://builds.linaro.org/toolchain/snapshots/gcc-linaro-4.7+bzr115003~michaelh1~fma.diff

and will be built on the following builders:
 a9-builder a9hf-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.7+bzr115003~michaelh1~fma
cbuild-ancestor: lp:gcc-linaro+bzr115002
cbuild-state: check

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

cbuild successfully built this on x86_64-precise-cbuild344-oort1-x86_64r1.

The build results are available at:
 http://ex.seabright.co.nz/build/gcc-linaro-4.7+bzr115003~michaelh1~fma/logs/x86_64-precise-cbuild344-oort1-x86_64r1

The testsuite results are the same as the branch point lp:gcc-linaro+bzr115002

The full diff is at:
 http://ex.seabright.co.nz/build/gcc-linaro-4.7+bzr115003~michaelh1~fma/logs/x86_64-precise-cbuild344-oort1-x86_64r1/testsuite-diff.txt

The full testsuite results are at:
 http://ex.seabright.co.nz/build/gcc-linaro-4.7+bzr115003~michaelh1~fma/logs/x86_64-precise-cbuild344-oort1-x86_64r1/gcc-testsuite.txt

cbuild-checked: x86_64-precise-cbuild344-oort1-x86_64r1

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

cbuild successfully built this on i686-precise-cbuild344-oort6-i686r1.

The build results are available at:
 http://ex.seabright.co.nz/build/gcc-linaro-4.7+bzr115003~michaelh1~fma/logs/i686-precise-cbuild344-oort6-i686r1

The testsuite results are the same as the branch point lp:gcc-linaro+bzr115002

The full diff is at:
 http://ex.seabright.co.nz/build/gcc-linaro-4.7+bzr115003~michaelh1~fma/logs/i686-precise-cbuild344-oort6-i686r1/testsuite-diff.txt

The full testsuite results are at:
 http://ex.seabright.co.nz/build/gcc-linaro-4.7+bzr115003~michaelh1~fma/logs/i686-precise-cbuild344-oort6-i686r1/gcc-testsuite.txt

cbuild-checked: i686-precise-cbuild344-oort6-i686r1

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

cbuild successfully built this on armv7l-precise-cbuild344-ursa2-cortexa9hfr1.

The build results are available at:
 http://ex.seabright.co.nz/build/gcc-linaro-4.7+bzr115003~michaelh1~fma/logs/armv7l-precise-cbuild344-ursa2-cortexa9hfr1

+PASS: gcc.target/arm/fma-sp.c (test for excess errors)
+PASS: gcc.target/arm/fma-sp.c scan-assembler-not vfma.f64\td[0-9]
+PASS: gcc.target/arm/fma-sp.c scan-assembler-not vfms.f64\td[0-9]
+PASS: gcc.target/arm/fma-sp.c scan-assembler-not vfnma.f64\td[0-9]
+PASS: gcc.target/arm/fma-sp.c scan-assembler-not vfnms.f64\td[0-9]
+PASS: gcc.target/arm/fma-sp.c scan-assembler-times vfma.f32\ts[0-9] 1
+PASS: gcc.target/arm/fma-sp.c scan-assembler-times vfms.f32\ts[0-9] 1
+PASS: gcc.target/arm/fma-sp.c scan-assembler-times vfnma.f32\ts[0-9] 1
+PASS: gcc.target/arm/fma-sp.c scan-assembler-times vfnms.f32\ts[0-9] 1
+PASS: gcc.target/arm/fma.c (test for excess errors)
+PASS: gcc.target/arm/fma.c scan-assembler-times vfma.f32\ts[0-9] 1
+PASS: gcc.target/arm/fma.c scan-assembler-times vfma.f64\td[0-9] 1
+PASS: gcc.target/arm/fma.c scan-assembler-times vfms.f32\ts[0-9] 1
+PASS: gcc.target/arm/fma.c scan-assembler-times vfms.f64\td[0-9] 1
+PASS: gcc.target/arm/fma.c scan-assembler-times vfnma.f32\ts[0-9] 1
+PASS: gcc.target/arm/fma.c scan-assembler-times vfnma.f64\td[0-9] 1
+PASS: gcc.target/arm/fma.c scan-assembler-times vfnms.f32\ts[0-9] 1
+PASS: gcc.target/arm/fma.c scan-assembler-times vfnms.f64\td[0-9] 1

The full diff is at:
 http://ex.seabright.co.nz/build/gcc-linaro-4.7+bzr115003~michaelh1~fma/logs/armv7l-precise-cbuild344-ursa2-cortexa9hfr1/testsuite-diff.txt

The full testsuite results are at:
 http://ex.seabright.co.nz/build/gcc-linaro-4.7+bzr115003~michaelh1~fma/logs/armv7l-precise-cbuild344-ursa2-cortexa9hfr1/gcc-testsuite.txt

cbuild-checked: armv7l-precise-cbuild344-ursa2-cortexa9hfr1

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

cbuild successfully built this on armv7l-natty-cbuild344-tcpanda06-armv5r2.

The build results are available at:
 http://ex.seabright.co.nz/build/gcc-linaro-4.7+bzr115003~michaelh1~fma/logs/armv7l-natty-cbuild344-tcpanda06-armv5r2

+PASS: gcc.target/arm/fma-sp.c (test for excess errors)
+PASS: gcc.target/arm/fma-sp.c scan-assembler-not vfma.f64\td[0-9]
+PASS: gcc.target/arm/fma-sp.c scan-assembler-not vfms.f64\td[0-9]
+PASS: gcc.target/arm/fma-sp.c scan-assembler-not vfnma.f64\td[0-9]
+PASS: gcc.target/arm/fma-sp.c scan-assembler-not vfnms.f64\td[0-9]
+FAIL: gcc.target/arm/fma-sp.c scan-assembler-times vfma.f32\ts[0-9] 1
+FAIL: gcc.target/arm/fma-sp.c scan-assembler-times vfms.f32\ts[0-9] 1
+FAIL: gcc.target/arm/fma-sp.c scan-assembler-times vfnma.f32\ts[0-9] 1
+FAIL: gcc.target/arm/fma-sp.c scan-assembler-times vfnms.f32\ts[0-9] 1
+PASS: gcc.target/arm/fma.c (test for excess errors)
+FAIL: gcc.target/arm/fma.c scan-assembler-times vfma.f32\ts[0-9] 1
+FAIL: gcc.target/arm/fma.c scan-assembler-times vfma.f64\td[0-9] 1
+FAIL: gcc.target/arm/fma.c scan-assembler-times vfms.f32\ts[0-9] 1
+FAIL: gcc.target/arm/fma.c scan-assembler-times vfms.f64\td[0-9] 1
+FAIL: gcc.target/arm/fma.c scan-assembler-times vfnma.f32\ts[0-9] 1
+FAIL: gcc.target/arm/fma.c scan-assembler-times vfnma.f64\td[0-9] 1
+FAIL: gcc.target/arm/fma.c scan-assembler-times vfnms.f32\ts[0-9] 1
+FAIL: gcc.target/arm/fma.c scan-assembler-times vfnms.f64\td[0-9] 1

The full diff is at:
 http://ex.seabright.co.nz/build/gcc-linaro-4.7+bzr115003~michaelh1~fma/logs/armv7l-natty-cbuild344-tcpanda06-armv5r2/testsuite-diff.txt

The full testsuite results are at:
 http://ex.seabright.co.nz/build/gcc-linaro-4.7+bzr115003~michaelh1~fma/logs/armv7l-natty-cbuild344-tcpanda06-armv5r2/gcc-testsuite.txt

cbuild-checked: armv7l-natty-cbuild344-tcpanda06-armv5r2

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

cbuild successfully built this on armv7l-natty-cbuild344-tcpanda02-cortexa9r1.

The build results are available at:
 http://ex.seabright.co.nz/build/gcc-linaro-4.7+bzr115003~michaelh1~fma/logs/armv7l-natty-cbuild344-tcpanda02-cortexa9r1

-FAIL: g++.dg/cdce3.C -std=gnu++11 execution test
+PASS: g++.dg/cdce3.C -std=gnu++11 execution test
-FAIL: g++.dg/cdce3.C -std=gnu++98 execution test
+PASS: g++.dg/cdce3.C -std=gnu++98 execution test
+PASS: gcc.target/arm/fma-sp.c (test for excess errors)
+PASS: gcc.target/arm/fma-sp.c scan-assembler-not vfma.f64\td[0-9]
+PASS: gcc.target/arm/fma-sp.c scan-assembler-not vfms.f64\td[0-9]
+PASS: gcc.target/arm/fma-sp.c scan-assembler-not vfnma.f64\td[0-9]
+PASS: gcc.target/arm/fma-sp.c scan-assembler-not vfnms.f64\td[0-9]
+FAIL: gcc.target/arm/fma-sp.c scan-assembler-times vfma.f32\ts[0-9] 1
+FAIL: gcc.target/arm/fma-sp.c scan-assembler-times vfms.f32\ts[0-9] 1
+FAIL: gcc.target/arm/fma-sp.c scan-assembler-times vfnma.f32\ts[0-9] 1
+FAIL: gcc.target/arm/fma-sp.c scan-assembler-times vfnms.f32\ts[0-9] 1
+PASS: gcc.target/arm/fma.c (test for excess errors)
+FAIL: gcc.target/arm/fma.c scan-assembler-times vfma.f32\ts[0-9] 1
+FAIL: gcc.target/arm/fma.c scan-assembler-times vfma.f64\td[0-9] 1
+FAIL: gcc.target/arm/fma.c scan-assembler-times vfms.f32\ts[0-9] 1
+FAIL: gcc.target/arm/fma.c scan-assembler-times vfms.f64\td[0-9] 1
+FAIL: gcc.target/arm/fma.c scan-assembler-times vfnma.f32\ts[0-9] 1
+FAIL: gcc.target/arm/fma.c scan-assembler-times vfnma.f64\td[0-9] 1
+FAIL: gcc.target/arm/fma.c scan-assembler-times vfnms.f32\ts[0-9] 1
+FAIL: gcc.target/arm/fma.c scan-assembler-times vfnms.f64\td[0-9] 1

The full diff is at:
 http://ex.seabright.co.nz/build/gcc-linaro-4.7+bzr115003~michaelh1~fma/logs/armv7l-natty-cbuild344-tcpanda02-cortexa9r1/testsuite-diff.txt

The full testsuite results are at:
 http://ex.seabright.co.nz/build/gcc-linaro-4.7+bzr115003~michaelh1~fma/logs/armv7l-natty-cbuild344-tcpanda02-cortexa9r1/gcc-testsuite.txt

cbuild-checked: armv7l-natty-cbuild344-tcpanda02-cortexa9r1

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

The patterns depend on hard float but the testsuite doesn't. Reported to Matt, waiting.

Subscribers

People subscribed via source and target branches