Hello everyone, This patch adds intrinsics for FMA instruction set along with tests for them. Bootstraps and passes make check (including make check on simulator for new runtime tests). Here is a Changelog: 2011-08-15  Ilya Tocar                 * config/i386/fmaintrin.h: New.               * config.gcc: Add fmaintrin.h.               * config/i386/i386.c               * (IX86_BUILTIN_VFMADDSS3): New.               (IX86_BUILTIN_VFMADDSD3): Likewise.               (X86_BUILTIN_VFNMADDSS3): Likewise.               (X86_BUILTIN_VFNMADDSD3): Likewise.               (X86_BUILTIN_VFMSUBSS3): Likewise.               (X86_BUILTIN_VFMSUBSD3): Likewise.               (X86_BUILTIN_VFNMSUBSS3): Likewise.               (X86_BUILTIN_VFNMSUBSD3): Likewise.               (X86_BUILTIN_VFMSUBPS): Likewise.               (X86_BUILTIN_VFMSUBPD): Likewise.               (X86_BUILTIN_VFMSUBPS256): Likewise.               (X86_BUILTIN_VFMSUBPD256): Likewise.               (X86_BUILTIN_VFNMADDPS): Likewise.               (X86_BUILTIN_VFNMADDPD): Likewise.               (X86_BUILTIN_VFNMADDPS256): Likewise.               (X86_BUILTIN_VFNMADDPD256): Likewise.               (X86_BUILTIN_VFNMSUBPS): Likewise.               (X86_BUILTIN_VFNMSUBPD): Likewise.               (X86_BUILTIN_VFNMSUBPS256): Likewise.               (X86_BUILTIN_VFNMSUBPD256): Likewise.               (X86_BUILTIN_VFMSUBADDPS): Likewise.               (X86_BUILTIN_VFMSUBADDPD): Likewise.               (X86_BUILTIN_VFMSUBADDPS256): Likewise.               (X86_BUILTIN_VFMSUBADDPD256): Likewise.               * config/i386/sse.md (fmai_fnmadd_): New.               (fmai_fmsub_): Likewise.               (fmai_fnmsub_): Likewise.               (fmai_fmadd_s_): Likewise.               (fmai_vmfmadd_s_): Likewise.               (fmai_vmfmsub_s_): Likewise.               (fmai_vmfnmadd_s_): Likewise.               (fmai_vmfnmsub_s_): Likewise.               (*fmai_fmadd_s_): Likewise.               (*fmai_fmsub_s_): Likewise.               (*fmai_fnmadd_s_): Likewise.               (*fmai_fnmsub_s_): Likewise.               (fmsubadd_): Likewise.               * config/i386/x86intrin.h: Add fmaintrin.h. And Changelog for testsuite: 2011-08-15  Ilya Tocar               * gcc.target/i386/fma-check.h: New.               * gcc.target/i386/fma-256-fmaddXX.c: New testcase.               * gcc.target/i386/fma-256-fmaddsubXX.c: Likewise.               * gcc.target/i386/fma-256-fmsubXX.c: Likewise.               * gcc.target/i386/fma-256-fmsubaddXX.c: Likewise.               * gcc.target/i386/fma-256-fnmaddXX.c: Likewise.               * gcc.target/i386/fma-256-fnmsubXX.c: Likewise.               * gcc.target/i386/fma-fmaddXX.c: Likewise.               * gcc.target/i386/fma-fmaddsubXX.c: Likewise.               * gcc.target/i386/fma-fmsubXX.c: Likewise.               * gcc.target/i386/fma-fmsubaddXX.c: Likewise.               * gcc.target/i386/fma-fnmaddXX.c: Likewise.               * gcc.target/i386/fma-fnmsubXX.c: Likewise.               * gcc.target/i386/fma-compile.c: Likewise.               * gcc.target/i386/i386.exp (check_effective_target_fma): New. Is it OK for trunk? --- Best regards, Ilya Tocar