[x86] Don't use builtins for unaligned load/store
commit8036ac7f905adbdfec65d9a569a114641201e0be
authorglisse <glisse@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 31 Aug 2016 11:56:37 +0000 (31 11:56 +0000)
committerglisse <glisse@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 31 Aug 2016 11:56:37 +0000 (31 11:56 +0000)
tree26495e00ae9000737c30e9b6030906ee51a2cb6e
parent39d64c3a1a8421968fda027f912c662f9e80e1fb
[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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239889 138bc75d-0d04-0410-961f-82ee72b054a4
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