[Patch ARM] Add support for fma intrinsics for Neon

Ramana Radhakrishnan ramrad01@arm.com
Thu Oct 18 12:18:00 GMT 2012


Hi,

This patch originally by Matt, adds support for the fma intrinsics in 
arm_neon.h at the correct architecture levels.

Tested on arm-linux-gnueabi with no regressions.

Applied,

cheers
Ramana




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.



More information about the Gcc-patches mailing list