Enable VAES support [2/5]
authorJulia Koval <julia.koval@intel.com>
Thu, 7 Dec 2017 06:28:55 +0000 (07:28 +0100)
committerKirill Yukhin <kyukhin@gcc.gnu.org>
Thu, 7 Dec 2017 06:28:55 +0000 (06:28 +0000)
commit69ddc3e5832aa384ffca1d0edfb22a3175bd9dc9
tree3113c79cb8d9f05cf7489d725dfe7fac8133f852
parent38fed05af6a991405af02319a95a036df2bbaa07
Enable VAES support [2/5]

gcc/
* config.gcc: Add vaesintrin.h.
* config/i386/i386-builtin-types.def (V64QI_FTYPE_V64QI_V64QI): New type.
* config/i386/i386-builtin.def (__builtin_ia32_vaesdec_v16qi,
__builtin_ia32_vaesdec_v32qi, __builtin_ia32_vaesdec_v64qi): New builtins.
* config/i386/i386.c (ix86_expand_args_builtin): Handle new type.
* config/i386/immintrin.h: Include vaesintrin.h.
* config/i386/sse.md (vaesdec_<mode>): New pattern.
* config/i386/vaesintrin.h (_mm256_aesdec_epi128, _mm512_aesdec_epi128,
_mm_aesdec_epi128): New intrinsics.

gcc/testsuite/
* gcc.target/i386/avx512-check.h: Handle bit_VAES.
* gcc.target/i386/avx512f-aesdec-2.c: New test.
* gcc.target/i386/avx512fvl-vaes-1.c: Ditto.
* gcc.target/i386/avx512vl-aesdec-2.c: Ditto.
* gcc.target/i386/i386.exp (check_effective_target_avx512vaes): New.

From-SVN: r255461
14 files changed:
gcc/ChangeLog
gcc/config.gcc
gcc/config/i386/avx512vnniintrin.h [new file with mode: 0644]
gcc/config/i386/avx512vnnivlintrin.h [new file with mode: 0644]
gcc/config/i386/i386-builtin.def
gcc/config/i386/immintrin.h
gcc/config/i386/sse.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/avx512-check.h
gcc/testsuite/gcc.target/i386/avx512f-vnni-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/avx512f-vpdpbusd-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/avx512vl-vnni-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/avx512vl-vpdpbusd-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/i386.exp