summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Fix tests that break unnecessarily for avr.saaadhu2016-08-036-1/+16
| | | | | | | | | | | | | | | | Require int32plus for tests that assume so, and conditionally skip pr44024.c, as it only works if the target allows deletion of null pointer checks. gcc/testsuite/ChangeLog * gcc.dg/init-excess-2.c: Require int32plus. * gcc.dg/pr44024.c: Skip if target keeps null pointer checks. * gcc.dg/pr59963-2.c: Require int32plus. * gcc.dg/pr71084.c: Cast pointer to intprt_t. * gcc.dg/unroll-7.c: Require int32plus. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239065 138bc75d-0d04-0410-961f-82ee72b054a4
* [RS6000] power8 unaligned fp load/storeamodra2016-08-033-6/+13
| | | | | | | | | | | | | | According to the POWER8 Processor User’s Manual and some experimentation on power8 hardware, unaligned fp load/store on power8 does not invoke the alignment interrupt. * config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Make scalar float access depend on TARGET_EFFICIENT_UNALIGNED_VSX. * config/rs6000/rs6000.opt (-mefficient-unaligned-vsx): Renamed from -mefficient-unaligned-vector. Note that this affects fp too. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239013 138bc75d-0d04-0410-961f-82ee72b054a4
* [RS6000] cost SLOW_UNALIGNED_ACCESSamodra2016-08-032-0/+10
| | | | | | | | * config/rs6000/rs6000.c (rs6000_rtx_costs): Make unaligned mem cost more. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239012 138bc75d-0d04-0410-961f-82ee72b054a4
* [RS6000] Force source of fix_trunc<mode>si2 to regamodra2016-08-032-5/+10
| | | | | | | | * config/rs6000/rs6000.md (fix_trunc<mode>si2): Force source operand to a reg. Localize vars. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239011 138bc75d-0d04-0410-961f-82ee72b054a4
* [RS6000] Remove negative from option help stringsamodra2016-08-032-18/+23
| | | | | | | | * config/rs6000/rs6000.opt: Remove negatives from help strings and comments. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239010 138bc75d-0d04-0410-961f-82ee72b054a4
* [RS6000] Delete duplicate codeamodra2016-08-032-41/+22
| | | | | | | | | | This removes the duplicate (TARGET_POWERPC64 && size == 16) block. * config/rs6000/rs6000.c (rs6000_secondary_reload_direct_move): Delete duplicated code. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239009 138bc75d-0d04-0410-961f-82ee72b054a4
* Daily bump.gccadmin2016-08-031-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239008 138bc75d-0d04-0410-961f-82ee72b054a4
* escape: Add basic debugging.ian2016-08-0210-7/+577
| | | | | | | | | | | | | | | | | Emit basic debug information when compiling with the flag -fgo-debug-escape#. Reviewed-on: https://go-review.googlesource.com/22376 2016-08-02 Chris Manghane <cmang@google.com> * lang.opt: Add -fgo-debug-escape option. * go-c.h (go_create_gogo): Add debug_escape_level parameter. * go-lang.c (go_langhook_init): Pass go_debug_escape_level to go_create_gogo. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239002 138bc75d-0d04-0410-961f-82ee72b054a4
* 2016-08-02 Vladimir Makarov <vmakarov@redhat.com>vmakarov2016-08-022-6/+22
| | | | | | | | | | PR middle-end/72778 * lra-spills.c (regno_in_use_p): New. (lra_final_code_change): Use it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239000 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix std::wstring allocator testsredi2016-08-028-19/+34
| | | | | | | | | | | | | | | | | | | * testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc: Remove reundant check for _GLIBCXX_USE_WCHAR_T and fix char type. * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc: Likewise. * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc: Likewise. * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc: Likewise. * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc: Likewise. * testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc: Likewise. * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238996 138bc75d-0d04-0410-961f-82ee72b054a4
* Improve comments on check_v3_target_filesystem_tsredi2016-08-022-1/+6
| | | | | | | * testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Improve comments. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238995 138bc75d-0d04-0410-961f-82ee72b054a4
* Move dg-error directives to relevant linesredi2016-08-024-12/+11
| | | | | | | | | | * testsuite/19_diagnostics/error_code/operators/bool_neg.cc: Move dg-error to relevant line. * testsuite/19_diagnostics/error_condition/operators/bool_neg.cc: Likewise. * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238994 138bc75d-0d04-0410-961f-82ee72b054a4
* Add -fno-show-column to libstdc++ test flagsredi2016-08-022-1/+3
| | | | | | * scripts/testsuite_flags.in: Add -fno-show-column to cxxflags. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238993 138bc75d-0d04-0410-961f-82ee72b054a4
* 2016-08-02 Roger Sayle <roger@nextmovesoftware.com>sayle2016-08-022-46/+95
| | | | | | | | | | | | | | | | | | | | | | | | | | * expr.c (push_value): Only call flush_quick_stack for non-constant arguments. (build_java_throw_out_of_bounds_exception): No longer wrap calls to _Jv_ThowBadArrayIndex in a COMPOUND_EXPR as no longer needed. (java_check_reference): Annotate COND_EXPR with __builtin_expect to indicate that calling _Jv_ThrowNullPointerException is unlikely. (build_java_arrayaccess): Construct an unlikely COND_EXPR instead of a TRUTH_ANDIF_EXPR in a COMPOUND_EXPR. Only generate array index MULT_EXPR when size_exp is not unity. (build_array_length_annotation): When optimizing, generate a write to the allocated array's length field to expose constant lengths to GCC's optimizers. (build_newarray): Call new build_array_length_annotation. (build_anewarray): Likewise. (expand_java_multianewarray): Fix whitespace. (expand_java_return): Likewise. (expand_invoke): Likewise. (load_type_state): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238992 138bc75d-0d04-0410-961f-82ee72b054a4
* 2016-08-02 Vladimir Makarov <vmakarov@redhat.com>vmakarov2016-08-027-162/+533
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR rtl-optimization/69847 * lra-int.h (struct lra-reg): Use restore_rtx instead of restore_regno. (lra_rtx_hash): New. * lra.c (initialize_lra_reg_info_element): Use restore_rtx instead of restore_regno. (lra_rtx_hash): Rename and move lra-remat.c::rtx_hash. * lra-remat.c (rtx_hash): Rename and Move to lra.c. * lra-spills.c (lra_final_code_change): Don't delete insn when the next insn is USE with the same reg as the current insn source. * lra-constraints.c (curr_insn_transform): Use restore_rtx instead of restore_regno. (lra_constraints_init): Call initiate_invariants. (lra_constraints_finish): Call finish_invariants. (struct invariant, invariant_t, invariant_ptr_t): New. (const_invariant_ptr_t, invariants, invariants_pool): New. (invariant_table, invariant_hash, invariant_eq_p): New. (insert_invariant, initiate_invariants, finish_invariants): New. (clear_invariants, invalid_invariant_regs): New. (inherit_reload_reg, split_reg, fix_bb_live_info): Use restore_rtx instead of restore_regno. (invariant_p, process_invariant_for_inheritance): New. (inherit_in_ebb): Implement invariant inheritance. (lra_inheritance): Initialize and finalize invalid_invariant_regs. (remove_inheritance_pseudos): Implement undoing invariant inheritance. (undo_optional_reloads, lra_undo_inheritance): Use restore_rtx instead of restore_regno. * lra-assigns.c (regno_live_length): New. (reload_pseudo_compare_func): Use regno_live_length. (assign_by_spills): Use restore_rtx instead of restore_regno. (lra_assign): Ditto. Initiate regno_live_length. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238991 138bc75d-0d04-0410-961f-82ee72b054a4
* * fixinc.in: Use --parents option to make LIB directory.law2016-08-022-1/+5
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238990 138bc75d-0d04-0410-961f-82ee72b054a4
* [Patch AArch64 Obvious] Fix Bootstrap for my mistake in r238977jgreenhalgh2016-08-022-1/+6
| | | | | | | | | | | | | | I deleted an 'f' halfway through a line when applying r238977. Not sure how I managed it, but entirely my fault. gcc/ * config/aarch64/arm_neon.h (vminnm_f64): Add back missing 'f' from __builtin_aarch64_fmindf. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238989 138bc75d-0d04-0410-961f-82ee72b054a4
* Skip C tests if test flags include C++ optionsredi2016-08-023-0/+6
| | | | | | | | * testsuite/18_support/bad_exception/23591_thread-1.c: Skip test if options are present that aren't valid for C. * testsuite/abi/header_cxxabi.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238988 138bc75d-0d04-0410-961f-82ee72b054a4
* Test TR1 special functions without adding them to stdredi2016-08-022-2/+4
| | | | | | | | * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/ check_value.cc: Do not add special functions to namespace std in TR1 test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238987 138bc75d-0d04-0410-961f-82ee72b054a4
* Only run math special function tests for C++11 and laterredi2016-08-0292-44/+198
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: Only run for C++11 and later. * testsuite/ext/special_functions/conf_hyperg/check_value.cc: Likewise. * testsuite/ext/special_functions/conf_hyperg/compile.cc: Likewise. * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise. * testsuite/ext/special_functions/hyperg/check_value.cc: Likewise. * testsuite/ext/special_functions/hyperg/compile.cc: Likewise. * testsuite/special_functions/01_assoc_laguerre/check_nan.cc: Likewise. * testsuite/special_functions/01_assoc_laguerre/check_value.cc: Likewise. * testsuite/special_functions/01_assoc_laguerre/compile.cc: Likewise. * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: Likewise. * testsuite/special_functions/02_assoc_legendre/check_nan.cc: Likewise. * testsuite/special_functions/02_assoc_legendre/check_value.cc: Likewise. * testsuite/special_functions/02_assoc_legendre/compile.cc: Likewise. * testsuite/special_functions/02_assoc_legendre/compile_2.cc: * testsuite/special_functions/03_beta/check_nan.cc: Likewise. * testsuite/special_functions/03_beta/check_value.cc: Likewise. * testsuite/special_functions/03_beta/compile.cc: Likewise. * testsuite/special_functions/03_beta/compile_2.cc: Likewise. * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: Likewise. * testsuite/special_functions/04_comp_ellint_1/check_value.cc: Likewise. * testsuite/special_functions/04_comp_ellint_1/compile.cc: Likewise. * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Likewise. * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: Likewise. * testsuite/special_functions/05_comp_ellint_2/check_value.cc: Likewise. * testsuite/special_functions/05_comp_ellint_2/compile.cc: Likewise. * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Likewise. * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: Likewise. * testsuite/special_functions/06_comp_ellint_3/check_value.cc: Likewise. * testsuite/special_functions/06_comp_ellint_3/compile.cc: Likewise. * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Likewise. * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: Likewise. * testsuite/special_functions/07_cyl_bessel_i/check_value.cc: Likewise. * testsuite/special_functions/07_cyl_bessel_i/compile.cc: Likewise. * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Likewise. * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: Likewise. * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: Likewise. * testsuite/special_functions/08_cyl_bessel_j/check_value.cc: Likewise. * testsuite/special_functions/08_cyl_bessel_j/compile.cc: Likewise. * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Likewise. * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: Likewise. * testsuite/special_functions/09_cyl_bessel_k/check_value.cc: Likewise. * testsuite/special_functions/09_cyl_bessel_k/compile.cc: Likewise. * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Likewise. * testsuite/special_functions/10_cyl_neumann/check_nan.cc: Likewise. * testsuite/special_functions/10_cyl_neumann/check_value.cc: Likewise. * testsuite/special_functions/10_cyl_neumann/compile.cc: Likewise. * testsuite/special_functions/10_cyl_neumann/compile_2.cc: Likewise. * testsuite/special_functions/11_ellint_1/check_nan.cc: Likewise. * testsuite/special_functions/11_ellint_1/check_value.cc: Likewise. * testsuite/special_functions/11_ellint_1/compile.cc: Likewise. * testsuite/special_functions/11_ellint_1/compile_2.cc: Likewise. * testsuite/special_functions/12_ellint_2/check_nan.cc: Likewise. * testsuite/special_functions/12_ellint_2/check_value.cc: Likewise. * testsuite/special_functions/12_ellint_2/compile.cc: Likewise. * testsuite/special_functions/12_ellint_2/compile_2.cc: Likewise. * testsuite/special_functions/13_ellint_3/check_nan.cc: Likewise. * testsuite/special_functions/13_ellint_3/check_value.cc: Likewise. * testsuite/special_functions/13_ellint_3/compile.cc: Likewise. * testsuite/special_functions/13_ellint_3/compile_2.cc: Likewise. * testsuite/special_functions/14_expint/check_nan.cc: Likewise. * testsuite/special_functions/14_expint/check_value.cc: Likewise. * testsuite/special_functions/14_expint/compile.cc: Likewise. * testsuite/special_functions/14_expint/compile_2.cc: Likewise. * testsuite/special_functions/15_hermite/check_nan.cc: Likewise. * testsuite/special_functions/15_hermite/check_value.cc: Likewise. * testsuite/special_functions/15_hermite/compile.cc: Likewise. * testsuite/special_functions/15_hermite/compile_2.cc: Likewise. * testsuite/special_functions/16_laguerre/check_nan.cc: Likewise. * testsuite/special_functions/16_laguerre/check_value.cc: Likewise. * testsuite/special_functions/16_laguerre/compile.cc: Likewise. * testsuite/special_functions/16_laguerre/compile_2.cc: Likewise. * testsuite/special_functions/17_legendre/check_nan.cc: Likewise. * testsuite/special_functions/17_legendre/check_value.cc: Likewise. * testsuite/special_functions/17_legendre/compile.cc: Likewise. * testsuite/special_functions/17_legendre/compile_2.cc: Likewise. * testsuite/special_functions/18_riemann_zeta/check_nan.cc: Likewise. * testsuite/special_functions/18_riemann_zeta/check_value.cc: Likewise. * testsuite/special_functions/18_riemann_zeta/compile.cc: Likewise. * testsuite/special_functions/18_riemann_zeta/compile_2.cc: Likewise. * testsuite/special_functions/19_sph_bessel/check_nan.cc: Likewise. * testsuite/special_functions/19_sph_bessel/check_value.cc: Likewise. * testsuite/special_functions/19_sph_bessel/compile.cc: Likewise. * testsuite/special_functions/19_sph_bessel/compile_2.cc: Likewise. * testsuite/special_functions/20_sph_legendre/check_nan.cc: Likewise. * testsuite/special_functions/20_sph_legendre/check_value.cc: Likewise. * testsuite/special_functions/20_sph_legendre/compile.cc: Likewise. * testsuite/special_functions/20_sph_legendre/compile_2.cc: Likewise. * testsuite/special_functions/21_sph_neumann/check_nan.cc: Likewise. * testsuite/special_functions/21_sph_neumann/check_value.cc: Likewise. * testsuite/special_functions/21_sph_neumann/compile.cc: Likewise. * testsuite/special_functions/21_sph_neumann/compile_2.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238986 138bc75d-0d04-0410-961f-82ee72b054a4
* Make TR1 special function tests support C++98redi2016-08-027-114/+130
| | | | | | | | | | | | | | | | | | * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/check_value.cc: Use __attribute__((unused)) instead of [[gnu::unused]]. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/check_value.cc: Likewise. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/check_value.cc: Likewise. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/check_value.cc: Likewise. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/check_value.cc: Likewise. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/check_value.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238985 138bc75d-0d04-0410-961f-82ee72b054a4
* Update Solaris baselinesro2016-08-027-0/+519
| | | | | | | | | | | * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerate. * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise. * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise. * config/abi/post/solaris2.11/baseline_symbols.txt: Likewise. * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: Likewise. * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238984 138bc75d-0d04-0410-961f-82ee72b054a4
* PR tree-optimization/34114amker2016-08-024-15/+121
| | | | | | | | | | | | * tree-ssa-loop-niter.c (number_of_iterations_ne): Prove no-overflow information for more control IVs. gcc/testsuite PR tree-optimization/34114 * gcc.dg/tree-ssa/loop-42.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238983 138bc75d-0d04-0410-961f-82ee72b054a4
* PR tree-optimization/34114amker2016-08-022-7/+66
| | | | | | | | * fold-const.c (multiple_of_p): Improve MULT_EXPR, PLUS_EXPR, PLUS_EXPR case. Handle SSA_NAME case. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238982 138bc75d-0d04-0410-961f-82ee72b054a4
* Skip scan-assembler test when -flto is usedredi2016-08-022-0/+4
| | | | | | | * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc: Skip test if -flto used. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238981 138bc75d-0d04-0410-961f-82ee72b054a4
* Support using -flto with libstdc++ testsuiteredi2016-08-022-1/+7
| | | | | | | * testsuite/lib/libstdc++.exp (v3-build_support): Add -fno-lto to additional flags for compiling libtestc++.a objects. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238978 138bc75d-0d04-0410-961f-82ee72b054a4
* [PATCH AArch64] Add more AArch64 NEON intrinsicsjgreenhalgh2016-08-029-39/+166
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add vmaxnm_f64, vminnm_f64, vmax_f64, vmin_f64. Committed on behalf of Tamar Christina <tamar.christina@arm.com> . gcc/ * config/aarch64/aarch64-simd-builtins.def (__builtin_aarch64_fmindf): Change BUILTIN_VDQF to BUILTIN_VDQF_DF. (__builtin_aarch64_fmaxdf): Likewise. (__builtin_aarch64_smin_nandf): Likewise. (__builtin_aarch64_smax_nandf): Likewise. * config/aarch64/aarch64-simd.md (<fmaxmin><mode>3): Remove. * config/aarch64/aarch64.md (<fmaxmin><mode>3): Rename to... (<fmaxmin><mode>3): ...this. * config/aarch64/arm_neon.h (vmaxnm_f64): New. (vminnm_f64): Likewise. (vmin_f64): Likewise. (vmax_f64): Likewise. * config/aarch64/iterators.md (FMAXMIN): Merge with... (FMAXMIN_UNS): ...this. (fmaxmin): Merged with (fmaxmin_op): ...this... (maxmin_uns_op): ...in to this. gcc/testsuite/ * gcc.target/aarch64/vminmaxnm.c: New. * gcc.target/aarch64/simd/vminmaxnm_1.c (main): Added float64x1_t tests. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238977 138bc75d-0d04-0410-961f-82ee72b054a4
* Daily bump.gccadmin2016-08-021-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238976 138bc75d-0d04-0410-961f-82ee72b054a4
* [gcc]meissner2016-08-0110-17/+571
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2016-08-01 Michael Meissner <meissner@linux.vnet.ibm.com> * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): Add support for vec_extract on vector float, vector int, vector short, and vector char vector types. * config/rs6000/rs6000.c (rs6000_expand_vector_extract): Add vector float, vector int, vector short, and vector char optimizations on 64-bit ISA 2.07 systems for both constant and variable element numbers. (rs6000_split_vec_extract_var): Likewise. * config/rs6000/vsx.md (vsx_xscvspdp_scalar2): Allow SFmode to be Altivec registers on ISA 2.07 and above. (vsx_extract_v4sf): Delete alternative that hard coded element 0, which never was matched due to the split occuring before register allocation (and the code would not have worked on little endian systems if it did match). Allow extracts to go to the Altivec registers if ISA 2.07 (power8). Change from using "" around the C++ code to using {}'s. (vsx_extract_v4sf_<mode>_load): New insn to optimize vector float vec_extracts when the vector is in memory. (vsx_extract_v4sf_var): New insn to optimize vector float vec_extracts when the element number is variable on 64-bit ISA 2.07 systems. (vsx_extract_<mode>, VSX_EXTRACT_I iterator): Add optimizations for 64-bit ISA 2.07 as well as ISA 3.0. (vsx_extract_<mode>_p9, VSX_EXTRACT_I iterator): Likewise. (vsx_extract_<mode>_p8, VSX_EXTRACT_I iterator): Likewise. (vsx_extract_<mode>_load, VSX_EXTRACT_I iterator): New insn to optimize vector int, vector short, and vector char vec_extracts when the vector is in memory. (vsx_extract_<mode>_var, VSX_EXTRACT_I iterator): New insn to optimize vector int, vector short, and vector char vec_extracts when the element number is variable. [gcc/testsuite] 2016-08-01 Michael Meissner <meissner@linux.vnet.ibm.com> * gcc.target/powerpc/vec-extract-5.c: New tests to test vec_extract for vector float, vector int, vector short, and vector char. * gcc.target/powerpc/vec-extract-6.c: Likewise. * gcc.target/powerpc/vec-extract-7.c: Likewise. * gcc.target/powerpc/vec-extract-8.c: Likewise. * gcc.target/powerpc/vec-extract-9.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238971 138bc75d-0d04-0410-961f-82ee72b054a4
* Warn about mangled name change even if DECL_REALLY_EXTERN.jason2016-08-012-29/+34
| | | | | | | * mangle.c (mangle_decl): Warn about mangled name change even if DECL_REALLY_EXTERN. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238966 138bc75d-0d04-0410-961f-82ee72b054a4
* * mangle.c (get_abi_tags): New.jason2016-08-012-17/+34
| | | | | | | (find_substitution, write_unqualified_name, write_abi_tags) (maybe_check_abi_tags): Use it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238965 138bc75d-0d04-0410-961f-82ee72b054a4
* * mangle.c (mangle_decl): Fix mangled name change warning.jason2016-08-014-5/+8
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238964 138bc75d-0d04-0410-961f-82ee72b054a4
* Add non-const std::basic_string::data() for C++17redi2016-08-014-4/+117
| | | | | | | | | * include/bits/basic_string.h (data() const): Update comment. (data()): Add non-const overload for C++17. * testsuite/21_strings/basic_string/operations/data/char/2.cc: New. * testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238963 138bc75d-0d04-0410-961f-82ee72b054a4
* PR target/71948gjl2016-08-012-1/+7
| | | | | | | | | * config/avr/avr.c (AVR_SYMBOL_FLAG_TINY_PM): Use a value that does not overlap with other symbol flags. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238961 138bc75d-0d04-0410-961f-82ee72b054a4
* This patch optimizes the prolog and epilog code to reduce the number ofwilco2016-08-0112-221/+260
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | instructions and avoid multiple writes to SP. The key idea is that epilogs are almost exact reverses of prologs, and thus all the decisions only need to be taken once. The frame layout is decided in aarch64_layout_frame() and decisions recorded in the new aarch64_frame fields initial_adjust, callee_adjust, callee_offset and final_adjust. A generic frame setup consists of 5 basic steps: 1. sub sp, sp, initial_adjust 2. stp reg1, reg2, [sp, -callee_adjust]! (push if callee_adjust != 0) 3. add fp, sp, callee_offset (if frame_pointer_needed) 4. stp reg3, reg4, [sp, callee_offset + N*16] (store remaining callee-saves) 5. sub sp, sp, final_adjust The epilog reverses this, and may omit step 3 if alloca wasn't used. gcc/ * config/aarch64/aarch64.h (aarch64_frame): Remove padding0 and hardfp_offset. Add locals_offset, initial_adjust, callee_adjust, callee_offset and final_adjust. * config/aarch64/aarch64.c (aarch64_layout_frame): Remove unused padding0 and hardfp_offset initializations. Choose frame layout and set frame variables accordingly. Use INVALID_REGNUM instead of FIRST_PSEUDO_REGISTER. (aarch64_push_regs): Use INVALID_REGNUM, not FIRST_PSEUDO_REGISTER. (aarch64_pop_regs): Likewise. (aarch64_expand_prologue): Remove all decision code, just emit prolog according to frame variables. (aarch64_expand_epilogue): Remove all decision code, just emit epilog according to frame variables. (aarch64_initial_elimination_offset): Use offset to local/arg area. testsuite/ * gcc.target/aarch64/test_frame_10.c: Fix test to check for a single stack adjustment, no writeback. * gcc.target/aarch64/test_frame_12.c: Likewise. * gcc.target/aarch64/test_frame_13.c: Likewise. * gcc.target/aarch64/test_frame_15.c: Likewise. * gcc.target/aarch64/test_frame_6.c: Likewise. * gcc.target/aarch64/test_frame_7.c: Likewise. * gcc.target/aarch64/test_frame_8.c: Likewise. * gcc.target/aarch64/test_frame_16.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238960 138bc75d-0d04-0410-961f-82ee72b054a4
* Disable std::string and std::wstring extern templates for C++17redi2016-08-012-1/+4
| | | | | | | * include/bits/basic_string.tcc: Disable explicit instantiation declarations for C++17. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238959 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/72766 - ICE with VLAjason2016-08-014-1/+22
| | | | | | | | | * constexpr.c (cxx_eval_pointer_plus_expression): Check constancy of nelts. * cp-gimplify.c (cp_fully_fold): Only maybe_constant_value in C++11 and up. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238957 138bc75d-0d04-0410-961f-82ee72b054a4
* Convert V1TImode register to TImode in debug insnhjl2016-08-014-0/+45
| | | | | | | | | | | | | | | | | | | | | | TImode register referenced in debug insn can be converted to V1TImode by scalar to vector optimization. When converting a TImode store to V1TImode, we need to check all debug insns on its use chain to convert the V1TImode register to SUBREG TImode if source register is undefined. gcc/ PR target/72748 * config/i386/i386.c (timode_scalar_chain::convert_insn): Call fix_debug_reg_uses after changing source register mode to V1TImode if source register is undefined. gcc/testsuite/ PR target/72748 * gcc.target/i386/pr72748.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238956 138bc75d-0d04-0410-961f-82ee72b054a4
* 2016-08-01 Alan Hayward <alan.hayward@arm.com>alahay012016-08-014-1/+45
| | | | | | | | | | | | | | | gcc/ PR tree-optimization/71818 * tree-vect-loop-manip.c (vect_can_advance_ivs_p): Don't advance IVs with non invariant evolutions testsuite/ PR tree-optimization/71818 * gcc.dg/vect/pr71818.c: New git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238955 138bc75d-0d04-0410-961f-82ee72b054a4
* Remove ignored "xfail" from dg-do compile directivesredi2016-08-016-12/+18
| | | | | | | | | | | | | | | * testsuite/23_containers/unordered_map/requirements/53339.cc: Remove ignored "xfail" from { dg-do compile { xfail selector } } directive. * testsuite/23_containers/unordered_multimap/requirements/53339.cc: Likewise. * testsuite/26_numerics/headers/cmath/ c99_classification_macros_c++11.cc: Likewise. * testsuite/26_numerics/headers/cmath/ c99_classification_macros_c++98.cc: Likewise. * testsuite/26_numerics/headers/cmath/ c99_classification_macros_c.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238954 138bc75d-0d04-0410-961f-82ee72b054a4
* Change dump expectation in PR71857marxin2016-08-012-1/+6
| | | | | | | | PR tree-optimization/71857 * gcc.dg/tree-ssa/ivopt_mult_4.c: Change expectation. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238953 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix __gnu_cxx::hash_set test to pass in C++98 moderedi2016-08-012-12/+17
| | | | | | | * testsuite/backward/hash_set/check_construct_destroy.cc: Account for different construct/destroy counts in C++98 mode. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238952 138bc75d-0d04-0410-961f-82ee72b054a4
* * include/cpplib.h: Fix comment typo.schwab2016-08-012-1/+5
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238951 138bc75d-0d04-0410-961f-82ee72b054a4
* PR target/72767gjl2016-08-012-2/+8
| | | | | | | | | * config/avr/avr.md (length) [branch]: Correct insn length attribute for forward branches. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238948 138bc75d-0d04-0410-961f-82ee72b054a4
* * doc/extend.texi (AVR Built-in Functions): Documentgjl2016-08-014-0/+42
| | | | | | | | | | | __builtin_avr_nops. * config/avr/builtins.def (NOPS): New. * config/avr/avr.c (avr_expand_nops): New static function. (avr_expand_builtin): Use it to handle AVR_BUILTIN_NOPS. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238947 138bc75d-0d04-0410-961f-82ee72b054a4
* Remove "-x c" from dg-options in libstdc++ C++ testredi2016-08-012-1/+3
| | | | | | * testsuite/17_intro/freestanding.cc: Remove "-x c" from dg-options. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238946 138bc75d-0d04-0410-961f-82ee72b054a4
* Limit std::tuple tests to run for C++11 and laterredi2016-08-013-1/+9
| | | | | | | | | * testsuite/20_util/tuple/cons/66338.cc: Limit test to C++11 and later. * testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238945 138bc75d-0d04-0410-961f-82ee72b054a4
* Make libstdc++ debug mode test valid for C++98redi2016-08-012-1/+4
| | | | | | | * testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: Use C++98-compatible initialization for array. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238944 138bc75d-0d04-0410-961f-82ee72b054a4
* Remove unused headers and variables from libstdc++ testsredi2016-08-016-32/+12
| | | | | | | | | | | | * testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue.cc: Remove unused header and variable from compile-only test. * testsuite/20_util/shared_ptr/assign/unique_ptr_rvalue.cc: Likewise. * testsuite/28_regex/basic_regex/assign/char/cstring.cc: Likewise. * testsuite/28_regex/basic_regex/ctors/string_wchar_t.cc: Likewise. * testsuite/experimental/memory/shared_ptr/cons/copy_ctor_neg.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238943 138bc75d-0d04-0410-961f-82ee72b054a4
* Remove duplicate dg-options directive in string_view testredi2016-08-012-1/+3
| | | | | | | * testsuite/experimental/string_view/operations/rfind/char/2.cc: Remove duplicate dg-options directive. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238942 138bc75d-0d04-0410-961f-82ee72b054a4