]> git.ipfire.org Git - thirdparty/gcc.git/commit - gcc/config/i386/avx512fintrin.h
[PATCH 1/3] Change internal intrin call for AVX512 intrins
authorHaochen Jiang <haochen.jiang@intel.com>
Mon, 6 Nov 2023 01:37:31 +0000 (09:37 +0800)
committerHaochen Jiang <haochen.jiang@intel.com>
Mon, 6 Nov 2023 01:37:31 +0000 (09:37 +0800)
commitfd79b4144f08b00dadcf9be111e3a261c1c9ace0
tree83cc1b0343796cabd72a99e889aa659597f078c7
parent459866eaeec151e72aecd670695f014f4ec48588
[PATCH 1/3] Change internal intrin call for AVX512 intrins

The newly added  _mm{,256}_avx512* intrins are duplicated from their
_mm{,256}_* forms from AVX2 or before. We need to add them to prevent target
option mismatch when calling AVX512 intrins implemented with these intrins
under no-evex512 function attribute. All AVX512 intrins calling those AVX2
intrins or before will change their calls to these newly added AVX512 version.

gcc/ChangeLog:

* config/i386/avx512bitalgvlintrin.h: Change intrin call.
* config/i386/avx512dqintrin.h: Ditto.
* config/i386/avx512fintrin.h:
(_mm_avx512_setzero_ps): New.
(_mm_avx512_setzero_pd): Ditto.
(__attribute__): Change intrin call.
* config/i386/avx512fp16intrin.h: Ditto.
* config/i386/avx512fp16vlintrin.h: Ditto.
* config/i386/avx512vbmi2vlintrin.h: Ditto.
* config/i386/avx512vbmivlintrin.h: Ditto.
* config/i386/avx512vlbwintrin.h: Ditto.
* config/i386/avx512vldqintrin.h: Ditto.
* config/i386/avx512vlintrin.h
(_mm_avx512_setzero_si128): New.
(_mm256_avx512_setzero_pd): Ditto.
(_mm256_avx512_setzero_ps): Ditto.
(_mm256_avx512_setzero_si256): Ditto.
(__attribute__): Change intrin call.
* config/i386/avx512vpopcntdqvlintrin.h: Ditto.
* config/i386/gfniintrin.h: Ditto.
12 files changed:
gcc/config/i386/avx512bitalgvlintrin.h
gcc/config/i386/avx512dqintrin.h
gcc/config/i386/avx512fintrin.h
gcc/config/i386/avx512fp16intrin.h
gcc/config/i386/avx512fp16vlintrin.h
gcc/config/i386/avx512vbmi2vlintrin.h
gcc/config/i386/avx512vbmivlintrin.h
gcc/config/i386/avx512vlbwintrin.h
gcc/config/i386/avx512vldqintrin.h
gcc/config/i386/avx512vlintrin.h
gcc/config/i386/avx512vpopcntdqvlintrin.h
gcc/config/i386/gfniintrin.h