1. 28 Jan, 2014 29 commits
  2. 27 Jan, 2014 11 commits
    • pr52125.c: Add -mno-optgp option. · 78c02155
      2014-01-27  Steve Ellcey  <sellcey@mips.com>
      
      	* gcc.target/mips/pr52125.c: Add -mno-optgp option.
      
      From-SVN: r207156
      Steve Ellcey committed
    • i386.c (get_builtin_code_for_version): Separate Westmere from Nehalem... · 0ebe2584
      	* config/i386/i386.c (get_builtin_code_for_version): Separate
      	Westmere from Nehalem, Ivy Bridge from Sandy Bridge and
      	Broadwell from Haswell.
      
      testsuite/ChangeLog:
      
      	* g++.dg/ext/mv16.C: New tests.
      
      From-SVN: r207155
      Allan Sandfeld Jensen committed
    • mips-common.c (TARGET_DEFAULT_TARGET_FLAGS): Remove TARGET_FP_EXCEPTIONS_DEFAULT… · a33fc7fe
      mips-common.c (TARGET_DEFAULT_TARGET_FLAGS): Remove TARGET_FP_EXCEPTIONS_DEFAULT and MASK_FUSED_MADD.
      
      2014-01-27  Steve Ellcey  <sellcey@mips.com>
      
      	* common/config/mips/mips-common.c (TARGET_DEFAULT_TARGET_FLAGS):
      	Remove TARGET_FP_EXCEPTIONS_DEFAULT and MASK_FUSED_MADD.
      	* config/mips/mips.c (mips_option_override): Change setting
      	of TARGET_DSP.
      	* config/mips/mips.h (TARGET_FP_EXCEPTIONS_DEFAULT): Remove.
      	* config/mips/mips.opt (DSP, DSPR2, FP_EXCEPTIONS, FUSED_MADD,
      	MIPS3D) Change from Mask to Var.
      
      From-SVN: r207154
      Steve Ellcey committed
    • mklog: Fix description at top of file. · 64688189
      2014-01-27  Jonathan Wakely  <jwakely@redhat.com>
      
      	* mklog: Fix description at top of file.
      
      From-SVN: r207153
      Jonathan Wakely committed
    • * ipa-inline.c (inline_small_functions): Fix typo. · a99be3c9
      From-SVN: r207151
      Jeff Law committed
    • avx512fintrin.h (_mm512_mask_cvtepi32_storeu_epi8): New. · d256b866
      gcc/
      	* config/i386/avx512fintrin.h (_mm512_mask_cvtepi32_storeu_epi8): New.
      	(_mm512_mask_cvtsepi32_storeu_epi8): Ditto.
      	(_mm512_mask_cvtusepi32_storeu_epi8): Ditto.
      	(_mm512_mask_cvtepi32_storeu_epi16): Ditto.
      	(_mm512_mask_cvtsepi32_storeu_epi16): Ditto.
      	(_mm512_mask_cvtusepi32_storeu_epi16): Ditto.
      	(_mm512_mask_cvtepi64_storeu_epi32): Ditto.
      	(_mm512_mask_cvtsepi64_storeu_epi32): Ditto.
      	(_mm512_mask_cvtusepi64_storeu_epi32): Ditto.
      	(_mm512_mask_cvtepi64_storeu_epi16): Ditto.
      	(_mm512_mask_cvtsepi64_storeu_epi16): Ditto.
      	(_mm512_mask_cvtusepi64_storeu_epi16): Ditto.
      	(_mm512_mask_cvtepi64_storeu_epi8): Ditto.
      	(_mm512_mask_cvtsepi64_storeu_epi8): Ditto.
      	(_mm512_mask_cvtusepi64_storeu_epi8): Ditto.
      	(_mm512_storeu_epi64): Ditto.
      	(_mm512_cmpge_epi32_mask): Ditto.
      	(_mm512_cmpge_epu32_mask): Ditto.
      	(_mm512_cmpge_epi64_mask): Ditto.
      	(_mm512_cmpge_epu64_mask): Ditto.
      	(_mm512_cmple_epi32_mask): Ditto.
      	(_mm512_cmple_epu32_mask): Ditto.
      	(_mm512_cmple_epi64_mask): Ditto.
      	(_mm512_cmple_epu64_mask): Ditto.
      	(_mm512_cmplt_epi32_mask): Ditto.
      	(_mm512_cmplt_epu32_mask): Ditto.
      	(_mm512_cmplt_epi64_mask): Ditto.
      	(_mm512_cmplt_epu64_mask): Ditto.
      	(_mm512_cmpneq_epi32_mask): Ditto.
      	(_mm512_cmpneq_epu32_mask): Ditto.
      	(_mm512_cmpneq_epi64_mask): Ditto.
      	(_mm512_cmpneq_epu64_mask): Ditto.
      	(_mm512_expand_pd): Ditto.
      	(_mm512_expand_ps): Ditto.
      	* config/i386/i386-builtin-types.def: Add PV16QI, PV16QI, PV16HI,
      	VOID_PV8SI_V8DI_QI, VOID_PV8HI_V8DI_QI, VOID_PV16QI_V8DI_QI,
      	VOID_PV16QI_V16SI_HI, VOID_PV16HI_V16SI_HI.
      	* config/i386/i386.c (ix86_builtins): Add
      	IX86_BUILTIN_EXPANDPD512_NOMASK, IX86_BUILTIN_EXPANDPS512_NOMASK,
      	IX86_BUILTIN_PMOVDB512_MEM, IX86_BUILTIN_PMOVDW512_MEM,
      	IX86_BUILTIN_PMOVQB512_MEM, IX86_BUILTIN_PMOVQD512_MEM,
      	IX86_BUILTIN_PMOVQW512_MEM, IX86_BUILTIN_PMOVSDB512_MEM,
      	IX86_BUILTIN_PMOVSDW512_MEM, IX86_BUILTIN_PMOVSQB512_MEM,
      	IX86_BUILTIN_PMOVSQD512_MEM, IX86_BUILTIN_PMOVSQW512_MEM,
      	IX86_BUILTIN_PMOVUSDB512_MEM, IX86_BUILTIN_PMOVUSDW512_MEM,
      	IX86_BUILTIN_PMOVUSQB512_MEM, IX86_BUILTIN_PMOVUSQD512_MEM,
      	IX86_BUILTIN_PMOVUSQW512_MEM.
      	(bdesc_special_args): Add __builtin_ia32_pmovusqd512mem_mask,
      	__builtin_ia32_pmovsqd512mem_mask,
      	__builtin_ia32_pmovqd512mem_mask,
      	__builtin_ia32_pmovusqw512mem_mask,
      	__builtin_ia32_pmovsqw512mem_mask,
      	__builtin_ia32_pmovqw512mem_mask,
      	__builtin_ia32_pmovusdw512mem_mask,
      	__builtin_ia32_pmovsdw512mem_mask,
      	__builtin_ia32_pmovdw512mem_mask,
      	__builtin_ia32_pmovqb512mem_mask,
      	__builtin_ia32_pmovusqb512mem_mask,
      	__builtin_ia32_pmovsqb512mem_mask,
      	__builtin_ia32_pmovusdb512mem_mask,
      	__builtin_ia32_pmovsdb512mem_mask,
      	__builtin_ia32_pmovdb512mem_mask.
      	(bdesc_args): Add __builtin_ia32_expanddf512,
      	__builtin_ia32_expandsf512.
      	(ix86_expand_special_args_builtin): Handle VOID_FTYPE_PV8SI_V8DI_QI, 
      	VOID_FTYPE_PV8HI_V8DI_QI, VOID_FTYPE_PV16HI_V16SI_HI,
      	VOID_FTYPE_PV16QI_V8DI_QI, VOID_FTYPE_PV16QI_V16SI_HI.
      	* config/i386/sse.md (unspec): Add UNSPEC_EXPAND_NOMASK.
      	(avx512f_<code><pmov_src_lower><mode>2_mask_store): New.
      	(*avx512f_<code>v8div16qi2_store_mask): Renamed to ...
      	(avx512f_<code>v8div16qi2_mask_store): This.
      	(avx512f_expand<mode>): New.
      
      testsuite/
      	* gcc.target/i386/avx512f-vexpandpd-1.c: Also test _mm512_expand_pd.
      	* gcc.target/i386/avx512f-vexpandpd-2.c: Ditto. 
      	* gcc.target/i386/avx512f-vexpandps-1.c: Also test _mm512_expand_ps.
      	* gcc.target/i386/avx512f-vexpandps-2.c: Ditto. 
      	* gcc.target/i386/avx512f-vmovdqu64-1.c: Also test _mm512_storeu_epi64.
      	* gcc.target/i386/avx512f-vmovdqu64-2.c: Ditto. 
      	* gcc.target/i386/avx512f-vpcmpged-1.c: New. 
      	* gcc.target/i386/avx512f-vpcmpged-2.c: Ditto. 
      	* gcc.target/i386/avx512f-vpcmpgeq-1.c: Ditto. 
      	* gcc.target/i386/avx512f-vpcmpgeq-2.c: Ditto. 
      	* gcc.target/i386/avx512f-vpcmpgeud-1.c: Ditto. 
      	* gcc.target/i386/avx512f-vpcmpgeud-2.c: Ditto. 
      	* gcc.target/i386/avx512f-vpcmpgeuq-1.c: Ditto. 
      	* gcc.target/i386/avx512f-vpcmpgeuq-2.c: Ditto. 
      	* gcc.target/i386/avx512f-vpcmpled-1.c: Ditto. 
      	* gcc.target/i386/avx512f-vpcmpled-2.c: Ditto. 
      	* gcc.target/i386/avx512f-vpcmpleq-1.c: Ditto. 
      	* gcc.target/i386/avx512f-vpcmpleq-2.c: Ditto. 
      	* gcc.target/i386/avx512f-vpcmpleud-1.c: Ditto. 
      	* gcc.target/i386/avx512f-vpcmpleud-2.c: Ditto. 
      	* gcc.target/i386/avx512f-vpcmpleuq-1.c: Ditto. 
      	* gcc.target/i386/avx512f-vpcmpleuq-2.c: Ditto. 
      	* gcc.target/i386/avx512f-vpcmpltd-1.c: Ditto. 
      	* gcc.target/i386/avx512f-vpcmpltd-2.c: Ditto. 
      	* gcc.target/i386/avx512f-vpcmpltq-1.c: Ditto. 
      	* gcc.target/i386/avx512f-vpcmpltq-2.c: Ditto. 
      	* gcc.target/i386/avx512f-vpcmpltud-1.c: Ditto. 
      	* gcc.target/i386/avx512f-vpcmpltud-2.c: Ditto. 
      	* gcc.target/i386/avx512f-vpcmpltuq-1.c: Ditto. 
      	* gcc.target/i386/avx512f-vpcmpltuq-2.c: Ditto. 
      	* gcc.target/i386/avx512f-vpcmpneqd-1.c: Ditto. 
      	* gcc.target/i386/avx512f-vpcmpneqd-2.c: Ditto. 
      	* gcc.target/i386/avx512f-vpcmpneqq-1.c: Ditto. 
      	* gcc.target/i386/avx512f-vpcmpneqq-2.c: Ditto. 
      	* gcc.target/i386/avx512f-vpcmpnequd-1.c: Ditto. 
      	* gcc.target/i386/avx512f-vpcmpnequd-2.c: Ditto. 
      	* gcc.target/i386/avx512f-vpcmpnequq-1.c: Ditto. 
      	* gcc.target/i386/avx512f-vpcmpnequq-2.c: Ditto. 
      	* gcc.target/i386/avx512f-vpmovdb-1.c: Also test
      	_mm512_mask_cvtepi32_storeu_epi8.
      	* gcc.target/i386/avx512f-vpmovdb-2.c: Ditto. 
      	* gcc.target/i386/avx512f-vpmovdw-1.c: Also test
      	_mm512_mask_cvtepi32_storeu_epi16.
      	* gcc.target/i386/avx512f-vpmovdw-2.c: Ditto. 
      	* gcc.target/i386/avx512f-vpmovqb-1.c: Also test
      	_mm512_mask_cvtepi64_storeu_epi8.
      	* gcc.target/i386/avx512f-vpmovqb-2.c: Ditto. 
      	* gcc.target/i386/avx512f-vpmovqw-1.c: Also test
      	_mm512_mask_cvtepi64_storeu_epi16.
      	* gcc.target/i386/avx512f-vpmovqw-2.c: Ditto. 
      	* gcc.target/i386/avx512f-vpmovqd-1.c: Also test
      	_mm512_mask_cvtepi64_storeu_epi32.
      	* gcc.target/i386/avx512f-vpmovqd-2.c: Ditto. 
      	* gcc.target/i386/avx512f-vpmovsdb-1.c: Also test
      	_mm512_mask_cvtsepi32_storeu_epi8.
      	* gcc.target/i386/avx512f-vpmovsdb-2.c: Ditto. 
      	* gcc.target/i386/avx512f-vpmovsdw-1.c: Also test
      	_mm512_mask_cvtsepi32_storeu_epi16.
      	* gcc.target/i386/avx512f-vpmovsdw-2.c: Ditto. 
      	* gcc.target/i386/avx512f-vpmovsqb-1.c: Also test
      	_mm512_mask_cvtsepi64_storeu_epi8.
      	* gcc.target/i386/avx512f-vpmovsqb-2.c: Ditto. 
      	* gcc.target/i386/avx512f-vpmovsqw-1.c: Also test
      	_mm512_mask_cvtsepi64_storeu_epi16.
      	* gcc.target/i386/avx512f-vpmovsqw-2.c: Ditto. 
      	* gcc.target/i386/avx512f-vpmovsqd-1.c: Also test
      	_mm512_mask_cvtsepi64_storeu_epi32.
      	* gcc.target/i386/avx512f-vpmovsqd-2.c: Ditto. 
      	* gcc.target/i386/avx512f-vpmovusdb-1.c: Also test
      	_mm512_mask_cvtusepi32_storeu_epi8.
      	* gcc.target/i386/avx512f-vpmovusdb-2.c: Ditto. 
      	* gcc.target/i386/avx512f-vpmovusdw-1.c: Also test
      	_mm512_mask_cvtusepi32_storeu_epi16.
      	* gcc.target/i386/avx512f-vpmovusdw-2.c: Ditto. 
      	* gcc.target/i386/avx512f-vpmovusqb-1.c: Also test
      	_mm512_mask_cvtusepi64_storeu_epi8.
      	* gcc.target/i386/avx512f-vpmovusqb-2.c: Ditto. 
      	* gcc.target/i386/avx512f-vpmovusqw-1.c: Also test
      	_mm512_mask_cvtusepi64_storeu_epi16.
      	* gcc.target/i386/avx512f-vpmovusqw-2.c: Ditto. 
      	* gcc.target/i386/avx512f-vpmovusqd-1.c: Also test
      	_mm512_mask_cvtusepi64_storeu_epi32.
      	* gcc.target/i386/avx512f-vpmovusqd-2.c: Ditto. 
      	* gcc.target/i386/m128-check.h: Add checkVs, checkVb.
      
      From-SVN: r207150
      Ilya Tocar committed
    • avx512pfintrin.h (_mm512_mask_prefetch_i32gather_pd): New. · e711dffd
      gcc/
              * config/i386/avx512pfintrin.h (_mm512_mask_prefetch_i32gather_pd): New.
      	(_mm512_mask_prefetch_i64gather_pd): Ditto.
      	(_mm512_prefetch_i32scatter_pd): Ditto.
      	(_mm512_mask_prefetch_i32scatter_pd): Ditto.
      	(_mm512_prefetch_i64scatter_pd): Ditto.
      	(_mm512_mask_prefetch_i64scatter_pd): Ditto.
      	(_mm512_mask_prefetch_i32gather_ps): Fix operand type.
      	(_mm512_mask_prefetch_i64gather_ps): Ditto.
      	(_mm512_prefetch_i32scatter_ps): Ditto.
      	(_mm512_mask_prefetch_i32scatter_ps): Ditto.
      	(_mm512_prefetch_i64scatter_ps): Ditto.
      	(_mm512_mask_prefetch_i64scatter_ps): Ditto.
      	* config/i386/i386-builtin-types.def: Define
      	VOID_FTYPE_QI_V8SI_PCINT64_INT_INT and VOID_FTYPE_QI_V8DI_PCINT64_INT_INT.
      	* config/i386/i386.c (ix86_builtins): Define IX86_BUILTIN_GATHERPFQPD,
      	IX86_BUILTIN_GATHERPFDPD, IX86_BUILTIN_SCATTERPFDPD,
      	IX86_BUILTIN_SCATTERPFQPD.
      	(ix86_init_mmx_sse_builtins): Define __builtin_ia32_gatherpfdpd,
      	__builtin_ia32_gatherpfdps, __builtin_ia32_gatherpfqpd,
      	__builtin_ia32_gatherpfqps, __builtin_ia32_scatterpfdpd,
      	__builtin_ia32_scatterpfdps, __builtin_ia32_scatterpfqpd,
      	__builtin_ia32_scatterpfqps.
      	(ix86_expand_builtin): Expand new built-ins.
      	* config/i386/sse.md (avx512pf_gatherpf<mode>): Add SF suffix,
      	fix memory access data type.
      	(*avx512pf_gatherpf<mode>_mask): Ditto.
      	(*avx512pf_gatherpf<mode>): Ditto.
      	(avx512pf_scatterpf<mode>): Ditto.
      	(*avx512pf_scatterpf<mode>_mask): Ditto.
      	(*avx512pf_scatterpf<mode>): Ditto.
      	(GATHER_SCATTER_SF_MEM_MODE): New.
      	(avx512pf_gatherpf<mode>df): Ditto.
      	(*avx512pf_gatherpf<mode>df_mask): Ditto.
      	(*avx512pf_scatterpf<mode>df): Ditto.
      
      testsuite/
              * gcc.target/i386/avx512pf-vgatherpf0dpd-1.c: New.
      	* gcc.target/i386/avx512pf-vgatherpf0qpd-1.c: Ditto.
      	* gcc.target/i386/avx512pf-vgatherpf1dpd-1.c: Ditto.
      	* gcc.target/i386/avx512pf-vgatherpf1qpd-1.c: Ditto.
      	* gcc.target/i386/avx512pf-vscatterpf0dpd-1.c: Ditto.
      	* gcc.target/i386/avx512pf-vscatterpf0qpd-1.c: Ditto.
      	* gcc.target/i386/avx512pf-vscatterpf1dpd-1.c: Ditto.
      	* gcc.target/i386/avx512pf-vscatterpf1qpd-1.c: Ditto.
      	* gcc.target/i386/sse-14.c: Add new built-ins, fix AVX-512ER
      	built-ins roudning immediate.
      	* gcc.target/i386/sse-22.c: Add new built-ins.
      	* gcc.target/i386/sse-23.c: Ditto.
      	* gcc.target/i386/avx-1.c: Ditto.
      
      From-SVN: r207149
      Kirill Yukhin committed
    • re PR libstdc++/59215 (tsan: warning in shared_ptr_base.h) · fb1ca954
      	PR libstdc++/59215
      	* include/bits/shared_ptr_base.h
      	(_Sp_counted_base<_S_atomic>::_M_add_ref_lock()): Use relaxed atomic
      	load.
      
      From-SVN: r207147
      Jonathan Wakely committed
    • [multiple changes] · b1d12996
      2014-01-27  Robert Dewar  <dewar@adacore.com>
      
      	* sem_res.adb (Resolve_Comparison_Op): Add type name/location
      	to unordered msg.
      	(Resolve_Range): Add type name/location to unordered msg.
      
      2014-01-27  Claire Dross  <dross@adacore.com>
      
      	* a-cofove.adb/s (Copy): Add precondition so that Copy (Source,
      	Capacity) is only called with Capacity >= Length (Source) and
      	Capacity in Capacity_Range.
      	* a-cfdlli.adb/s, a-cfhase.adb/s, a-cfhama.adb/s, a-cforse.adb/s,
      	a-cforma.adb/s (Copy): Add precondition so that Copy (Source, Capacity)
      	is only called with Capacity >= Source.Capacity. Raise Capacity_Error
      	in the code is this is not the case.
      
      2014-01-27  Thomas Quinot  <quinot@adacore.com>
      
      	* sem_ch4.adb (Analyze_Selected_Component): Fix handling of
      	selected component in an instance where the component of the
      	actual is not visibile at instantiation.
      
      From-SVN: r207146
      Arnaud Charlet committed
    • sem_ch6.adb: sem_ch6.adb (Set_Actual_Subtypes): If the type has a dynamic predicate... · fcadacf7
      2014-01-27  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch6.adb: sem_ch6.adb (Set_Actual_Subtypes): If the type
      	has a dynamic predicate, generate freeze node for Actual_Subtype
      	at once, because the declaration of the corresponding predicate
      	function will make reference to it.
      
      From-SVN: r207145
      Ed Schonberg committed
    • [multiple changes] · 8b4230c8
      2014-01-27  Tristan Gingold  <gingold@adacore.com>
      
      	* exp_ch7.adb, exp_ch9.adb: Adjust comments.
      
      2014-01-27  Robert Dewar  <dewar@adacore.com>
      
      	* exp_ch4.adb (Expand_N_Op_Expon): Remove unsigned type test
      	for 2**X optimization.
      
      2014-01-27  Ed Schonberg  <schonberg@adacore.com>
      
      	* a-suenst.adb: strings.utf_encoding.strings (Decode): Check
      	explicitly whether value is in range of Character, because the
      	library is typically compiled with range checks disabled, and
      	we cannot rely on the implicit check on the argument of 'Val.
      
      2014-01-27  Vincent Celier  <celier@adacore.com>
      
      	* a-ciorma.adb, a-cihama.adb (Assign): Copy the Source to the Target,
      	not the Target to itself.
      
      2014-01-27  Robert Dewar  <dewar@adacore.com>
      
      	* vms_conv.ads, ali.adb, sem_ch6.ads, opt.ads, vms_cmds.ads: Minor
      	changes to avoid incorrect use of unordered enum types.
      
      2014-01-27  Thomas Quinot  <quinot@adacore.com>
      
      	* sem_ch4.adb: Minor reformatting.
      
      From-SVN: r207144
      Arnaud Charlet committed