i386: Add AVX512 unaligned intrinsics

Programming / Compilers / GCC - hjl [138bc75d-0d04-0410-961f-82ee72b054a4] - 11 July 2019 19:09 EDT

__m512i _mm512_loadu_epi64( void * sa);
void _mm512_storeu_epi64(void * d, __m512i a); __m512i _mm512_loadu_epi32( void * sa);
void _mm512_storeu_epi32(void * d, __m512i a);
void _mm256_storeu_epi64(void * d, __m256i a);
void _mm_storeu_epi64(void * d, __m128i a);
void _mm256_storeu_epi32(void * d, __m256i a);
void _mm_storeu_epi32(void * d, __m128i a);

Tested on x86-64.

2019-07-11 Sunil K Pandey

gcc/

PR target/90980
- config/i386/avx512fintrin.h (_mm512_loadu_epi64): New. (_mm512_storeu_epi64): Likewise. (_mm512_loadu_epi32): Likewise. (_mm512_storeu_epi32): Likewise.
- config/i386/avx512vlintrin.h (_mm256_storeu_epi64): New. (_mm_storeu_epi64): Likewise. (_mm256_storeu_epi32): Likewise. (_mm_storeu_epi32): Likewise.

gcc/testsuite/

PR target/90980
- gcc.target/i386/pr90980-1.c: New test.
- gcc.target/i386/pr90980-2.c: Likewise.
- gcc.target/i386/pr90980-3.c: Likewise.

1323f7264aa i386: Add AVX512 unaligned intrinsics
gcc/ChangeLog | 12 ++++++++++++
gcc/config/i386/avx512fintrin.h | 28 ++++++++++++++++++++++++++++
gcc/config/i386/avx512vlintrin.h | 28 ++++++++++++++++++++++++++++
gcc/testsuite/ChangeLog | 7 +++++++
gcc/testsuite/gcc.target/i386/pr90980-1.c | 17 +++++++++++++++++
gcc/testsuite/gcc.target/i386/pr90980-2.c | 17 +++++++++++++++++
gcc/testsuite/gcc.target/i386/pr90980-3.c | 20 ++++++++++++++++++++
7 files changed, 129 insertions(+)

Upstream: gcc.gnu.org


  • Share