Enable VAES support [2/5]
authorJulia Koval <julia.koval@intel.com>
Fri, 8 Dec 2017 05:04:26 +0000 (06:04 +0100)
committerKirill Yukhin <kyukhin@gcc.gnu.org>
Fri, 8 Dec 2017 05:04:26 +0000 (05:04 +0000)
commit17ecc36ec4753ff04791ee660217fd62b092b3eb
tree6484b3657b3e85a08159fffb3f5e2b8fdb231b2d
parent2632371c0054ea57184b06042e6f80ff4443b5f7
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: r255495
gcc/ChangeLog
gcc/config/i386/avx512vnniintrin.h
gcc/config/i386/avx512vnnivlintrin.h
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/avx512f-vnni-1.c
gcc/testsuite/gcc.target/i386/avx512f-vpdpbusds-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/avx512vl-vnni-1.c
gcc/testsuite/gcc.target/i386/avx512vl-vpdpbusds-2.c [new file with mode: 0644]