xmmintrin.h (_mm_add_ps, [...]): Use vector extensions instead of builtins.
2014-11-15 Marc Glisse <marc.glisse@inria.fr> gcc/ * config/i386/xmmintrin.h (_mm_add_ps, _mm_sub_ps, _mm_mul_ps, _mm_div_ps, _mm_store_ss, _mm_cvtss_f32): Use vector extensions instead of builtins. * config/i386/emmintrin.h (__v2du, __v4su, __v8hu, __v16qu): New typedefs. (_mm_sqrt_sd): Fix comment. (_mm_add_epi8, _mm_add_epi16, _mm_add_epi32, _mm_add_epi64, _mm_sub_epi8, _mm_sub_epi16, _mm_sub_epi32, _mm_sub_epi64, _mm_mullo_epi16, _mm_cmpeq_epi8, _mm_cmpeq_epi16, _mm_cmpeq_epi32, _mm_cmplt_epi8, _mm_cmplt_epi16, _mm_cmplt_epi32, _mm_cmpgt_epi8, _mm_cmpgt_epi16, _mm_cmpgt_epi32, _mm_and_si128, _mm_or_si128, _mm_xor_si128, _mm_store_sd, _mm_cvtsd_f64, _mm_storeh_pd, _mm_cvtsi128_si64, _mm_cvtsi128_si64x, _mm_add_pd, _mm_sub_pd, _mm_mul_pd, _mm_div_pd, _mm_storel_epi64, _mm_movepi64_pi64): Use vector extensions instead of builtins. * config/i386/smmintrin.h (_mm_cmpeq_epi64, _mm_cmpgt_epi64, _mm_mullo_epi32): Likewise. * config/i386/avxintrin.h (__v4du, __v8su, __v16hu, __v32qu): New typedefs. (_mm256_add_pd, _mm256_add_ps, _mm256_div_pd, _mm256_div_ps, _mm256_mul_pd, _mm256_mul_ps, _mm256_sub_pd, _mm256_sub_ps): Use vector extensions instead of builtins. * config/i386/avx2intrin.h (_mm256_cmpeq_epi8, _mm256_cmpeq_epi16, _mm256_cmpeq_epi32, _mm256_cmpeq_epi64, _mm256_cmpgt_epi8, _mm256_cmpgt_epi16, _mm256_cmpgt_epi32, _mm256_cmpgt_epi64, _mm256_and_si256, _mm256_or_si256, _mm256_xor_si256, _mm256_add_epi8, _mm256_add_epi16, _mm256_add_epi32, _mm256_add_epi64, _mm256_mullo_epi16, _mm256_mullo_epi32, _mm256_sub_epi8, _mm256_sub_epi16, _mm256_sub_epi32, _mm256_sub_epi64): Likewise. * config/i386/avx512fintrin.h (__v8du, __v16su, __v32hu, __v64qu): New typedefs. (_mm512_or_si512, _mm512_or_epi32, _mm512_or_epi64, _mm512_xor_si512, _mm512_xor_epi32, _mm512_xor_epi64, _mm512_and_si512, _mm512_and_epi32, _mm512_and_epi64, _mm512_mullo_epi32, _mm512_add_epi64, _mm512_sub_epi64, _mm512_add_epi32, _mm512_sub_epi32, _mm512_add_pd, _mm512_add_ps, _mm512_sub_pd, _mm512_sub_ps, _mm512_mul_pd, _mm512_mul_ps, _mm512_div_pd, _mm512_div_ps): Use vector extensions instead of builtins. * config/i386/avx512bwintrin.h (_mm512_mullo_epi16, _mm512_add_epi8, _mm512_sub_epi8, _mm512_sub_epi16, _mm512_add_epi16): Likewise. * config/i386/avx512dqintrin.h (_mm512_mullo_epi64): Likewise. * config/i386/avx512vldqintrin.h (_mm256_mullo_epi64, _mm_mullo_epi64): Likewise. gcc/testsuite/ * gcc.target/i386/intrinsics_opt-1.c: New testcase. * gcc.target/i386/intrinsics_opt-2.c: Likewise. * gcc.target/i386/intrinsics_opt-3.c: Likewise. * gcc.target/i386/intrinsics_opt-4.c: Likewise. From-SVN: r217608
Showing
- gcc/ChangeLog 46 additions, 0 deletionsgcc/ChangeLog
- gcc/config/i386/avx2intrin.h 21 additions, 24 deletionsgcc/config/i386/avx2intrin.h
- gcc/config/i386/avx512bwintrin.h 5 additions, 25 deletionsgcc/config/i386/avx512bwintrin.h
- gcc/config/i386/avx512dqintrin.h 1 addition, 5 deletionsgcc/config/i386/avx512dqintrin.h
- gcc/config/i386/avx512fintrin.h 26 additions, 118 deletionsgcc/config/i386/avx512fintrin.h
- gcc/config/i386/avx512vldqintrin.h 2 additions, 10 deletionsgcc/config/i386/avx512vldqintrin.h
- gcc/config/i386/avxintrin.h 12 additions, 8 deletionsgcc/config/i386/avxintrin.h
- gcc/config/i386/emmintrin.h 37 additions, 33 deletionsgcc/config/i386/emmintrin.h
- gcc/config/i386/smmintrin.h 3 additions, 3 deletionsgcc/config/i386/smmintrin.h
- gcc/config/i386/xmmintrin.h 6 additions, 6 deletionsgcc/config/i386/xmmintrin.h
- gcc/testsuite/ChangeLog 7 additions, 0 deletionsgcc/testsuite/ChangeLog
- gcc/testsuite/gcc.target/i386/intrinsics_opt-1.c 11 additions, 0 deletionsgcc/testsuite/gcc.target/i386/intrinsics_opt-1.c
- gcc/testsuite/gcc.target/i386/intrinsics_opt-2.c 16 additions, 0 deletionsgcc/testsuite/gcc.target/i386/intrinsics_opt-2.c
- gcc/testsuite/gcc.target/i386/intrinsics_opt-3.c 13 additions, 0 deletionsgcc/testsuite/gcc.target/i386/intrinsics_opt-3.c
- gcc/testsuite/gcc.target/i386/intrinsics_opt-4.c 12 additions, 0 deletionsgcc/testsuite/gcc.target/i386/intrinsics_opt-4.c
Loading
Please register or sign in to comment