[PATCH, i386, testsuite] FMA intrinsics

Ilya Tocar tocarip.intel@gmail.com
Thu Aug 25 10:15:00 GMT 2011


Changelog:

2011-08-25  Ilya Tocar  <ilya.tocar@intel.com>

               * config/i386/fmaintrin.h: New.
               * config.gcc: Add fmaintrin.h.
               * config/i386/i386.c
               * <ix86_builtins> (IX86_BUILTIN_VFMADDSS3): New.
               (IX86_BUILTIN_VFMADDSD3): Likewise.
               * config/i386/sse.md (fmai_vmfmadd_<mode>): New.
               (*fmai_fmadd_<mode>): Likewise.
               (*fmai_fmsub_<mode>): Likewise.
               (*fmai_fnmadd_<mode>): Likewise.
               (*fmai_fnmsub_<mode>): Likewise.
               * config/i386/x86intrin.h: Add fmaintrin.h.

And Changelog for testsuite:

2011-08-25  Ilya Tocar <ilya.tocar@intel.com>

               * 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.
               * gcc.target/i386/sse-12.c: Add -mfma.
               * gcc.target/i386/sse-13.c: Likewise.
               * gcc.target/i386/sse-14.c: Likewise.
               * gcc.target/i386/sse-22.c: Likewise.
               * gcc.target/i386/sse-23.c: Likewise.
               * gcc.target/i386/sse-13.c: Likewise.
               * g++.dg/other/i386-2.c: Likewise.
               * g++.dg/other/i386-2.c: Likewise.

2011/8/24 Uros Bizjak <ubizjak@gmail.com>:
> On Wed, Aug 24, 2011 at 2:39 PM, Ilya Tocar <tocarip.intel@gmail.com> wrote:
>
>>>>> Also, why is fmaintrin.h including immintrin.h?  You can't include fmaintrin.h
>>>>> directly and x86intrin.h has already included it before including fmaintrin.h.
>>>> Makes sense. Removed it.
>>>
>>> Do we need to add -mfma to gcc.target/i386/sse-{12,13,14,22,23}.c and
>>> g++.dg/other/i386-{2,3}.C to activate and test new intrinsics?
>>>
>>> Uros.
>>>
>> I think yes, otherwise fmaintrin.h won't be included and intrinsics
>> won't be tested.
>> Added -mfma to those tests.
>
> The patch is OK for mainline with the proper ChangeLog.
>
> Thanks,
> Uros.
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: patch
Type: application/octet-stream
Size: 49779 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20110825/ba6b7b9d/attachment.obj>


More information about the Gcc-patches mailing list