Age | Commit message (Collapse) | Author |
|
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/ix86/avx@137998 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/ix86/avx@137877 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* gcc.dg/compat/vector-1b_main.c: New.
* gcc.dg/compat/vector-1b_x.c: Likewise.
* gcc.dg/compat/vector-1b_y.c: Likewise.
* gcc.dg/compat/vector-2b_main.c: Likewise.
* gcc.dg/compat/vector-2b_x.c: Likewise.
* gcc.dg/compat/vector-2b_y.c: Likewise.
* gcc.target/i386/i386.exp (check_effective_target_avx): Moved
to ...
* lib/target-supports.exp (check_effective_target_avx): Here.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/ix86/avx@137746 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/ix86/avx@137741 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/ix86/avx@137629 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/ix86/avx@137624 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/ix86/avx@137563 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/ix86/avx@137533 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/ix86/avx@137475 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/ix86/avx@137390 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/ix86/avx@137292 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/ix86/avx@137279 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/ix86/avx@137184 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/ix86/avx@137114 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/ix86/avx@137015 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/ix86/avx@136815 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/ix86/avx@136670 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/ix86/avx@136629 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* config/i386/sse.md (AVXMODEI): Removed.
(*avx_nand<mode>3): Replace AVXMODEI with AVX256MODEI.
(*avx_<code><mode>3): Likewise.
(*avx_<code><mode>3): New.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/ix86/avx@136598 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/ix86/avx@136528 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/ix86/avx@136509 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* config/i386/sse.md (avx_cmps<ssemodesuffixf2c><mode>3): Use
<ssemodesuffixf2c> instead of <avxmodesuffixf2c>.
(avx_dpp<avxmodesuffixf2c><avxmodesuffix>): Replace vdpps
with vdpps<avxmodesuffixf2c>.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/ix86/avx@136417 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/ix86/avx@136404 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* config/i386/i386.c (setup_incoming_varargs_64): Fix typos
in comments.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/ix86/avx@136396 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* config/i386/i386.c (setup_incoming_varargs_64): Support
AVX encoding for *sse_prologue_save_insn.
* config/i386/i386.h (UNITS_PER_SIMD_WORD): Limit AVX to
128bit.
* config/i386/i386.md (*sse_prologue_save_insn): Disallow
REX prefix for AVX. Set length attribute properly for AVX.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/ix86/avx@136371 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/ix86/avx@136338 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
Xuepeng Guo <xuepeng.guo@intel.com>
Joey Ye <joey.ye@intel.com>
* config/i386/i386.md (*cmpfp_i_mixed): Move prefix attribute
before mode attribute.
(*cmpfp_i_sse): Likewise.
(*cmpfp_iu_mixed): Likewise.
(*cmpfp_iu_sse): Likewise.
(*sqrt<mode>2_sse): Likewise.
(*movti_internal): Support AVX.
(*movti_rex64): Likewise.
(*movtf_internal): Likewise.
(zero_extendsidi2_32): Likewise.
(zero_extendsidi2_rex64): Likewise.
(*float<SSEMODEI24:mode><MODEF:mode>2_mixed_interunit): Likewise.
(*float<SSEMODEI24:mode><MODEF:mode>2_mixed_nointerunit): Likewise.
(*float<SSEMODEI24:mode><MODEF:mode>2_sse_nointerunit): Likewise.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/ix86/avx@136337 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* gcc.target/x86_64/abi/abi-x86_64.exp: Replace asm-support.s
with asm-support.S.
* gcc.target/x86_64/abi/asm-support.s: Moved to ...
* gcc.target/x86_64/abi/asm-support.S: This.
* gcc.target/x86_64/abi/asm-support.S: Add ".sse_check none"
if __AVX__ is defined.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/ix86/avx@136335 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/ix86/avx@136286 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/ix86/avx@136257 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* config/i386/i386.md (*movdf_integer_rex64): Use %vmovd
instead of %vmovq.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/ix86/avx@136223 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/ix86/avx@136165 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/ix86/avx@136066 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* config/i386/i386.h (AVX128_VEC_FLOAT_MODE_P): New.
* config/i386/sse.md (*avx_vm<plusminus_insn><mode>3): Use it.
(*avx_div<mode>3): Likewise.
(*avx_vmdiv<mode>3): Likewise.
(*avx_vm<code><mode>3): Likewise.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/ix86/avx@136060 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* config/i386/sse.md (*sse2_storeq_rex64): Fix a typo.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/ix86/avx@135960 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* config/i386/sse.md (<sse>_movnt<mode>): Use "%v" for AVX
support.
(sse_rcpv4sf2): Likewise.
(sse_sqrtv4sf2): Likewise.
(sqrtv2df2): Likewise.
(sse_rsqrtv4sf2): Likewise.
(<sse>_comi): Likewise.
(<sse>_ucomi): Likewise.
(sse_cvtss2si): Likewise.
(sse_cvtss2si_2): Likewise.
(sse_cvtss2siq): Likewise.
(sse_cvtss2siq_2): Likewise.
(sse_cvttss2si): Likewise.
(sse_cvttss2siq): Likewise.
(sse2_cvtsd2si): Likewise.
(sse2_cvtsd2si_2): Likewise.
(sse2_cvtsd2siq): Likewise.
(sse2_cvtsd2siq_2): Likewise.
(sse2_cvttsd2si): Likewise.
(sse2_cvttsd2siq): Likewise.
(sse2_cvtdq2pd): Likewise.
(sse2_cvtps2pd): Likewise.
(*vec_dupv2df_sse3): Likewise.
(*vec_concatv2df_sse3): Likewise.
(*sse4_1_pextrb): Likewise.
(*sse4_1_pextrb_memory): Likewise.
(*sse2_pextrw): Likewise.
(*sse4_1_pextrw_memory): Likewise.
(*sse4_1_pextrd): Likewise.
(*sse4_1_pextrq): Likewise.
(sse2_pshufd_1): Likewise.
(sse2_pshuflw_1): Likewise.
(sse2_pshufhw_1): Likewise.
(<sse>_movmskp<ssemodesuffixf2c>): Likewise.
(sse2_pmovmskb): Likewise.
(*sse2_maskmovdqu): Likewise.
(*sse2_maskmovdqu_rex64): Likewise.
(sse_ldmxcsr): Likewise.
(sse_stmxcsr): Likewise.
(abs<mode>2): Likewise.
(sse4_1_movntdqa): Likewise.
(sse4_1_phminposuw): Likewise.
(sse4_1_extendv8qiv8hi2): Likewise.
(*sse4_1_extendv8qiv8hi2): Likewise.
(sse4_1_extendv4qiv4si2): Likewise.
(*sse4_1_extendv4qiv4si2): Likewise.
(sse4_1_extendv2qiv2di2): Likewise.
(*sse4_1_extendv2qiv2di2): Likewise.
(sse4_1_extendv4hiv4si2): Likewise.
(*sse4_1_extendv4hiv4si2): Likewise.
(sse4_1_extendv2hiv2di2): Likewise.
(*sse4_1_extendv2hiv2di2): Likewise.
(sse4_1_extendv2siv2di2): Likewise.
(*sse4_1_extendv2siv2di2): Likewise.
(sse4_1_zero_extendv8qiv8hi2): Likewise.
(*sse4_1_zero_extendv8qiv8hi2): Likewise.
(sse4_1_zero_extendv4qiv4si2): Likewise.
(*sse4_1_zero_extendv4qiv4si2): Likewise.
(sse4_1_zero_extendv2qiv2di2): Likewise.
(*sse4_1_zero_extendv2qiv2di2): Likewise.
(sse4_1_zero_extendv4hiv4si2): Likewise.
(*sse4_1_zero_extendv4hiv4si2): Likewise.
(sse4_1_zero_extendv2hiv2di2): Likewise.
(*sse4_1_zero_extendv2hiv2di2): Likewise.
(sse4_1_zero_extendv2siv2di2): Likewise.
(*sse4_1_zero_extendv2siv2di2): Likewise.
(sse4_1_ptest): Likewise.
(sse4_1_roundp<ssemodesuffixf2c>): Likewise.
(sse4_2_pcmpestri): Likewise.
(sse4_2_pcmpestrm): Likewise.
(sse4_2_pcmpistri): Likewise.
(sse4_2_pcmpistrm): Likewise.
(*avx_movntv2di): Removed.
(*avx_storelpd): Likewise.
(*sse2_storeq_rex64_avx): Likewise.
(*vec_dupv4si_avx): Likewise.
(*avx_pcmpestr_cconly): Likewise.
(*avx_pcmpistr_cconly): Likewise.
(sse2_movntv2di): Support AVX.
(sse2_storelpd): Likewise.
(*sse2_storeq_rex64): Likewise.
(*vec_dupv4si): Likewise.
(sse4_2_pcmpestr_cconly): Likewise.
(sse4_2_pcmpistr_cconly): Likewise.
2008-05-26 H.J. Lu <hongjiu.lu@intel.com>
* config/i386/i386.md (*avx_<code><mode>3): Use AVX_FLOAT_MODE_P.
(*avx_ieee_smin<mode>3): Likewise.
(*avx_ieee_smax<mode>3): Likewise.
2008-05-26 Xuepeng Guo <xuepeng.guo@intel.com>
* config/i386/i386.h (AVX_FLOAT_MODE_P): New.
* config/i386/sse.md (*avx_nand<mode>3): Likewise.
(*avx_<code><mode>3): Likewise.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/ix86/avx@135959 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/ix86/avx@135929 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* config/i386/i386.md (*movsi_1): Use "%v" and "%d0" for AVX
support.
(*movsf_1): Likewise.
(*movdf_integer_rex64): Likewise.
(*extendsfdf2_mixed): Likewise.
(*truncdfsf_fast_mixed): Likewise.
(*truncdfsf_fast_sse): Likewise.
(*truncdfsf_mixed): Likewise.
(fix_trunc<mode>di_sse): Likewise.
(*extendsfdf2_sse): Likewise.
(fix_trunc<mode>si_sse): Likewise.
(*float<SSEMODEI24:mode><MODEF:mode>2_sse_interunit): Likewise.
(*rcpsf2_sse): Likewise.
(*rsqrtsf2_sse): Likewise.
(*sqrt<mode>2_sse): Likewise.
(sse4_1_round<mode>2): Likewise.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/ix86/avx@135928 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/ix86/avx@135867 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* config/i386/i386.md (*sse_prologue_save_insn): Support AVX.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/ix86/avx@135863 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* config/i386/gas.h (ASM_OUTPUT_OPCODE): Undefine before
define. Use ASM_OUTPUT_AVX_PREFIX.
* config/i386/i386.c (print_reg): Handle 'd' to duplicate
the operand.
(print_operand): Handle 'd'.
* config/i386/i386.h (ASM_OUTPUT_AVX_PREFIX): New.
(ASM_OUTPUT_OPCODE): Likewise.
* config/i386/i386.md (*movdi_2): Support AVX.
(*movdf_nointeger): Likewise.
* config/i386/mmx.md (*mov<mode>_internal_rex64_avx): Removed.
(*mov<mode>_internal_rex64): Support AVX.
* config/i386/sse.md (*avx_storehps): Removed.
(sse_storehps): Support AVX.
(*vec_dupv2df): Remove AVX support.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/ix86/avx@135862 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/ix86/avx@135824 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* config/i386/i386.md (maxmin): New.
(*avx_<code><mode>3): Likewise.
(*avx_ieee_smin<mode>3): Likewise.
(*avx_ieee_smax<mode>3): Likewise.
(*movdi_1_rex64): Support AVX.
* config/i386/mmx.md (*movv2sf_internal_rex64_avx): New.
(*movv2sf_internal_avx): Likewise.
* config/i386/sse.md (*avx_vm<plusminus_insn><mode>3): New.
(*avx_div<mode>3): Likewise.
(*avx_<code><mode>3_finite: Likewise.
(*avx_<code><mode>3): Likewise.
(*avx_vm<code><mode>3): Likewise.
(*avx_pmaddwd): Likewise.
(*avx_<code><mode>3): Likewise.
(<code><mode>3): Check flag_finite_math_only.
(*avx_<code><mode>3): Moved before "*<code><mode>3".
(sse_stmxcsr): Support AVX.
(abs<mode>2): Likewise.
2008-05-23 Joey Ye <joey.ye@intel.com>
* config/i386/i386.md (*movsf_1): Insert the missing 'v'.
(fix_trunc<mode>di_sse): Support AVX.
(fix_trunc<mode>si_sse): Likewise.
(*float<SSEMODEI24:mode><MODEF:mode>2_sse_interunit): Likewise.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/ix86/avx@135823 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* final.c (output_asm_name): Don't add one to which_alternative.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/ix86/avx@135822 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/ix86/avx@135767 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
H.J. Lu <hongjiu.lu@intel.com>
* config/i386/i386.md (*movdf_integer_rex64): Support AVX.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/ix86/avx@135766 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/ix86/avx@135760 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* config/i386/i386.c (ix86_expand_vector_init_one_var): Support
256bit AVX modes.
* config/i386/mmx.md (*mov<mode>_internal_rex64_avx): New for
AVX.
(*mov<mode>_internal_avx): Likewise.
* config/i386/sse.md (*vec_concatv2sf_avx): Set prefix to
orig for MMX instructions.
(*vec_concatv2di_avx): Likewise.
(*vec_concatv2si_avx): Likewise.
(*vec_concatv2di_rex64_avx): Likewise.
2008-05-21 H.J. Lu <hongjiu.lu@intel.com>
* config/i386/i386.c (ix86_expand_vector_init_general): Remove
goto for vec_concat and vec_interleave.
2008-05-21 Joey Ye <joey.ye@intel.com>
Xuepeng Guo <xuepeng.guo@intel.com>
H.J. Lu <hongjiu.lu@intel.com>
* config/i386/i386.md (*movsi_1): Support AVX.
(*movsf_1): Likewise.
(*truncdfsf_fast_sse): Likewise.
(*sse4_1_round<mode>2): Likewise.
* config/i386/sse.md (*vec_extractv2di_1_rex64_avx): New.
(*vec_extractv2di_1_avx): Likewise.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/ix86/avx@135749 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* config/i386/i386.c (bdesc_args): Updated.
(ix86_expand_args_builtin): Likewise.
(ix86_expand_vector_set): Don't cast to V4DFmode for 256bit AVX
modes.
* config/i386/sse.md (SSEMODE4F): Removed.
(SSEMODEIF4): Likewise.
(avxextractmode): Likewise.
(avx_vextractf128_<avxmodesuffixp>256): Likewise.
(avx_vextractf128_pd256_0): Likewise.
(avx_vextractf128_pd256_1): Likewise.
(avx_vextractf128_<avxmodesuffixp>256_0): Likewise.
(avx_vextractf128_<avxmodesuffixp>256_1): Likewise.
(avx_vinsertf128_<avxmodesuffixp>256): Likewise.
(avx_vinsertf128_pd256_0): Likewise.
(avx_vinsertf128_pd256_1): Likewise.
(avx_vinsertf128_<avxmodesuffixp>256_0): Likewise.
(avx_vinsertf128_<avxmodesuffixp>256_1): Likewise.
(AVX256MODE4P): New.
(avx_vextractf128<mode>): Likewise.
(vec_extract_lo_<mode>): Likewise.
(vec_extract_hi_<mode>): Likewise.
(vec_extract_lo_<mode>): Likewise.
(vec_extract_hi_<mode>): Likewise.
(vec_extract_lo_v16hi): Likewise.
(vec_extract_hi_v16hi): Likewise.
(vec_extract_lo_v32qi): Likewise.
(vec_extract_hi_v32qi): Likewise.
(avx_vinsertf128<mode>): Likewise.
(vec_set_lo_<mode>): Likewise.
(vec_set_hi_<mode>): Likewise.
(vec_set_lo_<mode>): Likewise.
(vec_set_hi_<mode>): Likewise.
(vec_set_lo_v16hi): Likewise.
(vec_set_hi_v16hi): Likewise.
(vec_set_lo_v32qi): Likewise.
(vec_set_hi_v32qi): Likewise.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/ix86/avx@135717 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* config/i386/i386.c (ix86_expand_vector_init_duplicate): Add
support for V16HImode and V32QImode.
(ix86_expand_vector_init_one_nonzero): Call ix86_expand_vector_set
for 256bit AVX modes.
(ix86_expand_vector_set): Support 256bit AVX modes.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/ix86/avx@135704 138bc75d-0d04-0410-961f-82ee72b054a4
|