1. 26 Aug, 2016 18 commits
    • Tweak to colors of fix-it hints · d41e76cf
      Previous, fix-it hints were printed using the color of the severity
      of the diagnostic (magenta for warnings, red for errors, cyan for
      notes).
      
      This patch updates fix-it hints so that replacement text is printed in
      green, to better distinguish the suggested improvement from
      the current code.  For example:
      
      spellcheck-fields.cc:52:13: error: 'struct s' has no member named 'colour'; did you mean 'color'?
         return ptr->colour;  <<< RED
                     ^~~~~~   <<< RED
                     color    <<< GREEN
      
      It makes sense for the underlinings that indicate deletions to
      be printed in red, so the patch changes that also.  For example:
      
      diagnostic-test-show-locus-color.c:179:9: warning: example of a removal hint
         int a;;  <<< MAGENTA
               ^  <<< MAGENTA
               -  <<< RED
      
      gcc/ChangeLog:
      	* diagnostic-color.c (color_dict): Add "fixit-insert" and
      	"fixit-delete".
      	(parse_gcc_colors): Update description of default GCC_COLORS.
      	* diagnostic-show-locus.c (colorizer::set_fixit_hint): Delete.
      	(colorizer::set_fixit_insert): New method.
      	(colorizer::set_fixit_delete): New method.
      	(colorizer::get_color_by_name): New method.
      	(colorizer::STATE_FIXIT_INSERT): New constant.
      	(colorizer::STATE_FIXIT_DELETE): New constant.
      	(class colorizer): Drop "_cs" suffix from fields.  Delete "_ce"
      	fields in favor of new field "m_stop_color".  Add fields
      	"m_fixit_insert" and "m_fixit_delete".
      	(colorizer::colorizer): Update for above changes.  Replace
      	colorize_start calls with calls to get_color_by_name.
      	(colorizer::begin_state): Handle STATE_FIXIT_INSERT and
      	STATE_FIXIT_DELETE.  Update for field renamings.
      	(colorizer::finish_state): Simplify by using m_stop_color,
      	rather than multiple identical "*_ce" fields.
      	(colorizer::get_color_by_name): New method.
      	(layout::print_any_fixits): Print insertions and replacements
      	using the "fixit-insert" color, and deletions using the
      	"fixit-delete" color.
      	* doc/invoke.texi (-fdiagnostics-color): Update description of
      	default GCC_COLORS, and of the supported capabilities.
      
      gcc/testsuite/ChangeLog:
      	* gcc.dg/plugin/diagnostic-test-show-locus-color.c
      	(test_fixit_insert): Update expected output.
      	(test_fixit_remove): Likewise.
      	(test_fixit_replace): Likewise.
      
      From-SVN: r239787
      David Malcolm committed
    • Fix gcc.dg/ipa/propbits-2.c · 524a4c96
      	* gcc.dg/ipa/propbits-2.c: Add -fdump-tree-optimized to dg-options.
      	Fix typo.
      
      From-SVN: r239786
      Rainer Orth committed
    • xtensa: report stack usage · 7695d1e3
      This enables options -fstack-usage and -Wstack-usage.
      
      2016-08-26  Max Filippov  <jcmvbkbc@gmail.com>
      gcc/
      	* config/xtensa/xtensa.c (xtensa_expand_prologue): Update
      	current_function_static_stack_size variable with the static
      	stack frame size of the current function when
      	flag_stack_usage_info is enabled.
      
      From-SVN: r239785
      Max Filippov committed
    • Avoid calling a trivial default constructor. · d0b0fbd9
      	* class.c (default_ctor_p): New.
      	(in_class_defaulted_default_constructor): Use it.
      	(type_has_non_user_provided_default_constructor): Use it.
      	* call.c (build_over_call): Handle trivial default constructor.
      	* cp-tree.h: Declare default_ctor_p.
      
      From-SVN: r239783
      Jason Merrill committed
    • PR c++/57728 - explicit instantiation and defaulted functions · 9729a5d5
      	* pt.c (do_type_instantiation): Don't mess with non-user-provided
      	member functions.
      
      From-SVN: r239782
      Jason Merrill committed
    • libstdc++/51960 move-construction for raw_storage_iterator · 10491e4c
      	PR libstdc++/51960
      	* doc/xml/manual/intro.xml: Document DR 2127 change.
      	* doc/html/*: Regenerate.
      	* include/bits/stl_raw_storage_iter.h (operator=(_Tp&&)): Add.
      	(operator++(), operator++(int)): Use injected class name.
      	* testsuite/20_util/raw_storage_iterator/dr2127.cc: New test.
      
      From-SVN: r239781
      Jonathan Wakely committed
    • ipa-inline-analysis.c (inline_write_summary): Remove unnecessary assignment inside if condition. · bdc30f8f
      	* ipa-inline-analysis.c (inline_write_summary): Remove unnecessary
      	assignment inside if condition.
      
      From-SVN: r239779
      Nathan Sidwell committed
    • re PR tree-optimization/69047 (memcpy is not as optimized as union is) · ebfa15ab
      2016-08-26  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/69047
      	* tree-ssa.c (maybe_rewrite_mem_ref_base): Handle general bitfield
      	extracts similar to what FRE does.
      	(non_rewritable_mem_ref_base): Likewise.
      
      	* gcc.dg/pr69047.c: New testcase.
      
      From-SVN: r239778
      Richard Biener committed
    • Use effective-target instead of -std options · 52066eae
      	* testsuite/*: Use { target c++11 } or { target c++14 } instead of
      	using -std in dg-options.
      
      From-SVN: r239777
      Jonathan Wakely committed
    • Restore dg-interpreter-batch-mode for libstdc++ tests · e8223484
      2016-08-26  Jonathan Wakely  <jwakely@redhat.com>
      	    Pedro Alves  <palves@redhat.com>
      
      	* testsuite/lib/gdb-test.exp (gdb-dg-runtest): Define wrapper to save
      	and restore dg-interpreter-batch-mode.
      	* testsuite/libstdc++-prettyprinters/prettyprinters.exp: Use
      	gdb-dg-runtest instead of dg-runtest.
      	* testsuite/libstdc++-xmethods/xmethods.exp: Likewise.
      
      Co-Authored-By: Pedro Alves <palves@redhat.com>
      
      From-SVN: r239776
      Jonathan Wakely committed
    • Always support float128 on x86. · 21184026
      In <https://gcc.gnu.org/ml/gcc-bugs/2016-08/msg03233.html>, Nick
      reported i386-elf and ia64-elf failing to build because of
      float128_type_node being NULL, but being used by the back end for
      __float128.
      
      The global float128_type_node is only available conditionally, if
      target hooks indicate TFmode is not only available as a scalar mode
      and of the right format, but also supported in libgcc.  The back-end
      support, however, expects the type always to be available for
      __float128 even if the libgcc support is missing.
      
      Although a target-specific node could be restored in the case where
      libgcc support is missing, it seems better to address the missing
      libgcc support.  Thus, this patch enables TFmode soft-fp in libgcc
      globally for all x86 targets - the only special cases needed being for
      targets that use soft-fp for SFmode and DFmode, one of which already
      had the support for TFmode as well (so I based the i[34567]86-*-rtems*
      configuration on that present for i[34567]86-*-elfiamcu).  The i386
      implementation of TARGET_LIBGCC_FLOATING_MODE_SUPPORTED_P is then
      removed as no longer needed.
      
      I can provide such a patch for ia64 if useful, but am not in a
      position to test it (and while I'm reasonably confident that enabling
      this support would be right for ia64-elf and ia64-freebsd, I've no
      real idea if enabling libgcc support for TFmode, with or without also
      enabling it for XFmode, would be safe for ia64-vms).
      
      Bootstrapped with no regressions on x86_64-pc-linux-gnu.
      
      gcc:
      	* config/i386/i386.c (ix86_libgcc_floating_mode_supported_p)
      	(TARGET_LIBGCC_FLOATING_MODE_SUPPORTED_P): Remove.
      	* config/i386/i386elf.h (IX86_MAYBE_NO_LIBGCC_TFMODE): Likewise.
      	* config/i386/lynx.h (IX86_MAYBE_NO_LIBGCC_TFMODE): Likewise.
      	* config/i386/netbsd-elf.h (IX86_MAYBE_NO_LIBGCC_TFMODE):
      	Likewise.
      	* config/i386/netbsd64.h (IX86_MAYBE_NO_LIBGCC_TFMODE): Likewise.
      	* config/i386/nto.h (IX86_MAYBE_NO_LIBGCC_TFMODE): Likewise.
      	* config/i386/openbsd.h (IX86_MAYBE_NO_LIBGCC_TFMODE): Likewise.
      	* config/i386/rtemself.h (IX86_NO_LIBGCC_TFMODE): Likewise.
      	* config/i386/vxworks.h (IX86_MAYBE_NO_LIBGCC_TFMODE): Likewise.
      
      libgcc:
      	* config.host (i[34567]86-*-* | x86_64-*-*): Enable TFmode soft-fp
      	where not already enabled.
      
      From-SVN: r239775
      Joseph Myers committed
    • mangle.c (java_mangle_decl): Re-sync with lhd_set_decl_assembler_name. · 4d1d8d6a
      2016-08-26  Richard Biener  <rguenther@suse.de>
      
      	java/
      	* mangle.c (java_mangle_decl): Re-sync with lhd_set_decl_assembler_name.
      
      From-SVN: r239774
      Richard Biener committed
    • Add new std::basic_string constructor (LWG 2583) · 86bbf15b
      	* config/abi/pre/gnu.ver (GLIBCXX_3.4, GLIBCXX_3.4.21): Use more
      	precise patterns for basic_string constructors.
      	(GLIBCXX_3.4.23): Export new constructors.
      	* doc/xml/manual/intro.xml: Document LWG 2583 status.
      	* doc/html/*: Regenerate.
      	* include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
      	(basic_string(const basic_string&, size_type, const Alloc&)): Add
      	new constructor for LWG 2583.
      	(basic_string(const basic_string&, size_type, size_type)): Remove
      	default argument.
      	[!_GLIBCXX_USE_CXX11_ABI]: Likewise.
      	* include/bits/basic_string.tcc [!_GLIBCXX_USE_CXX11_ABI]: Define it.
      	* testsuite/21_strings/basic_string/cons/char/8.cc: New test.
      	* testsuite/21_strings/basic_string/cons/wchar_t/8.cc: New test.
      
      From-SVN: r239773
      Jonathan Wakely committed
    • [ARM] PR target/70473: Reduce size of Cortex-A8 automaton · 83c7402a
      	PR target/70473
      	* config/arm/cortex-a8-neon.md (cortex_a8_vfp_muld): Reduce
      	reservation duration to 15 cycles.
      	(cortex_a8_vfp_macs): Likewise.
      	(cortex_a8_vfp_macd): Likewise.
      	(cortex_a8_vfp_divs): Likewise.
      	(cortex_a8_vfp_divd): Likewise.
      
      From-SVN: r239772
      Kyrylo Tkachov committed
    • [ARM] Refactor MOVW/MOVT fusion logic to allow extension · 5791f55d
      	* config/arm/arm.c (arm_sets_movw_movt_fusible_p): New function.
      	(aarch_macro_fusion_pair_p): Use above to avoid early return.
      
      From-SVN: r239771
      Kyrylo Tkachov committed
    • Patch for performing interprocedural bitwise constant propagation. · 209ca542
      2016-08-26  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
      	    Martin Jambhor  <mjambor@suse.cz>
      
      	* common.opt: New option -fipa-bit-cp.
      	* doc/invoke.texi: Document -fipa-bit-cp.
      	* opts.c (default_options_table): Add entry for -fipa-bit-cp.
      	(enable_fdo_optimizations): Check for flag_ipa_bit_cp.
      	* tree-ssa-ccp.h: New header file.
      	* tree-ssa-ccp.c: Include tree-ssa-ccp.h
      	(bit_value_binop_1): Change to bit_value_binop_1 and export it.
      	Replace all occurences of tree parameter by two new params: signop, int.
      	(bit_value_unop_1): Change to bit_value_unop and export it.
      	Replace all occurences of tree parameter by two new params: signop,
      	int.
      	(bit_value_binop): Change call from bit_value_binop_1 to
      	bit_value_binop.
      	(bit_value_assume_aligned): Likewise.
      	(bit_value_unop): Change call from bit_value_unop_1 to bit_value_unop.
      	(do_ssa_ccp): Pass nonzero_p || flag_ipa_cp_bit instead of nonzero_p
      	to ccp_finalize.
      	(ccp_finalize): Skip processing if val->mask == 0.
      	* ipa-cp.c: Include tree-ssa-ccp.h
      	(ipcp_bits_lattice): New class.
      	(ipcp_param_lattice (bits_lattice): New member.
      	(print_all_lattices): Call ipcp_bits_lattice::print.
      	(set_all_contains_variable): Call ipcp_bits_lattice::set_to_bottom. 
      	(initialize_node_lattices): Likewise.
      	(propagate_bits_accross_jump_function): New function.
      	(propagate_constants_accross_call): Call
      	propagate_bits_accross_jump_function.
      	(ipcp_propagate_stage): Store parameter types when in_lto_p is true.
      	(ipcp_store_bits_results): New function.
      	(ipcp_driver): Call ipcp_store_bits_results.
      	* ipa-prop.h (ipa_bits): New struct.
      	(ipa_jump_func): Add new member bits of type ipa_bits.
      	(ipa_param_descriptor): Change decl to decl_or_type.
      	(ipa_get_param): Change decl to decl_or_type and assert on
      	PARM_DECL.
      	(ipa_get_type): New function.
      	(ipcp_transformation_summary): New member bits.
      	* ipa-prop.c (ipa_get_param_decl_index_1): s/decl/decl_or_type.
      	(ipa_populate_param_decls): Likewise.
      	(ipa_dump_param): Likewise.
      	(ipa_print_node_jump_functions_for_edge): Pretty-print ipa_bits jump
      	function.
      	(ipa_set_jf_unknown): Set ipa_bits::known to false.
      	(ipa_compute_jump_functions_for_edge): Compute jump function for bits
      	propagation.
      	(ipa_node_params_t::duplicate): Copy src->bits into dst->bits.
      	(ipa_write_jump_function): Add streaming for ipa_bits.
      	(ipa_read_jump_function): Add support for reading streamed ipa_bits.
      	(write_ipcp_transformation_info): Add streaming for ipa_bits
      	summary for ltrans.
      	(read_ipcp_transfomration_info): Add support for reading streamed ipa_bits.
      	(ipcp_update_bits): New function.
      	(ipcp_transform_function): Call ipcp_update_bits.
      
      testsuite/
      	* gcc.dg/ipa/propbits-1.c: New test-case.
      	* gcc.dg/ipa/propbits-2.c: Likewise.
      	* gcc.dg/ipa/propbits-3.c: Likewise.
      
      Co-Authored-By: Martin Jambor <mjambor@suse.cz>
      
      From-SVN: r239769
      Prathamesh Kulkarni committed
    • Update .po files. · f3db1aac
      	* be.po, da.po, de.po, el.po, es.po, fi.po, fr.po, hr.po, id.po,
      	ja.po, nl.po, ru.po, sr.po, sv.po, tr.po, uk.po, vi.po, zh_CN.po,
      	zh_TW.po: Update.
      
      From-SVN: r239767
      Joseph Myers committed
    • Daily bump. · 91482f75
      From-SVN: r239766
      GCC Administrator committed
  2. 25 Aug, 2016 8 commits
  3. 24 Aug, 2016 11 commits
    • re PR fortran/77358 ([F08] deferred-length character function returns zero-length string) · 88b8971f
      2016-08-24  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/77358
      	* resolve.c (resolve_fl_procedure): Use the correct gfc_charlen
      	for deferred character length module procedures.
      
      2016-08-24  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/77358
      	* gfortran.dg/submodule_17.f08: New test.
      
      From-SVN: r239740
      Paul Thomas committed
    • arm-modes.def: Add new condition code mode CC_V to represent the overflow bit. · c8cd4696
      2016-08-24  Michael Collison <michael.collison@linaro.org>
      	    Michael Collison <michael.collison@arm.com>
      
      	* config/arm/arm-modes.def: Add new condition code mode CC_V
      	to represent the overflow bit.
      	* config/arm/arm.c (maybe_get_arm_condition_code):
      	Add support for CC_Vmode.
      	(arm_gen_unlikely_cbranch): New function to generate common
      	rtl conditional branches for overflow patterns.
      	* config/arm/arm-protos.h: Add prototype for
      	arm_gen_unlikely_cbranch.
      	* config/arm/arm.md (addv<mode>4, add<mode>3_compareV,
      	addsi3_compareV_upper): New patterns to support signed
      	builtin overflow add operations.
      	(uaddv<mode>4, add<mode>3_compareC, addsi3_compareV_upper):
      	New patterns to support unsigned builtin add overflow operations.
      	(subv<mode>4, sub<mode>3_compare1): New patterns to support signed
      	builtin overflow subtract operations,
      	(usubv<mode>4): New patterns to support unsigned builtin subtract
      	overflow operations.
      	(negvsi3, negvdi3, negdi2_compare, negsi2_carryin_compare): New patterns
      	to support builtin overflow negate operations.
      	* gcc.target/arm/builtin_saddl.c: New testcase.
      	* gcc.target/arm/builtin_saddll.c: New testcase.
      	* gcc.target/arm/builtin_uaddl.c: New testcase.
      	* gcc.target/arm/builtin_uaddll.c: New testcase.
      	* gcc.target/arm/builtin_ssubl.c: New testcase.
      	* gcc.target/arm/builtin_ssubll.c: New testcase.
      	* gcc.target/arm/builtin_usubl.c: New testcase.
      	* gcc.target/arm/builtin_usubll.c: New testcase.
      
      
      Co-Authored-By: Michael Collison <michael.collison@arm.com>
      
      From-SVN: r239739
      Michael Collison committed
    • re PR target/77270 (Flag -mprftchw is shared with 3dnow for -march=k8) · d5b5d212
      	PR target/77270
      	* gcc.dg/tree-ssa/loop-28.c: Also compile on 32bit x86 targets.
      	(dg-options): Use -march=amdfam10 instead of -march=athlon.
      	* gcc.dg/tree-ssa/update-unroll-1.c: Ditto.
      	* gcc.dg/tree-ssa/prefetch-3.c: Ditto.
      	* gcc.dg/tree-ssa/prefetch-4.c: Ditto.
      	* gcc.dg/tree-ssa/prefetch-5.c: Ditto.
      	* gcc.dg/tree-ssa/prefetch-6.c: Ditto.  Do not require sse2
      	effective target.  Remove scan-assembler-times directives.
      	* gcc.dg/tree-ssa/prefetch-7.c: Ditto.
      	* gcc.dg/tree-ssa/prefetch-8.c: Ditto.
      	* gcc.dg/tree-ssa/prefetch-9.c: Ditto.
      
      From-SVN: r239737
      Uros Bizjak committed
    • Revert "Drop excess size used for run time allocated stack variables." · b9553e20
      This patch caused a bootstrap failure on AIX.
      
      2016-08-24  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
      
      	Revert
      	2016-08-23  Dominik Vogt  <vogt@linux.vnet.ibm.com>
      
      	* explow.c (get_dynamic_stack_size): Take known alignment of stack
      	pointer + STACK_DYNAMIC_OFFSET into account when calculating the
      	size needed.
      
      From-SVN: r239735
      Andreas Krebbel committed
    • fragments.texi (MULTILIB_REUSE): Mention that only options in MULTILIB_OPTIONS should be used. · 0630b8ec
      2016-08-24  Thomas Preud'homme  <thomas.preudhomme@arm.com>
      
          * doc/fragments.texi (MULTILIB_REUSE): Mention that only options in
          MULTILIB_OPTIONS should be used.  Small wording fixes.
          * genmultilib: Memorize set of all option combinations in
          combination_space.  Detect if RHS of MULTILIB_REUSE uses an option not
          found in MULTILIB_OPTIONS by checking if option set is listed in
          combination_space.  Output new and existing error message to stderr.
      
      From-SVN: r239734
      Thomas Preud'homme committed
    • t-aprofile (MULTILIB_MATCHES): Add mapping for -mcpu=cortex-a7, -mfpu=neon-fp16,… · 0ba81bbe
      t-aprofile (MULTILIB_MATCHES): Add mapping for -mcpu=cortex-a7, -mfpu=neon-fp16, -mfpu=fpv5-d16 and -mfpu=fp-armv8.
      
      2016-08-24  Thomas Preud'homme  <thomas.preudhomme@arm.com>
      
          * config/arm/t-aprofile (MULTILIB_MATCHES): Add mapping for
          -mcpu=cortex-a7, -mfpu=neon-fp16, -mfpu=fpv5-d16 and -mfpu=fp-armv8.
          Fix typo in -mfpu=vfpv3-d16-fp16 mapping.
          (MULTILIB_REUSE): Remove reuse rules for option set including
          -mfpu=fp-armv8 and -mfpu=vfpv4
      
      From-SVN: r239733
      Thomas Preud'homme committed
    • Fix bogus testsuite failures for avr. · d1188689
      gcc/testsuite/
      
      2016-08-24  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
      
              * gcc.c-torture/execute/pr71083.c: Use UINT32_TYPE instead
              of unsigned int.
              * gcc.dg/zero_sign_ext_test.c: Require int32plus.
      
      From-SVN: r239732
      Senthil Kumar Selvaraj committed
    • Remove trailing whitespace in C++ headers · 9a38acdf
      2016-08-24  Aditya Kumar  <hiraditya@msn.com>
      
      	* include/bits/algorithmfwd.h: Remove trailing whitespace.
      	* include/bits/shared_ptr_base.h: Likewise.
      
      From-SVN: r239731
      Aditya Kumar committed
    • re PR testsuite/77317 (x86_64 --target_board=''unix/ unix/-m32'' parallel… · 0b6b8f85
      re PR testsuite/77317 (x86_64 --target_board=''unix/ unix/-m32'' parallel testrun gives inconsistent results in gcc.dg/vect)
      
      Fix PR testsuite/77317
      
      gcc/testsuite/
      	* lib/target-supports.exp
      	(check_effective_target_vect_aligned_arrays): Don't cache the result.
      	(check_effective_target_vect_natural_alignment): Ditto.
      	(check_effective_target_vector_alignment_reachable): Ditto.
      	(check_effective_target_vector_alignment_reachable_for_64bit): Ditto.
      
      From-SVN: r239730
      Robert Suchanek committed
    • [RTEMS] Add vfp multilib for ARM · a4892ab4
      gcc/
      
      	* config/arm/t-rtems: Add vfp multilib.
      
      From-SVN: r239727
      Sebastian Huber committed
    • Daily bump. · f5e9814b
      From-SVN: r239726
      GCC Administrator committed
  4. 23 Aug, 2016 3 commits
    • s390.c (s390_asm_file_start): Call default_file_start. · 587b7f7a
      gcc/:
      	* config/s390/s390.c (s390_asm_file_start): Call
      	default_file_start.
      gcc/testsuite/:
      	* gcc.target/s390/nolrl-1.c: Don't match the file name.
      
      From-SVN: r239713
      Ian Lance Taylor committed
    • rs6000.c (rs6000_expand_vector_init): Set initialization of all 0's to the 0… · 6019c0fc
      rs6000.c (rs6000_expand_vector_init): Set initialization of all 0's to the 0 constant, instead of directly generating XOR.
      
      [gcc]
      2016-08-23  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	* config/rs6000/rs6000.c (rs6000_expand_vector_init): Set
      	initialization of all 0's to the 0 constant, instead of directly
      	generating XOR.  Add support for V4SImode vector initialization on
      	64-bit systems with direct move, and rework the ISA 3.0 V4SImode
      	initialization.  Change variables used in V4SFmode vector
      	intialization.  For V4SFmode vector splat on ISA 3.0, make sure
      	any memory addresses are in index form.  Add support for using
      	VSPLTH/VSPLTB to initialize vector short and vector char vectors
      	with all of the same element.
      	(regno_or_subregno): New helper function to return a register
      	number for either REG or SUBREG.
      	(rs6000_adjust_vec_address): Do not generate ADDI <reg>,R0,<num>.
      	Use regno_or_subregno where possible.
      	(rs6000_split_v4si_init_di_reg): New helper function to build up a
      	DImode value from two SImode values in order to generate V4SImode
      	vector initialization on 64-bit systems with direct move.
      	(rs6000_split_v4si_init): Split up the insns for a V4SImode vector
      	initialization.
      	(rtx_is_swappable_p): V4SImode vector initialization insn is not
      	swappable.
      	* config/rs6000/rs6000-protos.h (rs6000_split_v4si_init): Add
      	declaration.
      	* config/rs6000/vsx.md (VSX_SPLAT_I): New mode iterators and
      	attributes to initialize V8HImode and V16QImode vectors with the
      	same element.
      	(VSX_SPLAT_COUNT): Likewise.
      	(VSX_SPLAT_SUFFIX): Likewise.
      	(UNSPEC_VSX_VEC_INIT): New unspec.
      	(vsx_concat_v2sf): Eliminate using 'preferred' register classes.
      	Allow SFmode values to come from Altivec registers.
      	(vsx_init_v4si): New insn/split for V4SImode vector initialization
      	on 64-bit systems with direct move.
      	(vsx_splat_<mode>, VSX_W iterator): Rework V4SImode and V4SFmode
      	vector initializations, to allow V4SImode vector initializations
      	on 64-bit systems with direct move.
      	(vsx_splat_v4si): Likewise.
      	(vsx_splat_v4si_di): Likewise.
      	(vsx_splat_v4sf): Likewise.
      	(vsx_splat_v4sf_internal): Likewise.
      	(vsx_xxspltw_<mode>, VSX_W iterator): Eliminate using 'preferred'
      	register classes.
      	(vsx_xxspltw_<mode>_direct, VSX_W iterator): Likewise.
      	(vsx_vsplt<VSX_SPLAT_SUFFIX>_di): New insns to support
      	initializing V8HImode and V16QImode vectors with the same
      	element.
      	* config/rs6000/rs6000.h (TARGET_DIRECT_MOVE_64BIT): Disallow
      	optimization if -maltivec=be.
      
      [gcc/testsuite]
      2016-08-23  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	* gcc.target/powerpc/vec-init-1.c: Add tests where the vector is
      	being created from pointers to memory locations.
      	* gcc.target/powerpc/vec-init-2.c: Likewise.
      
      From-SVN: r239712
      Michael Meissner committed
    • line-map.h: add source_range::from_locations · d672cded
      libcpp/ChangeLog:
      	* include/line-map.h (source_range::from_locations): New method.
      
      From-SVN: r239711
      David Malcolm committed