1. 11 May, 2017 28 commits
  2. 10 May, 2017 12 commits
    • re PR target/80090 (Incorrect assembler - output_addr_const may generate… · 686048e4
      re PR target/80090 (Incorrect assembler - output_addr_const may generate visibility output between op and address constant)
      
      	PR target/80090
      	* config/pa/pa.c (pa_assemble_integer): When outputting a SYMBOL_REF,
      	handle calling assemble_external ourself.
      
      From-SVN: r247872
      John David Anglin committed
    • re PR target/79027 (fold-const.c:11104:1: internal compiler error: Floating point exception) · 212b7e9c
      	PR target/79027
      	* config/pa/pa.c (pa_cannot_change_mode_class): Reject changes to/from
      	modes with zero size.  Enhance comment.
      
      From-SVN: r247869
      John David Anglin committed
    • class.c (handle_using_decl): Always use OVL_CURRENT. · 3aa0a770
      	* class.c (handle_using_decl): Always use OVL_CURRENT.
      	(resolve_address_of_overloaded_function): Move iterator decl into
      	for scope.  Don't strip anticipated decls here.
      
      From-SVN: r247864
      Nathan Sidwell committed
    • pt.c (print_candidates_1): Separate TREE_LIST and OVERLOAD printing. · 3dd83617
      	* pt.c (print_candidates_1): Separate TREE_LIST and OVERLOAD
      	printing.
      	(print_candidates): Adjust.
      
      From-SVN: r247863
      Nathan Sidwell committed
    • cp-tree.h (build_new_function_call): Lose koenig_p arg. · 268de039
      	* cp-tree.h (build_new_function_call): Lose koenig_p arg.  Fix
      	line breaking.
      	* call.c (build_new_function_call): Lose koenig_p arg.  Remove
      	koenig_p handling here.
      	* pt.c (push_template_decl_real): Unconditionally
      	retrofit_lang_decl.
      	(tsubst_omp_clauses): Likewise.
      	(do_class_deduction): Adjust buld_new_function_call calls.
      	* semantics.c (finish_call_expr): Likewise.
      
      From-SVN: r247860
      Nathan Sidwell committed
    • Bump version namespace. · 87c7063d
      2017-05-10  François Dumont  <fdumont@gcc.gnu.org>
      
      	Bump version namespace.
      	* config/abi/pre/gnu-versioned-namespace.ver: Bump version namespace
      	from __7 to __8. Bump GLIBCXX_7.0 to GLIBCXX_8.0.
      	* acinclude.m4 (libtool_VERSION): Bump to 8:0:0.
      	* include/bits/c++config: Adapt.
      	* include/bits/regex.h: Adapt.
      	* include/experimental/bits/fs_fwd.h: Adapt.
      	* include/experimental/bits/lfts_config.h: Adapt.
      	* include/std/variant: Adapt.
      	* python/libstdcxx/v6/printers.py: Adapt.
      	* testsuite/libstdc++-prettyprinters/48362.cc: Adapt.
      	* include/bits/stl_tree.h (_Rb_tree_impl<>): Remove _Is_pod_comparator
      	template parameter when version namespace is active.
      
      From-SVN: r247858
      François Dumont committed
    • Have other unify failure functions call unify_invalid. · dd54ca56
      	* pt.c (unify_parameter_deduction_failure, unify_cv_qual_mismatch)
      	(unify_type_mismatch, unify_parameter_pack_mismatch)
      	(unify_ptrmem_cst_mismatch, unify_expression_unequal)
      	(unify_parameter_pack_inconsistent, unify_inconsistency)
      	(unify_vla_arg, unify_method_type_error, unify_arity)
      	(unify_arg_conversion, unify_no_common_base)
      	(unify_inconsistent_template_template_parameters)
      	(unify_template_deduction_failure)
      	(unify_template_argument_mismatch)
      	(unify_overload_resolution_failure): Call unify_invalid.
      
      From-SVN: r247857
      Jason Merrill committed
    • CWG 1847 - Clarifying compatibility during partial ordering · 00e08b0f
      	* pt.c (more_specialized_fn): No order between two non-deducible
      	parameters.
      
      From-SVN: r247856
      Jason Merrill committed
    • stl_algobase.h (std::__iter_swap<false>): Remove _GLIBCXX_MOVE usage. · e5795ce4
      2017-05-10  François Dumont  <fdumont@gcc.gnu.org>
      
      	* include/bits/stl_algobase.h (std::__iter_swap<false>): Remove
      	_GLIBCXX_MOVE usage.
      
      From-SVN: r247855
      François Dumont committed
    • rs6000.c (altivec_init_builtins): Define POWER8 built-ins for vec_xl and vec_xst… · d45d6282
      rs6000.c (altivec_init_builtins): Define POWER8 built-ins for vec_xl and vec_xst with short and char pointer...
      
      [gcc]
      
      2017-05-10  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
      
      	* config/rs6000/rs6000.c (altivec_init_builtins): Define POWER8
      	built-ins for vec_xl and vec_xst with short and char pointer
      	arguments.
      
      [gcc/testsuite]
      
      2017-05-10  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
      
      	* gcc.target/powerpc/p8-vec-xl-xst.c: New file.
      
      From-SVN: r247854
      Bill Schmidt committed
    • * config/i386/avx512fintrin.h (_mm_mask_max_round_sd) · f4ee3a9e
      	(_mm_maskz_max_round_sd, _mm_mask_max_round_ss)
      	(_mm_maskz_max_round_ss, _mm_mask_min_round_sd)
      	(_mm_maskz_min_round_sd, _mm_mask_min_round_ss)
      	(_mm_maskz_min_round_ss): New intrinsics.
      	* config/i386/i386-builtin-types.def (V2DF, V2DF, V2DF, V2DF, UQI, INT)
      	(V4SF, V4SF, V4SF, V4SF, UQI, INT): New function type aliases.
      	* config/i386/i386-builtin.def (__builtin_ia32_maxsd_mask_round)
      	(__builtin_ia32_maxss_mask_round, __builtin_ia32_minsd_mask_round)
      	(__builtin_ia32_minss_mask_round): New builtins.
      	* config/i386/i386.c (V2DF_FTYPE_V2DF_V2DF_V2DF_UQI_INT)
      	(V4SF_FTYPE_V4SF_V4SF_V4SF_UQI_INT): Handle new types.
      	* config/i386/sse.md (<sse>_vm<code><mode>3<round_saeonly_name>):
      	Rename to ...
      	(<sse>_vm<code><mode>3<mask_name><round_saeonly_name>): ... this.
      	(v<maxmin_float><ssescalarmodesuffix>\t{<round_saeonly_op3>%2, %1, %0|%0, %1, %<iptr>2<round_saeonly_op3>}):
      	Change to ...
      	(v<maxmin_float><ssescalarmodesuffix>\t{<round_saeonly_mask_op3>%2, %1, %0<mask_operand3>|%0<mask_operand3>, %1, %<iptr>2<round_saeonly_mask_op3>}):
      	... this.
      
      	* config/i386/avx512fintrin.h (_mm_mask_mul_round_sd)
      	(_mm_maskz_mul_round_sd, _mm_mask_mul_round_ss)
      	(_mm_maskz_mul_round_ss, _mm_mask_div_round_sd)
      	(_mm_maskz_div_round_sd, _mm_mask_div_round_ss)
      	(_mm_maskz_div_round_ss, _mm_mask_mul_sd, _mm_maskz_mul_sd)
      	(_mm_mask_mul_ss, _mm_maskz_mul_ss, _mm_mask_div_sd)
      	(_mm_maskz_div_sd, _mm_mask_div_ss, _mm_maskz_div_ss): New intrinsics.
      	* config/i386/i386-builtin-types.def (V2DF_FTYPE_V2DF_V2DF_V2DF_UQI_INT)
      	(V4SF_FTYPE_V4SF_V4SF_V4SF_UQI_INT): New function type aliases.
      	* config/i386/i386-builtin.def (__builtin_ia32_divsd_mask_round)
      	(__builtin_ia32_divss_mask_round, __builtin_ia32_mulsd_mask_round)
      	(__builtin_ia32_mulss_mask_round): New builtins.
      	* config/i386/i386.c (V2DF_FTYPE_V2DF_V2DF_V2DF_UQI_INT)
      	(V4SF_FTYPE_V4SF_V4SF_V4SF_UQI_INT): Handle new types.
      	* config/i386/sse.md (<sse>_vm<multdiv_mnemonic><mode>3<round_name>):
      	Rename to ...
      	(<sse>_vm<multdiv_mnemonic><mode>3<mask_name><round_name>): ... this.
      	(v<multdiv_mnemonic><ssescalarmodesuffix>\t{<round_op3>%2, %1, %0|%0, %1, %<iptr>2<round_op3>}):
      	Change to ...
      	(v<multdiv_mnemonic><ssescalarmodesuffix>\t{<round_mask_op3>%2, %1, %0<mask_operand3>|%0<mask_operand3>, %1, %<iptr>2<round_mask_op3>}):
      	... this.
      
      	* config/i386/avxintrin.h (_mm256_set_m128, _mm256_set_m128d)
      	(_mm256_set_m128i, _mm256_setr_m128, _mm256_setr_m128d)
      	(_mm256_setr_m128i): New intrinsics.
      
      	* config/i386/avx512fintrin.h (_mm_mask_rcp14_sd)
      	(_mm_maskz_rcp14_sd, _mm_mask_rcp14_ss)
      	(_mm_maskz_rcp14_ss): New intrinsics.
      	* config/i386/i386-builtin.def (__builtin_ia32_rcp14sd_mask)
      	(__builtin_ia32_rcp14ss_mask): New builtins.
      	* config/i386/sse.md (srcp14<mode>_mask): New pattern.
      
      testsuite/ChangeLog:
      
      	* gcc.target/i386/avx512f-vmaxsd-1.c (_mm_mask_max_round_sd)
      	(_mm_maskz_max_round_sd): Test new intrinsics.
      	* gcc.target/i386/avx512f-vmaxsd-2.c: New.
      	* gcc.target/i386/avx512f-vmaxss-1.c (_mm_mask_max_round_ss)
      	(_mm_maskz_max_round_ss): Test new intrinsics.
      	* gcc.target/i386/avx512f-vmaxss-2.c: New.
      	* gcc.target/i386/avx512f-vminsd-1.c (_mm_mask_min_round_sd)
      	(_mm_maskz_min_round_sd): Test new intrinsics.
      	* gcc.target/i386/avx512f-vminsd-2.c: New.
      	* gcc.target/i386/avx512f-vminss-1.c (_mm_mask_min_round_ss)
      	(_mm_maskz_min_round_ss): Test new intrinsics.
      	* gcc.target/i386/avx512f-vminss-2.c: New.
      	* gcc.target/i386/avx-1.c (__builtin_ia32_maxsd_mask_round)
      	(__builtin_ia32_maxss_mask_round, __builtin_ia32_minsd_mask_round)
      	(__builtin_ia32_minss_mask_round): Test new builtins.
      	* gcc.target/i386/sse-13.c: Ditto.
      	* gcc.target/i386/sse-23.c: Ditto.
      	* gcc.target/i386/sse-14.c (_mm_maskz_max_round_sd)
      	(_mm_maskz_max_round_ss, _mm_maskz_min_round_sd)
      	(_mm_maskz_min_round_ss, _mm_mask_max_round_sd)
      	(_mm_mask_max_round_ss, _mm_mask_min_round_sd)
      	(_mm_mask_min_round_ss): Test new intrinsics.
      	* gcc.target/i386/testround-1.c: Ditto.
      
      	* gcc.target/i386/avx512f-vdivsd-1.c (_mm_mask_div_sd)
      	(_mm_maskz_div_sd, _mm_mask_div_round_sd)
      	(_mm_maskz_div_round_sd): Test new intrinsics.
      	* gcc.target/i386/avx512f-vdivsd-2.c: New.
      	* gcc.target/i386/avx512f-vdivss-1.c (_mm_mask_div_ss)
      	(_mm_maskz_div_ss, _mm_mask_div_round_ss)
      	(_mm_maskz_div_round_ss): Test new intrinsics.
      	* gcc.target/i386/avx512f-vdivss-2.c: New.
      	* gcc.target/i386/avx512f-vmulsd-1.c (_mm_mask_mul_sd)
      	(_mm_maskz_mul_sd, _mm_mask_mul_round_sd)
      	(_mm_maskz_mul_round_sd): Test new intrinsics.
      	* gcc.target/i386/avx512f-vmulsd-2.c: New.
      	* gcc.target/i386/avx512f-vmulss-1.c (_mm_mask_mul_ss)
      	(_mm_maskz_mul_ss, _mm_mask_mul_round_ss)
      	(_mm_maskz_mul_round_ss): Test new intrinsics.
      	* gcc.target/i386/avx512f-vmulss-2.c: New.
      	* gcc.target/i386/avx-1.c (__builtin_ia32_divsd_mask_round)
      	(__builtin_ia32_divss_mask_round, __builtin_ia32_mulsd_mask_round)
      	(__builtin_ia32_mulss_mask_round): Test new builtins.
      	* gcc.target/i386/sse-13.c: Ditto.
      	* gcc.target/i386/sse-23.c: Ditto.
      	* gcc.target/i386/sse-14.c (_mm_maskz_div_round_sd)
      	(_mm_maskz_div_round_ss, _mm_maskz_mul_round_sd)
      	(_mm_maskz_mul_round_ss): Test new intrinsics.
      	* gcc.target/i386/testround-1.c: Ditto.
      
      	* gcc.target/i386/avx-vinsertf128-256-1: Test new intrinsics.
      	* gcc.target/i386/avx-vinsertf128-256-2: Ditto.
      	* gcc.target/i386/avx-vinsertf128-256-3: Ditto.
      
      	* gcc.target/i386/avx512f-vrcp14sd-1.c: Test new intrinsics.
      	* gcc.target/i386/avx512f-vrcp14sd-2.c: Ditto.
      	* gcc.target/i386/avx512f-vrcp14ss-1.c: Ditto.
      	* gcc.target/i386/avx512f-vrcp14ss-2.c: Ditto.
      
      From-SVN: r247851
      Uros Bizjak committed
    • Ada/x32: PR ada/80626: Correct Memory_Size · 6071bbaa
      X32 uses 64 as word size instead of 32.  This must not affect the
      Address type definition which is based on Memory_Size.
      
      	PR ada/80626
      	* system-linux-x86.ads (Memory_Size): Use Long_Integer'Size
      	instead of Word_Size.
      
      From-SVN: r247849
      H.J. Lu committed