]> gcc.gnu.org Git - gcc.git/commit
Add support for fma intrinsics for ARM.
authorMatthew Gretton-Dann <matthew.gretton-dann@arm.com>
Thu, 18 Oct 2012 12:02:01 +0000 (12:02 +0000)
committerRamana Radhakrishnan <ramana@gcc.gnu.org>
Thu, 18 Oct 2012 12:02:01 +0000 (12:02 +0000)
commitc42163885f98fc08c869b6e76a8b37deb18b5eab
tree4931945d977b538731f48253b13269516a6f570e
parentc61f8c3b79e093c3485d1b381a04b482c7edf885
Add support for fma intrinsics for ARM.

Correct dates in changelog from earlier commit.

2012-10-18  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
    Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

        * config/arm/arm.c (neon_builtin_data): Add vfma and vfms
       builtins.
        * config/arm/neon-docgen.ml (intrinsic_groups): Add
        fused-multiply-* groups.
        * config/neon-gen.ml (print_feature_test_start): New function.
        (print_feature_test_end): Likewise.
        (print_variant): Print feature test macros.
        * config/arm/neon-testgen.ml (emit_prologue): Allow different
        tests to require different effective targets.
        (effective_target): New function.
        (test_intrinsic): Specify correct effective targets.
        * gcc/config/arm/neon.md (fma<VCVTF:mode>4_intrinsic): New pattern.
        (fmsub<VCVTF:mode>4_intrinsic): Likewise.
        (neon_vfma<VCVFT:mode>): New expand.
        (neon_vfms<VCVFT:mode>): Likewise.
        * config/neon.ml (opcode): Add Vfma and Vfms.
        (features): Add Requires_feature.
        (ops): Add VFMA and VFMS intrinsics.
        * config/arm/arm_neon.h: Regenerate.
        * doc/arm-neon-intrinsics.texi: Likewise.

2012-10-18  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>

        * gcc.target/arm/neon/vfmaQf32.c: New testcase.
        * gcc.target/arm/neon/vfmaf32.c: Likewise.
        * gcc.target/arm/neon/vfmsQf32.c: Likewise.
        * gcc.target/arm/neon/vfmsf32.c: Likewise.

Co-Authored-By: Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
From-SVN: r192560
13 files changed:
gcc/ChangeLog
gcc/config/arm/arm.c
gcc/config/arm/arm_neon.h
gcc/config/arm/neon-docgen.ml
gcc/config/arm/neon-gen.ml
gcc/config/arm/neon-testgen.ml
gcc/config/arm/neon.md
gcc/config/arm/neon.ml
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/arm/neon/vfmaQf32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/arm/neon/vfmaf32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/arm/neon/vfmsQf32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/arm/neon/vfmsf32.c [new file with mode: 0644]
This page took 0.056539 seconds and 5 git commands to generate.