Skip to content

i386: Add AVX512 unaligned intrinsics

Sunil Pandey requested to merge usr/skpgkp1/pr90980/master into usr/pr90980/master

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

Tested on x86-64.

gcc/

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

gcc/testsuite/

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

Merge request reports