[x86] Don't use builtins for unaligned load/store
authorMarc Glisse <marc.glisse@inria.fr>
Wed, 31 Aug 2016 11:56:37 +0000 (13:56 +0200)
committerMarc Glisse <glisse@gcc.gnu.org>
Wed, 31 Aug 2016 11:56:37 +0000 (11:56 +0000)
commitc6b0037d0e25340cd40d8fe01cbd2abe75c1f951
tree26495e00ae9000737c30e9b6030906ee51a2cb6e
parentc1105fa7e43a9169187012010eeee81893e6a3cc
[x86] Don't use builtins for unaligned load/store

2016-08-31  Marc Glisse  <marc.glisse@inria.fr>

gcc/
* config/i386/avx512fintrin.h (__m512_u, __m512i_u, __m512d_u):
New types.
(_mm512_loadu_pd, _mm512_storeu_pd, _mm512_loadu_ps,
_mm512_storeu_ps, _mm512_loadu_si512, _mm512_storeu_si512):
Replace builtin with vector extension.
* config/i386/avxintrin.h (__m256_u, __m256i_u, __m256d_u):
New types.
(_mm256_loadu_pd, _mm256_storeu_pd, _mm256_loadu_ps,
_mm256_storeu_ps, _mm256_loadu_si256, _mm256_storeu_si256):
Replace builtin with vector extension.
* config/i386/emmintrin.h (__m128i_u, __m128d_u): New types.
(_mm_loadu_pd, _mm_storeu_pd, _mm_loadu_si128, _mm_storeu_si128):
Replace builtin with vector extension.
* config/i386/xmmintrin.h (__m128_u): New type.
(_mm_loadu_ps, _mm_storeu_ps): Replace builtin with vector extension.
(_mm_load_ps, _mm_store_ps): Simplify.

gcc/testsuite/
* gcc.target/i386/pr59539-2.c: Adapt options.
* gcc.target/i386/avx512f-vmovdqu32-1.c: Relax expected asm.

From-SVN: r239889
gcc/ChangeLog
gcc/config/i386/avx512fintrin.h
gcc/config/i386/avxintrin.h
gcc/config/i386/emmintrin.h
gcc/config/i386/xmmintrin.h
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/avx512f-vmovdqu32-1.c
gcc/testsuite/gcc.target/i386/pr59539-2.c