diff options
author | Julia Koval <julia.koval@intel.com> | 2017-10-31 07:20:49 +0100 |
---|---|---|
committer | Kirill Yukhin <kyukhin@gcc.gnu.org> | 2017-10-31 06:20:49 +0000 |
commit | 9d54607a02cba752939025846cdb799c23c28882 (patch) | |
tree | ee051607c70582cd2bbaa3e6b3ad35dcd6de887f /gcc/config.gcc | |
parent | 16e6821a52b489d64a57aa4a7d21c110d2345cf4 (diff) | |
download | gcc-9d54607a02cba752939025846cdb799c23c28882.zip gcc-9d54607a02cba752939025846cdb799c23c28882.tar.gz gcc-9d54607a02cba752939025846cdb799c23c28882.tar.bz2 |
GFNI enabling [2/4]
gcc/
* config.gcc: Add gfniintrin.h.
* config/i386/gfniintrin.h: New.
* config/i386/i386-builtin-types.def (
__builtin_ia32_vgf2p8affineinvqb_v64qi,
__builtin_ia32_vgf2p8affineinvqb_v64qi_mask,
__builtin_ia32_vgf2p8affineinvqb_v32qi
__builtin_ia32_vgf2p8affineinvqb_v32qi_mask,
__builtin_ia32_vgf2p8affineinvqb_v16qi,
__builtin_ia32_vgf2p8affineinvqb_v16qi_mask): New builtins.
* config/i386/i386-builtin.def (V64QI_FTYPE_V64QI_V64QI_INT_V64QI_UDI,
V32QI_FTYPE_V32QI_V32QI_INT_V32QI_USI,
V16QI_FTYPE_V16QI_V16QI_INT_V16QI_UHI,
V64QI_FTYPE_V64QI_V64QI_INT): New types.
* config/i386/i386.c (ix86_expand_args_builtin): Handle new types.
* config/i386/immintrin.h: Include gfniintrin.h.
* config/i386/sse.md (vgf2p8affineinvqb_*) New pattern.
gcc/testsuite/
* gcc.target/i386/avx-1.c: Handle new intrinsics.
* gcc.target/i386/avx512-check.h: Check GFNI bit.
* gcc.target/i386/avx512f-gf2p8affineinvqb-2.c: Runtime test.
* gcc.target/i386/avx512vl-gf2p8affineinvqb-2.c: Runtime test.
* gcc.target/i386/gfni-1.c: New.
* gcc.target/i386/gfni-2.c: New.
* gcc.target/i386/gfni-3.c: New.
* gcc.target/i386/gfni-4.c: New.
* gcc.target/i386/i386.exp: (check_effective_target_gfni): New.
* gcc.target/i386/sse-12.c: Handle new intrinsics.
* gcc.target/i386/sse-13.c: Ditto.
* gcc.target/i386/sse-14.c: Ditto.
* gcc.target/i386/sse-22.c: Ditto.
* gcc.target/i386/sse-23.c: Ditto.
* g++.dg/other/i386-2.C: Ditto.
* g++.dg/other/i386-3.C: Ditto.
From-SVN: r254250
Diffstat (limited to 'gcc/config.gcc')
-rw-r--r-- | gcc/config.gcc | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/gcc/config.gcc b/gcc/config.gcc index 6b8ef51..3dace85 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -378,7 +378,8 @@ i[34567]86-*-*) avx512ifmaintrin.h avx512ifmavlintrin.h avx512vbmiintrin.h avx512vbmivlintrin.h avx5124fmapsintrin.h avx5124vnniwintrin.h avx512vpopcntdqintrin.h clwbintrin.h mwaitxintrin.h - clzerointrin.h pkuintrin.h sgxintrin.h cetintrin.h" + clzerointrin.h pkuintrin.h sgxintrin.h cetintrin.h + gfniintrin.h" ;; x86_64-*-*) cpu_type=i386 @@ -402,7 +403,8 @@ x86_64-*-*) avx512ifmaintrin.h avx512ifmavlintrin.h avx512vbmiintrin.h avx512vbmivlintrin.h avx5124fmapsintrin.h avx5124vnniwintrin.h avx512vpopcntdqintrin.h clwbintrin.h mwaitxintrin.h - clzerointrin.h pkuintrin.h sgxintrin.h cetintrin.h" + clzerointrin.h pkuintrin.h sgxintrin.h cetintrin.h + gfniintrin.h" ;; ia64-*-*) extra_headers=ia64intrin.h |