summaryrefslogtreecommitdiff
path: root/gcc/config/i386/avxintrin.h
Commit message (Collapse)AuthorAgeFilesLines
* Allow mmintrin headers to work with function specific target opts. Pleasetmsriram2013-06-231-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | see discussion here: http://gcc.gnu.org/ml/gcc-patches/2013-04/msg00740.html * config/i386/i386.c (ix86_pragma_target_parse): Restore target when current target options does not apply. * config/i386/i386-protos.h (ix86_reset_previous_fndecl): New function. * config/i386/i386.c (ix86_reset_previous_fndecl): Ditto. * config/i386/bmiintrin.h: Pass appropriate target attributes to header. * config/i386/mmintrin.h: Ditto. * config/i386/nmmintrin.h: Ditto. * config/i386/avx2intrin.h: Ditto. * config/i386/fxsrintrin.h: Ditto. * config/i386/tbmintrin.h: Ditto. * config/i386/xsaveintrin.h: Ditto. * config/i386/f16cintrin.h: Ditto. * config/i386/xtestintrin.h: Ditto. * config/i386/xsaveoptintrin.h: Ditto. * config/i386/bmi2intrin.h: Ditto. * config/i386/lzcntintrin.h: Ditto. * config/i386/smmintrin.h: Ditto. * config/i386/wmmintrin.h: Ditto. * config/i386/x86intrin.h: Remove all header include guards. * config/i386/prfchwintrin.h: Ditto. * config/i386/pmmintrin.h: Ditto. * config/i386/tmmintrin.h: Ditto. * config/i386/xmmintrin.h: Ditto. * config/i386/popcntintrin.h: Ditto. * config/i386/rdseedintrin.h: Ditto. * config/i386/ammintrin.h: Ditto. * config/i386/emmintrin.h: Ditto. * config/i386/immintrin.h: Remove all header include guards. * config/i386/fma4intrin.h: Ditto. * config/i386/lwpintrin.h: Ditto. * config/i386/xopintrin.h: Ditto. * config/i386/ia32intrin.h: Ditto. * config/i386/avxintrin.h: Ditto. * config/i386/rtmintrin.h: Ditto. * config/i386/fmaintrin.h: Ditto. * config/i386/mm3dnow.h: Ditto. * testsuite/gcc.target/i386/intrinsics_1.c: New test. * testsuite/gcc.target/i386/intrinsics_2.c: Ditto. * testsuite/gcc.target/i386/intrinsics_3.c: Ditto. * testsuite/gcc.target/i386/intrinsics_4.c: Ditto. * testsuite/gcc.target/i386/intrinsics_5.c: Ditto. * testsuite/gcc.target/i386/intrinsics_6.c: Ditto. * testsuite/gcc.target/i386/avx-1.c: Provide macros for builtins needing immediate arguments in f16cintrin.h and rtmintrin.h. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@200349 138bc75d-0d04-0410-961f-82ee72b054a4
* Update copyright years in gcc/rsandifo2013-01-101-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195098 138bc75d-0d04-0410-961f-82ee72b054a4
* Update Copyright years for files modified in 2011 and/or 2012.jakub2013-01-041-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@194903 138bc75d-0d04-0410-961f-82ee72b054a4
* PR target/51393uros2011-12-041-1/+1
| | | | | | | | | | | | | | | | | * config/i386/avxintrin.h (_mm256_insert_epi64): Declare second parameter as long long. testsuite/ChangeLog: 2011-12-04 Uros Bizjak <ubizjak@gmail.com> Jérémie Detrey <Jeremie.Detrey@loria.fr> PR target/51393 * gcc.target/i386/pr51393.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181986 138bc75d-0d04-0410-961f-82ee72b054a4
* PR target/47840uros2011-02-211-2/+2
| | | | | | | | | * config/i386/avxintrin.h (_mm256_insert_epi32): Use _mm_insert_epi32. (_mm256_insert_epi64): Use _mm_insert_epi64. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@170371 138bc75d-0d04-0410-961f-82ee72b054a4
* Correct mask operand for AVX mask load/store.hjl2011-01-171-16/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gcc/ 2011-01-17 H.J. Lu <hongjiu.lu@intel.com> PR target/47318 * config/i386/avxintrin.h (_mm_maskload_pd): Change mask to __m128i. (_mm_maskstore_pd): Likewise. (_mm_maskload_ps): Likewise. (_mm_maskstore_ps): Likewise. (_mm256_maskload_pd): Change mask to __m256i. (_mm256_maskstore_pd): Likewise. (_mm256_maskload_ps): Likewise. (_mm256_maskstore_ps): Likewise. * config/i386/i386-builtin-types.def: Updated. (ix86_expand_special_args_builtin): Likewise. * config/i386/i386.c (bdesc_special_args): Update __builtin_ia32_maskloadpd, __builtin_ia32_maskloadps, __builtin_ia32_maskloadpd256, __builtin_ia32_maskloadps256, __builtin_ia32_maskstorepd, __builtin_ia32_maskstoreps, __builtin_ia32_maskstorepd256 and __builtin_ia32_maskstoreps256. * config/i386/sse.md (avx_maskload<ssemodesuffix><avxmodesuffix>): Use <avxpermvecmode> on mask register. (avx_maskstore<ssemodesuffix><avxmodesuffix>): Likewise. gcc/testsuite/ 2011-01-17 H.J. Lu <hongjiu.lu@intel.com> PR target/47318 * gcc.target/i386/avx-vmaskmovpd-1.c: New. * gcc.target/i386/avx-vmaskmovpd-2.c: Likewise. * gcc.target/i386/avx-vmaskmovps-1.c: Likewise. * gcc.target/i386/avx-vmaskmovps-1.c: Likewise. * gcc.target/i386/avx-vmaskmovpd-256-1.c (avx_test): Load mask as __m256i. * gcc.target/i386/avx-vmaskmovpd-256-2.c (avx_test): Likewise. * gcc.target/i386/avx-vmaskmovps-256-1.c (avx_test): Likewise. * gcc.target/i386/avx-vmaskmovps-256-2.c (avx_test): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@168899 138bc75d-0d04-0410-961f-82ee72b054a4
* Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception.jakub2009-04-091-12/+9
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@145841 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/hjl2009-01-071-0/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2009-01-07 H.J. Lu <hongjiu.lu@intel.com> AVX Programming Reference (December, 2008) * config/i386/avxintrin.h (_mm256_stream_si256): New. (_mm256_stream_pd): Likewise. (_mm256_stream_ps): Likewise. * config/i386/i386.c (ix86_builtins): Add IX86_BUILTIN_MOVNTDQ256, IX86_BUILTIN_MOVNTPD256 and IX86_BUILTIN_MOVNTPS256. (ix86_special_builtin_type): Add VOID_FTYPE_PV4DI_V4DI. (bdesc_special_args): Add __builtin_ia32_movntdq256, __builtin_ia32_movntpd256 and __builtin_ia32_movntps256. (ix86_init_mmx_sse_builtins): Handle VOID_FTYPE_PV4DI_V4DI. (ix86_expand_special_args_builtin): Likewise. * config/i386/sse.md (AVXMODEDI): New. (avx_movnt<mode>): Likewise. (avx_movnt<mode>): Likewise. (<sse>_movnt<mode>): Remove AVX support. (sse2_movntv2di): Likewise. gcc/testsuite/ 2009-01-07 H.J. Lu <hongjiu.lu@intel.com> AVX Programming Reference (December, 2008) * gcc.target/i386/avx-vmovntdq-256-1.c: New. * gcc.target/i386/avx-vmovntpd-256-1.c: Likewise. * gcc.target/i386/avx-vmovntps-256-1.c: Likewise. * gcc.target/i386/sse2-movntdq-1.c (TEST): Align array to 16byte. * gcc.target/i386/sse2-movntpd-1.c (TEST): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@143157 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/hjl2009-01-061-61/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2009-01-06 H.J. Lu <hongjiu.lu@intel.com> AVX Programming Reference (December, 2008) * config/i386/avxintrin.h (_mm_permute2_pd): Removed. (_mm256_permute2_pd): Likewise. (_mm_permute2_ps): Likewise. (_mm256_permute2_ps): Likewise. * config/i386/i386.md (UNSPEC_VPERMIL2): Likewise. * config/i386/sse.md (avx_vpermil2<mode>3): Likewise. * config/i386/i386.c (ix86_builtins): Remove IX86_BUILTIN_VPERMIL2PD, IX86_BUILTIN_VPERMIL2PS, IX86_BUILTIN_VPERMIL2PD256 and IX86_BUILTIN_VPERMIL2PS256. (ix86_builtin_type): Remove V8SF_FTYPE_V8SF_V8SF_V8SI_INT, V4DF_FTYPE_V4DF_V4DF_V4DI_INT, V4SF_FTYPE_V4SF_V4SF_V4SI_INT and V2DF_FTYPE_V2DF_V2DF_V2DI_INT. (bdesc_args): Remove __builtin_ia32_vpermil2pd, __builtin_ia32_vpermil2ps, __builtin_ia32_vpermil2pd256 and __builtin_ia32_vpermil2ps256. (ix86_init_mmx_sse_builtins): Updated. (ix86_expand_args_builtin): Likewise. gcc/testsuite/ 2009-01-06 H.J. Lu <hongjiu.lu@intel.com> AVX Programming Reference (December, 2008) * gcc.target/i386/avx-2.c: Remove tests for _mm_permute2_pd, _mm256_permute2_pd, _mm_permute2_ps and _mm256_permute2_ps. * gcc.target/i386/sse-14.c: Likewise. * gcc.target/i386/avx-vpermil2pd-1.c: Removed. * gcc.target/i386/avx-vpermil2ps-1.c: Likewise. * gcc.target/i386/avx-vpermil2pd-256-1.c: Likewise. * gcc.target/i386/avx-vpermil2ps-256-1.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@143116 138bc75d-0d04-0410-961f-82ee72b054a4
* * Remove unintended commits.uros2008-12-051-16/+3
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@142475 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/alpha/alpha.c (alpha_fold_vector_minmax): Createuros2008-12-051-3/+16
| | | | | | | | | | | VIEW_CONVERT_EXPR to convert output to long_integer_type_node. (alpha_emit_conditional_branch): Do not generate direct branch for UNORDERED comparisons. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@142474 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/hjl2008-11-211-0/+1471
2008-11-21 H.J. Lu <hongjiu.lu@intel.com> Xuepeng Guo <xuepeng.guo@intel.com> * config.gcc (extra_headers): For x86 and x86-64, remove gmmintrin.h, add immintrin.h and avxintrin.h. * config/i386/gmmintrin.h: Renamed to ... * config/i386/avxintrin.h: This. Don't include intrinsics if _IMMINTRIN_H_INCLUDED is undedined. * config/i386/immintrin.h: New. gcc/testsuite/ 2008-11-21 H.J. Lu <hongjiu.lu@intel.com> * gcc.target/i386/avx-1.c: Include <immintrin.h> instead of <gmmintrin.h>. * gcc.target/i386/avx-2.c: Likewise. * gcc.target/i386/m256-check.h: Likewise. * g++.dg/other/i386-5.C: Likewise. * g++.dg/other/i386-6.C: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@142090 138bc75d-0d04-0410-961f-82ee72b054a4