1. 08 Jun, 2017 12 commits
    • t-vxworks (LIBGCC2_INCLUDES): Add path to wrn/coreip to the set of -I options... · 1ac644c8
      2017-06-08  Olivier Hainque  <hainque@adacore.com>
      
              * config/t-vxworks (LIBGCC2_INCLUDES): Add path to wrn/coreip to
              the set of -I options, support for direct inclusions of net/uio.h
              by VxWorks header files via ioLib.h.
      
      From-SVN: r249016
      Olivier Hainque committed
    • tree-chkp.c (chkp_get_hard_register_var_fake_base_address): New function. · 0036534f
      gcc/ChangeLog:
      
      2017-05-09  Alexander Ivchenko  <aivchenk@gmail.com>
      
              * tree-chkp.c (chkp_get_hard_register_var_fake_base_address):
              New function.
              (chkp_get_hard_register_fake_addr_expr): Ditto.
              (chkp_build_addr_expr): Add check for hard reg case.
              (chkp_parse_array_and_component_ref): Ditto.
              (chkp_find_bounds_1): Ditto.
              (chkp_process_stmt): Don't generate bounds store for
              hard reg case.
      
      
      gcc/testsuite/ChangeLog:
      
      2017-05-09  Alexander Ivchenko  <aivchenk@gmail.com>
      
              * gcc.target/i386/mpx/hard-reg-2-lbv.c: New test.
              * gcc.target/i386/mpx/hard-reg-2-nov.c: New test.
              * gcc.target/i386/mpx/hard-reg-2-ubv.c: New test.
      
      From-SVN: r249015
      Alexander Ivchenko committed
    • predict.c (maybe_hot_bb_p): Do not check profile status. · b69d9ac6
      
      	* predict.c (maybe_hot_bb_p): Do not check profile status.
      	(maybe_hot_edge_p): Likewise.
      	(probably_never_executed): Check for zero counts even if profile
      	is not read.
      	(unlikely_executed_edge_p): New function.
      	(unlikely_executed_stmt_p): New function.
      	(unlikely_executed_bb_p): New function.
      	(set_even_probabilities): Use unlikely predicates.
      	(combine_predictions_for_bb): Likewise.
      	(predict_paths_for_bb): Likewise.
      	(predict_paths_leading_to_edge): Likewise.
      	(determine_unlikely_bbs): New function.
      	(estimate_bb_frequencies): Use it.
      	(compute_function_frequency): Use zero counts even if profile is
      	not read.
      	* profile-count.h: Fix typo.
      
      	* g++.dg/tree-ssa/counts-1.C: New testcase.
      	* gcc.dg/tree-ssa/counts-1.c: New testcase.
      
      From-SVN: r249013
      Jan Hubicka committed
    • Add mov[us]wb store intrinsics. · c46f9051
      gcc/
      	* config/i386/avx512bwintrin.h (_mm512_mask_cvtepi16_storeu_epi8,
      	_mm512_mask_cvtsepi16_storeu_epi8,
      	_mm512_mask_cvtusepi16_storeu_epi8): New intrinsics.
      	* config/i386/avx512vlbwintrin.h (_mm256_mask_cvtepi16_storeu_epi8,
      	_mm_mask_cvtsepi16_storeu_epi8, _mm256_mask_cvtsepi16_storeu_epi8,
      	_mm_mask_cvtusepi16_storeu_epi8, _mm256_mask_cvtusepi16_storeu_epi8,
      	_mm_mask_cvtepi16_storeu_epi8): New intrinsics.
      	* config/i386/i386-builtin-types.def (PV8Q, V8QI): New pointer type.
      	(VOID_FTYPE_PV32QI_V32HI_USI, VOID_FTYPE_PV8QI_V8HI_UQI,
      	VOID_FTYPE_PV16QI_V16HI_UHI): New function types.
      	* config/i386/i386-builtin.def (__builtin_ia32_pmovwb128mem_mask,
      	__builtin_ia32_pmovwb256mem_mask, __builtin_ia32_pmovswb128mem_mask,
      	__builtin_ia32_pmovswb256mem_mask, __builtin_ia32_pmovuswb128mem_mask,
      	__builtin_ia32_pmovuswb256mem_mask,
      	__builtin_ia32_pmovuswb512mem_mask, __builtin_ia32_pmovswb512mem_mask)
      	__builtin_ia32_pmovwb512mem_mask): New builtins.
      
      gcc/testsuite/
      	* gcc.target/i386/avx512bw-vpmovswb-1.c: Add new intrinsics to test.
      	* gcc.target/i386/avx512bw-vpmovswb-2.c: Ditto.
      	* gcc.target/i386/avx512bw-vpmovuswb-1.c: Ditto.
      	* gcc.target/i386/avx512bw-vpmovuswb-2.c: Ditto.
      	* gcc.target/i386/avx512bw-vpmovwb-1.c: Ditto.
      	* gcc.target/i386/avx512bw-vpmovwb-2.c: Ditto.
      
      From-SVN: r249012
      Julia Koval committed
    • re PR sanitizer/80932 (UBSAN: false positive as a result of distribution:… · 5ed41889
      re PR sanitizer/80932 (UBSAN: false positive as a result of distribution: c1*(c2*v1-c3*v2)=>c1*c2*v1-c1*c3*v2)
      
      	PR sanitize/80932
      	* c-c++-common/ubsan/pr80932.c: Test with ints, not with long ints.
      
      From-SVN: r249010
      Marek Polacek committed
    • [PR73350][PR80862] Improve subst for RC-capable insns. · 8055904e
      PR target/73350,80862
      gcc/
      	* config/i386/subst.md (round): Fix round pattern.
      	* config/i386/i386.c (ix86_erase_embedded_rounding):
      	Fix erasing rounding for the fixed pattern.
      
      gcc/testsuite/
      	* gcc.target/i386/pr73350.c: New test.
      
      From-SVN: r249009
      Julia Koval committed
    • * cfgbuild.c (find_many_sub_basic_blocks): Fix thinko. · 1972030c
      From-SVN: r249008
      Jan Hubicka committed
    • vx_crtbegin_auto.c: Update year in copyright notice. · 724faf7b
      2017-06-08  Olivier Hainque  <hainque@adacore.com>
      
              * vx_crtbegin_auto.c: Update year in copyright notice.
              * vx_crtbegin.c: Likewise.
              * vx_crtbegin.inc: Likewise. 
              * vx_crtend.c:  Likewise.
      
      From-SVN: r249007
      Olivier Hainque committed
    • gcov: Add block_info::block_info (PR gcov-profile/80911). · a82be9d5
      2017-06-08  Martin Liska  <mliska@suse.cz>
      
      	PR gcov-profile/80911
      	* gcov.c (block_info::block_info): New constructor.
      
      From-SVN: r249006
      Martin Liska committed
    • re PR middle-end/77925 (Add __builtin_issubnormal) · 94fc87ec
      2017-06-08  Tamar Christina  <tamar.christina@arm.com>
      
      	PR middle-end/77925
      	PR middle-end/77926
      	PR middle-end/66462
      
      	* gcc/builtins.c (fold_builtin_fpclassify): Remove.
      	(fold_builtin_interclass_mathfn): Remove.
      	(expand_builtin): Add builtins to lowering list.
      	(fold_builtin_n): Remove fold_builtin_varargs.
      	(fold_builtin_varargs): Remove.
      	* gcc/builtins.def (BUILT_IN_ISZERO, BUILT_IN_ISSUBNORMAL): New.
      	* gcc/real.h (get_min_float): New.
      	(real_format): Add is_ieee_compatible field.
      	* gcc/real.c (get_min_float): New.
      	(ieee_single_format): Set is_ieee_compatible flag.
      	* gcc/gimple-low.c (lower_stm): Define BUILT_IN_FPCLASSIFY,
      	CASE_FLT_FN (BUILT_IN_ISINF), BUILT_IN_ISINFD32, BUILT_IN_ISINFD64,
      	BUILT_IN_ISINFD128, BUILT_IN_ISNAND32, BUILT_IN_ISNAND64,
      	BUILT_IN_ISNAND128, BUILT_IN_ISNAN, BUILT_IN_ISNORMAL, BUILT_IN_ISZERO,
      	BUILT_IN_ISSUBNORMAL, CASE_FLT_FN (BUILT_IN_FINITE), BUILT_IN_FINITED32
      	BUILT_IN_FINITED64, BUILT_IN_FINITED128, BUILT_IN_ISFINITE.
      	(lower_builtin_fpclassify, is_nan, is_normal, is_infinity): New.
      	(is_zero, is_subnormal, is_finite, use_ieee_int_mode): Likewise.
      	(lower_builtin_isnan, lower_builtin_isinfinite): Likewise.
      	(lower_builtin_isnormal, lower_builtin_iszero): Likewise.
      	(lower_builtin_issubnormal, lower_builtin_isfinite): Likewise.
      	(emit_tree_cond, get_num_as_int, emit_tree_and_return_var): New.
      	(mips_single_format): Likewise.
      	(motorola_single_format): Likewise.
      	(spu_single_format): Likewise.
      	(ieee_double_format): Likewise.
      	(mips_double_format): Likewise.
      	(motorola_double_format): Likewise.
      	(ieee_extended_motorola_format): Likewise.
      	(ieee_extended_intel_128_format): Likewise.
      	(ieee_extended_intel_96_round_53_format): Likewise.
      	(ibm_extended_format): Likewise.
      	(mips_extended_format): Likewise.
      	(ieee_quad_format): Likewise.
      	(mips_quad_format): Likewise.
      	(vax_f_format): Likewise.
      	(vax_d_format): Likewise.
      	(vax_g_format): Likewise.
      	(decimal_single_format): Likewise.
      	(decimal_quad_format): Likewise.
      	(iee_half_format): Likewise.
      	(mips_single_format): Likewise.
      	(arm_half_format): Likewise.
      	(real_internal_format): Likewise.
      	* gcc/doc/extend.texi: Add documentation for built-ins.
      	* gcc/c/c-typeck.c (convert_arguments): Add BUILT_IN_ISZERO
      	and BUILT_IN_ISSUBNORMAL.
      
      gcc/testsuite/
      2017-06-08  Tamar Christina  <tamar.christina@arm.com>
      
      	* gcc.target/aarch64/builtin-fpclassify.c: New codegen test.
      	* gcc.dg/fold-notunord.c: Removed.
      	* gcc.dg/torture/floatn-tg-4.h: Add tests for iszero and issubnormal.
      	* gcc.dg/torture/float128-tg-4.c: Likewise.
      	* gcc.dg/torture/float128x-tg-4: Likewise.
      	* gcc.dg/torture/float16-tg-4.c: Likewise.
      	* gcc.dg/torture/float32-tg-4.c: Likewise.
      	* gcc.dg/torture/float32x-tg-4.c: Likewise.
      	* gcc.dg/torture/float64-tg-4.c: Likewise.
      	* gcc.dg/torture/float64x-tg-4.c: Likewise.
      	* gcc.dg/pr28796-1.c: Add -O2.
      	* gcc.dg/builtins-43.c: Check lower instead of gimple.
      	* gcc.dg/tg-tests.h: Add iszero and issubnormal.
      	* gcc.dg/pr77925.c: Add to test safe cases.
      
      From-SVN: r249005
      Tamar Christina committed
    • re PR tree-optimization/80928 (SLP vectorization does not handle induction in… · fb4bc6ff
      re PR tree-optimization/80928 (SLP vectorization does not handle induction in outer loop vectorization)
      
      2017-06-08  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/80928
      	* gcc.dg/vect/slp-perm-8.c: Do not expect check loop to be vectorized.
      
      From-SVN: r249004
      Richard Biener committed
    • Daily bump. · 4d3cb819
      From-SVN: r249003
      GCC Administrator committed
  2. 07 Jun, 2017 28 commits
    • simple-object-xcoff.c (simple_object_xcoff_find_sections): Search symbol table… · c1d24904
      simple-object-xcoff.c (simple_object_xcoff_find_sections): Search symbol table for .go_export symbol and apply pfn if found.
      
      2017-06-07  Tony Reix  <tony.reix@atos.net>
                  Matthieu Sarter  <matthieu.sarter.external@atos.net>
                  David Edelsohn  <dje.gcc@gmail.com>
      
              * simple-object-xcoff.c (simple_object_xcoff_find_sections):
              Search symbol table for .go_export symbol and apply pfn if found.
      
      Co-Authored-By: David Edelsohn <dje.gcc@gmail.com>
      Co-Authored-By: Matthieu Sarter <matthieu.sarter.external@atos.net>
      
      From-SVN: r248999
      Tony Reix committed
    • rs6000-c: The return type of the following built-in functions was implemented as int not... · 989cc652
      gcc/ChangeLog:
      
      2017-06-07  Carl Love  <cel@us.ibm.com>
      
      	* config/rs6000/rs6000-c: The return type of the following
      	built-in functions was implemented as int not long long.  Fix sign
      	of return value for the unsigned version of vec_mulo and vec_mule.
      	vector unsigned long long vec_bperm (vector unsigned long long,
      	                                     vector unsigned char)
      	vector signed long long vec_mule (vector signed int,
      	                                  vector signed int)
      	vector unsigned long long vec_mule (vector unsigned int,
      	                                    vector unsigned int)
      	vector signed long long vec_mulo (vector signed int,
      	                                  vector signed int)
      	vector unsigned long long vec_mulo (vector unsigned int,
      	                                    vector unsigned int)
      	* doc/extend.texi: Fix the documentation for the built-in
      	functions.
      
      gcc/testsuite/ChangeLog:
      
      2017-06-07  Carl Love  <cel@us.ibm.com>
      	* gcc.target/powerpc/builtins-3.c: Fix vec_mule, vec_mulo test cases.
      ---
      
      From-SVN: r248998
      Carl Love committed
    • re PR target/80982 (gcc.target/powerpc/builtins-3-runnable.c fails starting with… · 4a7f0dc0
      re PR target/80982 (gcc.target/powerpc/builtins-3-runnable.c fails starting with its introduction in r248846)
      
      gcc/ChangeLog:
      
      2017-06-07  Carl Love  <cel@us.ibm.com>
      
      	PR target/80982
      	* config/rs6000/altivec.md (double<mode>2): Fix the implementation of
      	for BE.
      
      From-SVN: r248997
      Carl Love committed
    • altivec.md: Fix argument swizzle in vec_doublel support... · 618f988c
      gcc/ChangeLog:
      
      2017-06-07  Carl Love  <cel@us.ibm.com>
      
      	* config/rs6000/altivec.md: Fix argument swizzle in vec_doublel
      	support, Generate	doublehv for signed int/float for BE case only.
      
      From-SVN: r248996
      Carl Love committed
    • doc: update x86 -mcx16 option description · a4fe64ee
      	* doc/invoke.texi (mcx16): Rewrite.
      
      From-SVN: r248995
      Alexander Monakov committed
    • runtime: support ia64 in lfstack · aa549311
          
          Patch by Andreas Schwab.
          
          Reviewed-on: https://go-review.googlesource.com/45071
      
      From-SVN: r248994
      Ian Lance Taylor committed
    • Add C++17 deduction guide for std::basic_regex (P0433R2, partial) · bfd88d1d
      	* include/bits/regex.h (basic_regex): Add deduction guide from P0433.
      	* testsuite/28_regex/basic_regex/ctors/deduction.cc: New.
      
      From-SVN: r248990
      Jonathan Wakely committed
    • PR libstdc++/81002 fix std::basic_regex range constructor · d840779f
      	PR libstdc++/81002
      	* include/bits/regex.h (basic_regex): Adjust call to __compile_nfa
      	so iterator type is deduced.
      	* include/bits/regex_compiler.h (__compile_nfa): Reorder template
      	parameters to allow iterator type to be deduced.
      	* testsuite/28_regex/basic_regex/ctors/basic/iter.cc: New.
      
      From-SVN: r248989
      Jonathan Wakely committed
    • I love SVN. · fa1ae56a
      From-SVN: r248988
      Segher Boessenkool committed
    • rs6000: Remove rs6000_nonimmediate_operand · be9596fe
      Now rs6000_nonimmediate_operand is just nonimmediate_operand.
      
      
      	* config/rs6000/predicates.md (rs6000_nonimmediate_operand): Delete.
      	* config/rs6000/rs6000.md (*movsi_internal1, movsi_from_sf,
      	*mov<mode>_softfloat, and an anonymous splitter): Use
      	nonimmediate_operand instead of rs6000_nonimmediate_operand.
      
      From-SVN: r248987
      Segher Boessenkool committed
    • rs6000: Remove spe_acc and spefscr · 346081bd
      We can also remove the two other SPE registers.
      
      
      	* config/rs6000/darwin.h (REGISTER_NAMES): Delete the SPE_ACC and
      	SPEFSCR registers.
      	* config/rs6000/rs6000.c (rs6000_reg_names, alt_reg_names): Ditto.
      	(enum rs6000_reg_type): Delete SPE_ACC_TYPE and SPEFSCR_REG_TYPE.
      	(rs6000_debug_reg_global): Adjust.
      	(rs6000_init_hard_regno_mode_ok): Adjust.
      	(rs6000_dbx_register_number): Adjust.
      	* config/rs6000/rs6000.h (FIRST_PSEUDO_REGISTER): Change to 115.
      	(FIXED_REGISTERS, CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS):
      	Remove SPE_ACC and SPEFSCR.
      	(REG_ALLOC_ORDER): Ditto.
      	(FRAME_POINTER_REGNUM): Change to 111.
      	(enum reg_class): Remove the SPE_ACC and SPEFSCR registers.
      	(REG_CLASS_NAMES): Ditto.
      	(REG_CLASS_CONTENTS): Delete the SPE_ACC and SPEFSCR registers.
      	(REGISTER_NAMES): Ditto.
      	(ADDITIONAL_REG_NAMES): Ditto.
      	(rs6000_reg_names): Ditto.
      	* config/rs6000/rs6000.md: Renumber some register number
      	define_constants.
      
      From-SVN: r248986
      Segher Boessenkool committed
    • rs6000: Remove SPE high registers · 3e2bca2e
      
      	* config/rs6000/darwin.h (REGISTER_NAMES): Delete the SPE high
      	registers.
      	* config/rs6000/rs6000.c (rs6000_reg_names, alt_reg_names): Ditto.
      	* config/rs6000/rs6000.h (FIRST_PSEUDO_REGISTER): Change from 149
      	to 117.
      	(DWARF_REG_TO_UNWIND_COLUMN): Do not define.
      	(FIXED_REGISTERS, CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS):
      	Delete the SPE high registers.
      	(REG_ALLOC_ORDER): Ditto.
      	(enum reg_class): Remove SPE_HIGH_REGS.
      	(REG_CLASS_NAMES): Ditto.
      	(REG_CLASS_CONTENTS): Delete the SPE high registers.
      	(REGISTER_NAMES): Ditto.
      	(rs6000_reg_names): Ditto.
      	* doc/tm.texi.in: Remove SPE as example.
      	* doc/tm.texi: Regenerate.
      
      From-SVN: r248985
      Segher Boessenkool committed
    • rs6000: Remove type attribute "brinc" · fba1803a
      Nothing uses it anymore.
      
      
      	* config/rs6000/8540.md (ppc8540_brinc): Delete.
      	* config/rs6000/e500mc.md (e500mc_brinc): Delete.
      	* config/rs6000/e500mc64.md (e500mc64_brinc): Delete.
      	* config/rs6000/rs6000.md (type): Remove "brinc".
      
      From-SVN: r248984
      Segher Boessenkool committed
    • rs6000: Remove spe.md, spe.h, linuxspe.h · 4768200a
      
      	* config.gcc (powerpc*-*-*): Don't add spe.h to extra_headers.
      	(powerpc*-linux*spe*): Use ${cpu_type} instead of rs6000.
      	* config/rs6000/linuxspe.h: Delete file.
      	* config/rs6000/rs6000.md: Don't include spe.md.
      	* config/rs6000/spe.h: Delete file.
      	* config/rs6000/spe.md: Delete file.
      	* config/rs6000/t-rs6000: Remove spe.md.
      
      From-SVN: r248983
      Segher Boessenkool committed
    • rs6000: Remove reg_or_none500mem_operand · 0ea948e2
      
      	* config/rs6000/predicates.md (reg_or_mem_operand): Reformat.
      	(reg_or_none500mem_operand): Delete.
      	* config/rs6000/rs6000.md (extendsfdf2): Use reg_or_mem_operand
      	instead of reg_or_none500mem_operand.
      
      From-SVN: r248982
      Segher Boessenkool committed
    • rs6000: Remove -mspe options · 6958e60f
      
      	* config/rs6000/rs6000.c (rs6000_option_override_internal): Delete
      	handling of SPE flags.
      	* config/rs6000/rs6000.opt (-mspe, -mspe=no, -mspe=yes): Delete.
      
      From-SVN: r248981
      Segher Boessenkool committed
    • rs6000: Remove TARGET_SPE and TARGET_SPE_ABI and friends · e075a6cc
      
      	* config/rs6000/rs6000-common.c (rs6000_handle_option): Remove
      	SPE ABI handling.
      	* config/rs6000/paired.md (paired_negv2sf2): Rename to negv2sf2.
      	(paired_absv2sf2, paired_addv2sf3, paired_subv2sf3, paired_mulv2sf3,
      	paired_divv2sf3): Similar.
      	* config/rs6000/predicates.md: Replace TARGET_SPE, TARGET_SPE_ABI,
      	SPE_VECTOR_MODE and SPE_HIGH_REGNO_P by 0; simplify.
      	* config/rs6000/rs6000-builtin.def: Delete RS6000_BUILTIN_E and
      	RS6000_BUILTIN_S.
      	Delete BU_SPE_1, BU_SPE_2, BU_SPE_3, BU_SPE_E, BU_SPE_P, and BU_SPE_X.
      	Rename the paired_* instruction patterns.
      	* config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Do not
      	define __SPE__.
      	* config/rs6000/rs6000-protos.h (invalid_e500_subreg): Delete.
      	* config/rs6000/rs6000.c: Delete RS6000_BUILTIN_E and RS6000_BUILTIN_S.
      	(struct rs6000_stack): Delete fields spe_gp_save_offset, spe_gp_size,
      	spe_padding_size, and spe_64bit_regs_used.  Replace TARGET_SPE and
      	TARGET_SPE_ABI with 0, simplify.  Replace SPE_VECTOR_MODE with
      	PAIRED_VECTOR_MODE.
      	(struct machine_function): Delete field spe_insn_chain_scanned_p.
      	(spe_func_has_64bit_regs_p): Delete.
      	(spe_expand_predicate_builtin): Delete.
      	(spe_expand_evsel_builtin): Delete.
      	(TARGET_DWARF_REGISTER_SPAN): Do not define.
      	(TARGET_MEMBER_TYPE_FORCES_BLK): Do not define.
      	(invalid_e500_subreg): Delete.
      	(rs6000_legitimize_address): Always force_reg op2 as well, for
      	paired single memory accesses.
      	(rs6000_member_type_forces_blk): Delete.
      	(rs6000_spe_function_arg): Delete.
      	(rs6000_expand_unop_builtin): Delete SPE handling.
      	(rs6000_expand_binop_builtin): Ditto.
      	(spe_expand_stv_builtin): Delete.
      	(bdesc_2arg_spe): Delete.
      	(spe_expand_builtin): Delete.
      	(spe_expand_predicate_builtin): Delete.
      	(spe_expand_evsel_builtin): Delete.
      	(rs6000_invalid_builtin): Remove RS6000_BTM_SPE handling.
      	(spe_init_builtins): Delete.
      	(spe_func_has_64bit_regs_p): Delete.
      	(savres_routine_name): Delete "info" parameter.  Adjust callers.
      	(rs6000_emit_stack_reset): Ditto.
      	(rs6000_dwarf_register_span): Delete.
      	* config/rs6000/rs6000.h (TARGET_SPE_ABI, TARGET_SPE,
      	UNITS_PER_SPE_WORD, SPE_HIGH_REGNO_P, SPE_SIMD_REGNO_P,
      	SPE_VECTOR_MODE, RS6000_BTM_SPE, RS6000_BUILTIN_E, RS6000_BUILTIN_S):
      	Delete.
      	* config/rs6000/rs6000.md (FIRST_SPE_HIGH_REGNO, LAST_SPE_HIGH_REGNO):
      	Delete.
      	* config/rs6000/rs6000.opt (-mabi=spe, -mabi=no-spe): Delete.
      	* config/rs6000/spe.md: Delete every pattern that uses TARGET_SPE.
      	* config/rs6000/vector.md (absv2sf2, negv2sf2, addv2sf3, subv2sf3,
      	mulv2sf3, divv2sf3): Delete expanders.
      
      From-SVN: r248980
      Segher Boessenkool committed
    • rs6000: Remove UNSPEC_MV_CR_GT · beaca945
      
      	config/rs6000/rs6000.md (UNSPEC_MV_CR_GT): Delete.
      
      From-SVN: r248979
      Segher Boessenkool committed
    • rs6000: Remove output_e500_flip_gt_bit · 1cad5712
      
      	* config/rs6000/rs6000-protos.h (output_e500_flip_gt_bit): Delete.
      	* config/rs6000/rs6000.c: Ditto.
      
      From-SVN: r248978
      Segher Boessenkool committed
    • rs6000: Remove rs6000_cbranch_operator · 817b5d3a
      rs6000_cbranch_operator now is just comparison_operator, so just use
      that directly.
      
      
      	* config/rs6000/predicated.md (rs6000_cbranch_operator): Delete.
      	* config/rs6000/rs6000.md: Replace rs6000_cbranch_operator by
      	comparison_operator.
      
      From-SVN: r248977
      Segher Boessenkool committed
    • rs6000: Remove -mfloat-gprs · 4cdd1c4c
      This deletes -mfloat-gprs and the variables that go with it.
      
      
      	* config/rs6000/rs6000.c: Remove everything related to -mfloat-gprs.
      	* config/rs6000/rs6000.opt: Ditto.
      	* config/rs6000/t-rtems: Ditto.
      
      From-SVN: r248976
      Segher Boessenkool committed
    • rs6000: Remove TARGET_E500_{SINGLE,DOUBLE} · f7c12ec4
      TARGET_E500_{SINGLE,DOUBLE} is always false now.
      
      
      	* config/rs6000/predicates.md: Replace TARGET_E500_DOUBLE and
      	TARGET_E500_SINGLE by 0, simplify.
      	* config/rs6000/rs6000.c: Ditto.
      	(rs6000_option_override_internal): Delete CHECK_E500_OPTIONS.
      	(spe_build_register_parallel): Delete.
      	* config/rs6000/rs6000.h: Delete TARGET_E500_SINGLE,
      	TARGET_E500_DOUBLE, and CHECK_E500_OPTIONS.
      	* config/rs6000/rs6000.md: Replace TARGET_E500_DOUBLE,
      	TARGET_E500_SINGLE, and <E500_CONVERT> by 0, simplify.
      	(E500_CONVERT): Delete.
      	* config/rs6000/spe.md: Remove many patterns and all define_constants.
      
      From-SVN: r248975
      Segher Boessenkool committed
    • rs6000: Remove TARGET_FPRS · 11d8d07e
      Since rs6000 no longer supports SPE, TARGET_FPRS now always is true.
      
      This makes TARGET_{SF,DF}_SPE always false.  Many patterns in spe.md
      can now be deleted; which makes it possible to merge e.g. negdd2 with
      *negdd2_fpr.
      
      Finally, e500.h is deleted (it isn't used).
      
      
      	* config/rs6000/darwin.md: Replace TARGET_FPRS by 1 and simplify.
      	* config/rs6000/dfp.md: Ditto.
      	(negdd2, *negdd2_fpr): Merge.
      	(absdd2, *absdd2_fpr): Merge.
      	(negtd2, *negtd2_fpr): Merge.
      	(abstd2, *abstd2_fpr): Merge.
      	* config/rs6000/e500.h: Delete file.
      	* config/rs6000/predicates.md (rs6000_cbranch_operator): Replace
      	TARGET_FPRS by 1 and simplify.
      	* config/rs6000/rs6000-c.c: Ditto.
      	* config/rs6000/rs6000.c: Ditto.  Also replace TARGET_SF_SPE and
      	TARGET_DF_SPE by 0.
      	* config/rs6000/rs6000.h: Ditto.  Delete TARGET_SF_SPE and
      	TARGET_DF_SPE.
      	* config/rs6000/rs6000.md: Ditto.
      	(floatdidf2, *floatdidf2_fpr): Merge.
      	(move_from_CR_gt_bit): Delete.
      	* config/rs6000/spe.md: Replace TARGET_FPRS by 1 and simplify.
      	(E500_CR_IOR_COMPARE): Delete.
      	(All patterns that require !TARGET_FPRS): Delete.
      	* config/rs6000/vsx.md: Replace TARGET_FPRS by 1 and simplify.
      
      From-SVN: r248974
      Segher Boessenkool committed
    • class.c (layout_class_type): Restructure overlong-bitfield tpe search. · a6d31e84
      	* class.c (layout_class_type): Restructure overlong-bitfield tpe
      	search.
      
      From-SVN: r248971
      Nathan Sidwell committed
    • Fix white space. · 2f8d29a4
      From-SVN: r248969
      David Edelsohn committed
    • aix-unwind.h (MD_FALLBACK_FRAME_STATE_FOR): Define unconditionally. · d8b9cd27
      2017-06-07  Tony Reix  <tony.reix@atos.net>
                  Matthieu Sarter  <matthieu.sarter.external@atos.net>
                  David Edelsohn  <dje.gcc@gmail.com>
      
              * config/rs6000/aix-unwind.h (MD_FALLBACK_FRAME_STATE_FOR): Define
              unconditionally.
              (ucontext_for): Add 64-bit AIX 6.1, 7.1, 7.2 support.  Add 32-bit
              AIX 7.2 support.
      
      Co-Authored-By: David Edelsohn <dje.gcc@gmail.com>
      Co-Authored-By: Matthieu Sarter <matthieu.sarter.external@atos.net>
      
      From-SVN: r248968
      Tony Reix committed
    • Add C++17 deduction guide for std::basic_string (P0433R2, partial) · 6d82c562
      	* include/bits/alloc_traits.h (__is_allocator, _RequireAllocator):
      	New trait and alias for detecting Allocator-like types.
      	* include/bits/basic_string.h (basic_string): Add deduction guide
      	from P0433.
      	* include/ext/alloc_traits.h (__gnu_cxx::__alloc_traits): Add template
      	parameter with default template argument that causes substitution
      	failures for types that cannot be allocators.
      	* testsuite/21_strings/basic_string/cons/char/deduction.cc: New.
      	* testsuite/21_strings/basic_string/cons/wchar_t/deduction.cc: New.
      
      From-SVN: r248967
      Jonathan Wakely committed
    • PR c++/80990 use cv-qualifiers in class template argument deduction · 83059741
      gcc/cp:
      
      	PR c++/80990
      	* pt.c (do_class_deduction): Build qualified type.
      
      gcc/testsuite:
      
      	PR c++/80990
      	* g++.dg/cpp1z/class-deduction39.C: New.
      
      From-SVN: r248966
      Jonathan Wakely committed