summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* * ru.po: Update.jsm282016-05-252-12490/+14256
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236732 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix configure test for sendfile()redi2016-05-254-5/+9
| | | | | | | | * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Fix test for sendfile. * configure: Regenerate. * config.h.in: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236730 138bc75d-0d04-0410-961f-82ee72b054a4
* [RTL ifcvt] PR rtl-optimization/66940: Avoid signed overflow in ↵ktkachov2016-05-254-4/+40
| | | | | | | | | | | | | | | noce_get_alt_condition PR rtl-optimization/66940 * ifcvt.c (noce_get_alt_condition): Check that incrementing or decrementing desired_val will not overflow before performing these operations. * gcc.c-torture/execute/pr66940.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236728 138bc75d-0d04-0410-961f-82ee72b054a4
* AVX-512F: Add vectorizer support builtinsiverbin2016-05-2529-10/+854
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gcc/ * config/i386/i386-builtin-types.def: Add V16SI_FTYPE_V16SF, V8DF_FTYPE_V8DF_ROUND, V16SF_FTYPE_V16SF_ROUND, V16SI_FTYPE_V16SF_ROUND. * config/i386/i386.c (enum ix86_builtins): Add IX86_BUILTIN_CVTPS2DQ512_MASK, IX86_BUILTIN_FLOORPS512, IX86_BUILTIN_FLOORPD512, IX86_BUILTIN_CEILPS512, IX86_BUILTIN_CEILPD512, IX86_BUILTIN_TRUNCPS512, IX86_BUILTIN_TRUNCPD512, IX86_BUILTIN_CVTPS2DQ512, IX86_BUILTIN_VEC_PACK_SFIX512, IX86_BUILTIN_FLOORPS_SFIX512, IX86_BUILTIN_CEILPS_SFIX512, IX86_BUILTIN_ROUNDPS_AZ_SFIX512. (builtin_description bdesc_args): Add __builtin_ia32_floorps512, __builtin_ia32_ceilps512, __builtin_ia32_truncps512, __builtin_ia32_floorpd512, __builtin_ia32_ceilpd512, __builtin_ia32_truncpd512, __builtin_ia32_cvtps2dq512, __builtin_ia32_vec_pack_sfix512, __builtin_ia32_roundps_az_sfix512, __builtin_ia32_floorps_sfix512, __builtin_ia32_ceilps_sfix512. Change IX86_BUILTIN_CVTPS2DQ512 to IX86_BUILTIN_CVTPS2DQ512_MASK for __builtin_ia32_cvtps2dq512_mask. (ix86_expand_args_builtin): Handle V8DF_FTYPE_V8DF_ROUND, V16SF_FTYPE_V16SF_ROUND, V16SI_FTYPE_V16SF_ROUND, V16SI_FTYPE_V16SF. (ix86_builtin_vectorized_function): Handle builtins mentioned above. * config/i386/sse.md (<mask_codefor>avx512f_fix_notruncv16sfv16si<mask_name><round_name>): Rename to ... (avx512f_fix_notruncv16sfv16si<mask_name><round_name>): ... this. (<mask_codefor>avx512f_cvtpd2dq512<mask_name><round_name>): Rename to ... (avx512f_cvtpd2dq512<mask_name><round_name>): ... this. (avx512f_vec_pack_sfix_v8df): New define_expand. (avx512f_roundpd512): Rename to ... (avx512f_round<castmode>512): ... this. Change iterator. (avx512f_roundps512_sfix): New define_expand. (round<mode>2_sfix): Change iterator. gcc/testsuite/ * gcc.target/i386/avx512f-ceil-vec-1.c: New test. * gcc.target/i386/avx512f-ceil-vec-2.c: New test. * gcc.target/i386/avx512f-ceilf-sfix-vec-1.c: New test. * gcc.target/i386/avx512f-ceilf-sfix-vec-2.c: New test. * gcc.target/i386/avx512f-ceilf-vec-1.c: New test. * gcc.target/i386/avx512f-ceilf-vec-2.c: New test. * gcc.target/i386/avx512f-floor-vec-1.c: New test. * gcc.target/i386/avx512f-floor-vec-2.c: New test. * gcc.target/i386/avx512f-floorf-sfix-vec-1.c: New test. * gcc.target/i386/avx512f-floorf-sfix-vec-2.c: New test. * gcc.target/i386/avx512f-floorf-vec-1.c: New test. * gcc.target/i386/avx512f-floorf-vec-2.c: New test. * gcc.target/i386/avx512f-rint-sfix-vec-1.c: New test. * gcc.target/i386/avx512f-rint-sfix-vec-2.c: New test. * gcc.target/i386/avx512f-rintf-sfix-vec-1.c: New test. * gcc.target/i386/avx512f-rintf-sfix-vec-2.c: New test. * gcc.target/i386/avx512f-round-sfix-vec-1.c: New test. * gcc.target/i386/avx512f-round-sfix-vec-2.c: New test. * gcc.target/i386/avx512f-roundf-sfix-vec-1.c: New test. * gcc.target/i386/avx512f-roundf-sfix-vec-2.c: New test. * gcc.target/i386/avx512f-trunc-vec-1.c: New test. * gcc.target/i386/avx512f-trunc-vec-2.c: New test. * gcc.target/i386/avx512f-truncf-vec-1.c: New test. * gcc.target/i386/avx512f-truncf-vec-2.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236709 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c/71266mpolacek2016-05-254-2/+20
| | | | | | | | | * c-decl.c (store_parm_decls_oldstyle): Skip non-PARM_DECLs. * gcc.dg/noncompile/old-style-parm-3.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236708 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c/71265mpolacek2016-05-254-1/+18
| | | | | | | | | * c-decl.c (c_make_fname_decl): Don't check seen_error. * gcc.dg/noncompile/pr71265.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236707 138bc75d-0d04-0410-961f-82ee72b054a4
* * ru.po: Update.jsm282016-05-252-3083/+6445
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236705 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/msp430/msp430.c (msp430_attr): Produce an error if anickc2016-05-254-1/+21
| | | | | | | | | | | static interrupt handler is detected. * config/msp430/msp430.h (LIB_SPEC): Do not use msp430.ld as the default linker script. * config/msp430/msp430.md (movpsihi2_lo): New pattern for loading the low part of a symbolic pointer. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236704 138bc75d-0d04-0410-961f-82ee72b054a4
* libgcc/nathan2016-05-256-54/+63
| | | | | | | | | | | | | * config/nvptx/crt0.s: Delete. * config/nvptx/crt0.c: New. * t-nvptx: Update. gcc/testsuite/ * gcc.c-torture/execute/921110-1.c: Fix abort decl. add missing 2016-05-20 Nathan Sidwell <nathan@acm.org> entry git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236702 138bc75d-0d04-0410-961f-82ee72b054a4
* 2016-05-25 Richard Biener <rguenther@suse.de>rguenth2016-05-254-3/+26
| | | | | | | | | | | | PR tree-optimization/71261 * tree-if-conv.c (ifcvt_split_def_stmt): Walk uses on the interesting stmt instead of immediate uses when looking for the use operand to replace. * c-c++-common/torture/pr71261.c: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236701 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix dump output typomarxin2016-05-252-1/+5
| | | | | | | * ipa-inline.c (edge_badness): Use 'w/' instead of 'w'. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236700 138bc75d-0d04-0410-961f-82ee72b054a4
* 2016-05-25 Richard Biener <rguenther@suse.de>rguenth2016-05-254-4/+42
| | | | | | | | | | | PR tree-optimization/71264 * tree-vect-stmts.c (vect_init_vector): Properly deal with vector type val. * gcc.dg/vect/pr71264.c: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236699 138bc75d-0d04-0410-961f-82ee72b054a4
* 2016-05-25 Paolo Carlini <paolo.carlini@oracle.com>paolo2016-05-253-0/+39
| | | | | | | | | PR c++/55992 * g++.dg/cpp0x/alias-decl-53.C: New. * g++.dg/cpp0x/alias-decl-54.C: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236698 138bc75d-0d04-0410-961f-82ee72b054a4
* Remove _GLIBCXX14_USE_CONSTEXPRredi2016-05-253-11/+15
| | | | | | | | | | | * include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): Remove it. * include/bits/hashtable_policy.h (_Power2_rehash_policy::_M_next_bkt): Remove const qualification on function. Replace _GLIBCXX14_USE_CONSTEXPR on automatic variables with const. (_Power2_rehash_policy::_M_need_rehash): Remove const qualification. (_Power2_rehash_policy::_M_next_bkt): Remove mutable specifier. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236697 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix PR tree-optimization/71239.marxin2016-05-253-1/+12
| | | | | | | | | | * g++.dg/pr71239.C: New test. PR tree-optimization/71239 * tree.c (array_at_struct_end_p): Do not call operand_equal_p if DECL_SIZE is NULL. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236696 138bc75d-0d04-0410-961f-82ee72b054a4
* 2016-05-25 Richard Biener <rguenther@suse.de>rguenth2016-05-253-1/+7
| | | | | | | | * timevar.def (TV_TREE_LOOP_IFCVT): Add. * tree-if-conv.c (pass_data_if_conversion): Use it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236695 138bc75d-0d04-0410-961f-82ee72b054a4
* 2016-05-24 Paolo Carlini <paolo.carlini@oracle.com>paolo2016-05-251-0/+5
| | | | | | | | * g++.dg/cpp1y/lambda-generic-static1.C: Use target c++14. * g++.dg/cpp1y/lambda-generic-static2.C: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236694 138bc75d-0d04-0410-961f-82ee72b054a4
* 2016-05-25 Richard Biener <rguenther@suse.de>rguenth2016-05-252-0/+5
| | | | | | | | * gcc/testsuite/gcc.dg/vect/pr58135.c: Rename to ... * gcc/testsuite/gcc.dg/vect/bb-slp-pr58135.c: ... this. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236693 138bc75d-0d04-0410-961f-82ee72b054a4
* * cgraph.c (cgraph_node::get_availability): Fix typo in comment.edlinger2016-05-254-3/+9
| | | | | | | | * symtab.c (symtab_node::binds_to_current_def_p): Likewise. * varpool.c (varpool_node::get_availability): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236690 138bc75d-0d04-0410-961f-82ee72b054a4
* Daily bump.gccadmin2016-05-251-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236689 138bc75d-0d04-0410-961f-82ee72b054a4
* * g++.dg/pr65295.C: Use target c++14.mpolacek2016-05-242-1/+5
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236683 138bc75d-0d04-0410-961f-82ee72b054a4
* [gcc]meissner2016-05-244-11/+47
| | | | | | | | | | | | | | | | | | | | 2016-05-24 Michael Meissner <meissner@linux.vnet.ibm.com> * config/rs6000/altivec.md (VNEG iterator): New iterator for VNEGW/VNEGD instructions. (p9_neg<mode>2): New insns for ISA 3.0 VNEGW/VNEGD. (neg<mode>2): Add expander for V2DImode added in ISA 2.06, and support for ISA 3.0 VNEGW/VNEGD instructions. [gcc/testsuite] 2016-05-24 Michael Meissner <meissner@linux.vnet.ibm.com> * gcc.target/powerpc/p9-vneg.c: New test for ISA 3.0 VNEGW/VNEGD instructions. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236679 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/c/cesar2016-05-2455-113/+722
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * c-parser.c (c_parser_oacc_declare): Add support for GOMP_MAP_FIRSTPRIVATE_POINTER. * c-typeck.c (handle_omp_array_sections_1): Replace bool is_omp argument with enum c_omp_region_type ort. (handle_omp_array_sections): Likewise. Update call to handle_omp_array_sections_1. (c_finish_omp_clauses): Add specific errors and warning messages for OpenACC. Use firsrtprivate pointers for OpenACC subarrays. Update call to handle_omp_array_sections. gcc/cp/ * parser.c (cp_parser_oacc_declare): Add support for GOMP_MAP_FIRSTPRIVATE_POINTER. * semantics.c (handle_omp_array_sections_1): Replace bool is_omp argument with enum c_omp_region_type ort. Don't privatize OpenACC non-static members. (handle_omp_array_sections): Replace bool is_omp argument with enum c_omp_region_type ort. Update call to handle_omp_array_sections_1. (finish_omp_clauses): Add specific errors and warning messages for OpenACC. Use firsrtprivate pointers for OpenACC subarrays. Update call to handle_omp_array_sections. gcc/ * gimplify.c (omp_notice_variable): Use zero-length arrays for data pointers inside OACC_DATA regions. (gimplify_scan_omp_clauses): Prune firstprivate clause associated with OACC_DATA, OACC_ENTER_DATA and OACC_EXIT data regions. (gimplify_adjust_omp_clauses): Fix typo in comment. gcc/testsuite/ * c-c++-common/goacc/data-clause-duplicate-1.c: Adjust test. * c-c++-common/goacc/deviceptr-1.c: Likewise. * c-c++-common/goacc/kernels-alias-3.c: Likewise. * c-c++-common/goacc/kernels-alias-4.c: Likewise. * c-c++-common/goacc/kernels-alias-5.c: Likewise. * c-c++-common/goacc/kernels-alias-8.c: Likewise. * c-c++-common/goacc/kernels-alias-ipa-pta-3.c: Likewise. * c-c++-common/goacc/pcopy.c: Likewise. * c-c++-common/goacc/pcopyin.c: Likewise. * c-c++-common/goacc/pcopyout.c: Likewise. * c-c++-common/goacc/pcreate.c: Likewise. * c-c++-common/goacc/pr70688.c: New test. * c-c++-common/goacc/present-1.c: Adjust test. * c-c++-common/goacc/reduction-5.c: Likewise. * g++.dg/goacc/data-1.C: New test. libgomp/ * oacc-mem.c (acc_malloc): Update handling of shared-memory targets. (acc_free): Likewise. (acc_memcpy_to_device): Likewise. (acc_memcpy_from_device): Likewise. (acc_deviceptr): Likewise. (acc_hostptr): Likewise. (acc_is_present): Likewise. (acc_map_data): Likewise. (acc_unmap_data): Likewise. (present_create_copy): Likewise. (delete_copyout): Likewise. (update_dev_host): Likewise. * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail. * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test. * testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test. * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test. * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that it only runs on nvptx targets. * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236678 138bc75d-0d04-0410-961f-82ee72b054a4
* [gcc]meissner2016-05-2412-5/+659
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2016-05-24 Michael Meissner <meissner@linux.vnet.ibm.com> * config/rs6000/altivec.md (VParity): New mode iterator for vector parity built-in functions. (p9v_ctz<mode>2): Add support for ISA 3.0 vector count trailing zeros. (p9v_parity<mode>2): Likewise. * config/rs6000/vector.md (VEC_IP): New mode iterator for vector parity. (ctz<mode>2): ISA 3.0 expander for vector count trailing zeros. (parity<mode>2): ISA 3.0 expander for vector parity. * config/rs6000/rs6000-builtin.def (BU_P9_MISC_1): New macros for power9 built-ins. (BU_P9_64BIT_MISC_0): Likewise. (BU_P9_MISC_0): Likewise. (BU_P9V_AV_1): Likewise. (BU_P9V_AV_2): Likewise. (BU_P9V_AV_3): Likewise. (BU_P9V_AV_P): Likewise. (BU_P9V_VSX_1): Likewise. (BU_P9V_OVERLOAD_1): Likewise. (BU_P9V_OVERLOAD_2): Likewise. (BU_P9V_OVERLOAD_3): Likewise. (VCTZB): Add vector count trailing zeros support. (VCTZH): Likewise. (VCTZW): Likewise. (VCTZD): Likewise. (VPRTYBD): Add vector parity support. (VPRTYBQ): Likewise. (VPRTYBW): Likewise. (VCTZ): Add overloaded vector count trailing zeros support. (VPRTYB): Add overloaded vector parity support. * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add overloaded vector count trailing zeros and parity instructions. * config/rs6000/rs6000.md (wd mode attribute): Add V1TI and TI for vector parity support. * config/rs6000/altivec.h (vec_vctz): Add ISA 3.0 vector count trailing zeros support. (vec_cntlz): Likewise. (vec_vctzb): Likewise. (vec_vctzd): Likewise. (vec_vctzh): Likewise. (vec_vctzw): Likewise. (vec_vprtyb): Add ISA 3.0 vector parity support. (vec_vprtybd): Likewise. (vec_vprtybw): Likewise. (vec_vprtybq): Likewise. * doc/extend.texi (PowerPC AltiVec Built-in Functions): Document the ISA 3.0 vector count trailing zeros and vector parity built-in functions. [gcc/testsuite] 2016-05-24 Michael Meissner <meissner@linux.vnet.ibm.com> * gcc.target/powerpc/p9-vparity.c: New file to check ISA 3.0 vector parity built-in functions. * gcc.target/powerpc/ctz-3.c: New file to check ISA 3.0 vector count trailing zeros automatic vectorization. * gcc.target/powerpc/ctz-4.c: New file to check ISA 3.0 vector count trailing zeros built-in functions. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236677 138bc75d-0d04-0410-961f-82ee72b054a4
* 2016-05-24 Paolo Carlini <paolo.carlini@oracle.com>paolo2016-05-242-2/+2
| | | | | | | | * g++.dg/cpp1y/lambda-generic-static1.C: Use target c++14. * g++.dg/cpp1y/lambda-generic-static2.C: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236676 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/ChangeLog:kugan2016-05-244-0/+20
| | | | | | | | | | | | | | | | | | 2016-05-24 Kugan Vivekanandarajah <kuganv@linaro.org> * tree-ssa-reassoc.c (sort_by_operand_rank): Skip checking gimple_bb when there is stmt_to_insert. gcc/testsuite/ChangeLog: 2016-05-24 Kugan Vivekanandarajah <kuganv@linaro.org> * gcc.dg/tree-ssa/reassoc-44.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236673 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc.target/powerpc/lhs-1.c: Fix testcase to avoid subreg changes.pthaugen2016-05-242-13/+11
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236672 138bc75d-0d04-0410-961f-82ee72b054a4
* 2016-05-24 Paolo Carlini <paolo.carlini@oracle.com>paolo2016-05-243-0/+46
| | | | | | | | | PR c++/50436 * g++.dg/template/crash123.C: New. * g++.dg/template/crash124.C: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236671 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/70584 - don't force indirection to an rvaluejason2016-05-242-6/+21
| | | | | | | | * cp-gimplify.c (cp_fold_maybe_rvalue): Loop in case cp_fold returns a decl. (cp_fold) [INDIRECT_REF]: Don't fold to an rvalue. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236670 138bc75d-0d04-0410-961f-82ee72b054a4
* 2016-05-24 François Dumont <fdumont@gcc.gnu.org>fdumont2016-05-2411-232/+565
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): New. * include/bits/hashtable_policy.h (_Prime_rehash_policy::__has_load_factor): New. Mark rehash policy having load factor management. (_Mask_range_hashing): New. (__clp2): New. (_Power2_rehash_policy): New. (_Inserts<>): Remove last template parameter, _Unique_keys, so that partial specializations only depend on whether iterators are constant or not. * testsuite/23_containers/unordered_set/hash_policy/26132.cc: Adapt to test new hash policy. * testsuite/23_containers/unordered_set/hash_policy/load_factor.cc: Likewise. * testsuite/23_containers/unordered_set/hash_policy/rehash.cc: Likewise. * testsuite/23_containers/unordered_set/insert/hash_policy.cc: Likewise. * testsuite/23_containers/unordered_set/max_load_factor/robustness.cc: Likewise. * testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc: New. * testsuite/performance/23_containers/insert/54075.cc: Add benchmark using the new hash policy. * testsuite/performance/23_containers/insert_erase/41975.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236669 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/71147 - [6 Regression] Flexible array member wrongly rejected in templatemsebor2016-05-248-18/+77
| | | | | | | | | | | | | | | | | | | | | | | | | | | | gcc/ChangeLog: 2016-05-24 Martin Sebor <msebor@redhat.com> PR c++/71147 * gcc/tree.h (complete_or_array_type_p): New inline function. gcc/testsuite/ChangeLog: 2016-05-24 Martin Sebor <msebor@redhat.com> PR c++/71147 * g++.dg/ext/flexary16.C: New test. gcc/cp/ChangeLog: 2016-05-24 Martin Sebor <msebor@redhat.com> PR c++/71147 * decl.c (layout_var_decl, grokdeclarator): Use complete_or_array_type_p. * pt.c (instantiate_class_template_1): Try to complete the element type of a flexible array member. (can_complete_type_without_circularity): Handle arrays of unknown bound. * typeck.c (complete_type): Also complete the type of the elements of arrays with an unspecified bound. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236664 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/i386/i386.h (TARGET_AVOID_4BYTE_PREFIXES): Define.jakub2016-05-243-1/+7
| | | | | | | | * config/i386/constraints.md (Yr): Test TARGET_AVOID_4BYTE_PREFIXES rather than X86_TUNE_AVOID_4BYTE_PREFIXES. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236662 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/i386/sse.md (<sse4_1>_round<ssemodesuffix><avxsizesuffix>):jakub2016-05-242-10/+12
| | | | | | | | | Limit 1st alternative to noavx isa, split 2nd alternative into one noavx and one avx alternative, use *x and Bm in the former and x and m in the latter. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236661 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/i386/sse.md (vec_set<mode>_0): Use sse4_noavx isa insteadjakub2016-05-242-35/+56
| | | | | | | | | | | | | | | | | | | | | of sse4 for the first alternative, drop %v from the template and d operand modifier. Split second alternative into one sse4_noavx and one avx alternative, use *x instead of *v in the former and v instead of *v in the latter. (*sse4_1_extractps): Use noavx isa instead of * for the first alternative, drop %v from the template. Split second alternative into one noavx and one avx alternative, use *x instead of *v in the former and v instead of *v in the latter. (<vi8_sse4_1_avx2_avx512>_movntdqa): Guard the first 2 alternatives with noavx and the last one with avx. (sse4_1_phminposuw): Guard first alternative with noavx isa, split the second one into one noavx and one avx alternative, use *x and Bm in the former and x and m in the latter one. (<sse4_1>_ptest<mode>): Use noavx instead of * for the first two alternatives. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236660 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/i386/sse.md (sse4_1_<code>v8qiv8hi2<mask_name>): Limitjakub2016-05-242-24/+39
| | | | | | | | | | | first two alternatives to noavx, use *x instead of *v in the second one, add avx alternative without *. (sse4_1_<code>v4qiv4si2<mask_name>, sse4_1_<code>v4hiv4si2<mask_name>, sse4_1_<code>v2qiv2di2<mask_name>, sse4_1_<code>v2hiv2di2<mask_name>, sse4_1_<code>v2siv2di2<mask_name>): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236659 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc.target/i386/avx-ceil-sfix-2-vec.c: Define __NO_MATH_INLINES beforeiverbin2016-05-2425-0/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | math.h is included. * gcc.target/i386/avx-floor-sfix-2-vec.c: Likewise. * gcc.target/i386/avx-rint-sfix-2-vec.c: Likewise. * gcc.target/i386/avx-round-sfix-2-vec.c: Likewise. * gcc.target/i386/avx512f-ceil-sfix-vec-1.c: Likewise. * gcc.target/i386/avx512f-floor-sfix-vec-1.c: Likewise. * gcc.target/i386/sse4_1-ceil-sfix-vec.c: Likewise. * gcc.target/i386/sse4_1-ceil-vec.c: Likewise. * gcc.target/i386/sse4_1-ceilf-sfix-vec.c: Likewise. * gcc.target/i386/sse4_1-ceilf-vec.c: Likewise. * gcc.target/i386/sse4_1-floor-sfix-vec.c: Likewise. * gcc.target/i386/sse4_1-floor-vec.c: Likewise. * gcc.target/i386/sse4_1-rint-sfix-vec.c: Likewise. * gcc.target/i386/sse4_1-rint-vec.c: Likewise. * gcc.target/i386/sse4_1-rintf-sfix-vec.c: Likewise. * gcc.target/i386/sse4_1-rintf-vec.c: Likewise. * gcc.target/i386/sse4_1-round-sfix-vec.c: Likewise. * gcc.target/i386/sse4_1-round-vec.c: Likewise. * gcc.target/i386/sse4_1-roundf-sfix-vec.c: Likewise. * gcc.target/i386/sse4_1-roundf-vec.c: Likewise. * gcc.target/i386/sse4_1-trunc-vec.c: Likewise. * gcc.target/i386/sse4_1-truncf-vec.c: Likewise. * gcc.target/i386/sse4_1-floorf-sfix-vec.c: Likewise. * gcc.target/i386/sse4_1-floorf-vec.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236656 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/testsuite/ChangeLog:kelvin2016-05-242-0/+27
| | | | | | | | | | | | | 2016-05-24 Michael Meissner <meissner@linux.vnet.ibm.com> Kelvin Nilsen <kelvin@gcc.gnu.org> * gcc.target/powerpc/p9-vpermr.c: New test for ISA 3.0 vpermr support. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236655 138bc75d-0d04-0410-961f-82ee72b054a4
* * tree-ssa-threadbackwards.c (convert_and_register_jump_thread_path):law2016-05-242-33/+75
| | | | | | | | New function, extracted from... (fsm_find_control_statement_thread_paths): Here. Use the new function. Allow simple copies and constant initializations in the SSA chain. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236653 138bc75d-0d04-0410-961f-82ee72b054a4
* /cppaolo2016-05-244-4/+23
| | | | | | | | | | | | | | | | 2016-05-24 Paolo Carlini <paolo.carlini@oracle.com> PR c++/69872 * typeck2.c (check_narrowing): Check pedwarn return value. /testsuite 2016-05-24 Paolo Carlini <paolo.carlini@oracle.com> PR c++/69872 * g++.dg/warn/Wno-narrowing1.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236651 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c/71249mpolacek2016-05-244-2/+32
| | | | | | | | | | * gimplify.c (gimplify_switch_expr): Look into the innermost lexical scope. * c-c++-common/Wswitch-unreachable-2.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236649 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/71257jakub2016-05-247-3/+108
| | | | | | | | | | | | | | | | | | * tree-vect-stmts.c (vectorizable_simd_clone_call): Handle SIMD_CLONE_ARG_TYPE_LINEAR_REF_CONSTANT_STEP like SIMD_CLONE_ARG_TYPE_LINEAR_CONSTANT_STEP. Add SIMD_CLONE_ARG_TYPE_LINEAR_VAL_CONSTANT_STEP and SIMD_CLONE_ARG_TYPE_LINEAR_UVAL_CONSTANT_STEP cases explicitly. * semantics.c (finish_omp_clauses) <case OMP_CLAUSE_LINEAR>: For OMP_CLAUSE_LINEAR_REF don't require type to be integral or pointer. * g++.dg/vect/simd-clone-6.cc: New test. * g++.dg/gomp/declare-simd-6.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236648 138bc75d-0d04-0410-961f-82ee72b054a4
* PR middle-end/70434jakub2016-05-242-1/+8
| | | | | | | | PR c/69504 * c-c++-common/vector-subscript-5.c (foo): Move ; out of the ifdef. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236647 138bc75d-0d04-0410-961f-82ee72b054a4
* Add priority_queue::value_compare (LWG 2684)redi2016-05-242-0/+7
| | | | | | * include/bits/stl_queue.h (priority_queue::value_compare): Define. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236646 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/i386/i386.c (ix86_preferred_reload_class): Useuros2016-05-242-12/+14
| | | | | | | | IS_STACK_MODE, INTEGER_CLASS_P, FLOAT_CLASS_P and Q_CLASS_P macros. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236645 138bc75d-0d04-0410-961f-82ee72b054a4
* 2016-05-24 Richard Biener <rguenther@suse.de>rguenth2016-05-244-0/+45
| | | | | | | | | | | PR tree-optimization/71240 * tree-ssa-math-opts.c (init_symbolic_number): Verify the source has integral type. * gcc.dg/optimize-bswapsi-5.c: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236644 138bc75d-0d04-0410-961f-82ee72b054a4
* 2016-05-24 Richard Biener <rguenther@suse.de>rguenth2016-05-245-6/+89
| | | | | | | | | | | PR tree-optimization/71230 * tree-ssa-reassoc.c (zero_one_operation): Handle negate special ops. * gcc.dg/torture/pr71230.c: New testcase. * g++.dg/torture/pr71230.C: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236643 138bc75d-0d04-0410-961f-82ee72b054a4
* Clean up PURE_SLP_STMT handlingrsandifo2016-05-244-23/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The vectorizable_* routines had many instances of: slp_node || PURE_SLP_STMT (stmt_info) which gives the misleading impression that we can have !slp_node && PURE_SLP_STMT (stmt_info). In this context it's really enough to test slp_node on its own. There are three cases: loop vectorisation only: vectorizable_foo called only with !slp_node pure SLP: vectorizable_foo called only with slp_node hybrid SLP: (e.g. a vector that's used in SLP statements and also in a reduction) - vectorizable_foo called once with slp_node for the SLP uses. - vectorizable_foo called once with !slp_node for the non-SLP uses. Hybrid SLP isn't possible for stores, so I added an explicit assert for that. I also made vectorizable_comparison static, to make it obvious that no other callers outside tree-vect-stmts.c could use it with the !slp && PURE_SLP_STMT combination. Tested on aarch64-linux-gnu and x86_64-linux-gnu. gcc/ * tree-vectorizer.h (vectorizable_comparison): Delete. * tree-vect-loop.c (vectorizable_reduction): Remove redundant PURE_SLP_STMT check. * tree-vect-stmts.c (vectorizable_call): Likewise. (vectorizable_simd_clone_call): Likewise. (vectorizable_conversion): Likewise. (vectorizable_assignment): Likewise. (vectorizable_shift): Likewise. (vectorizable_operation): Likewise. (vectorizable_load): Likewise. (vectorizable_condition): Likewise. (vectorizable_store): Likewise. Assert that we don't have hybrid SLP. (vectorizable_comparison): Make static. Remove redundant PURE_SLP_STMT check. (vect_transform_stmt): Assert that we always have an slp_node if PURE_SLP_STMT. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236642 138bc75d-0d04-0410-961f-82ee72b054a4
* [ARM][4/4] Simplify checks for CONST_INT_P and comparison against 1/0ktkachov2016-05-243-4/+11
| | | | | | | | | | | | * config/arm/neon.md (ashldi3_neon): Replace comparison of INTVAL of operands[2] against 1 with comparison against CONST1_RTX. (<shift>di3_neon): Likewise. * config/arm/predicates.md (const0_operand): Replace with comparison against CONST0_RTX. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236641 138bc75d-0d04-0410-961f-82ee72b054a4
* [ARM][3/4] Cleanup casts from INTVAL to [unsigned] HOST_WIDE_INTktkachov2016-05-245-24/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | * config/arm/arm.md (ashldi3): Replace comparison of INTVAL of operands[2] against 1 with comparison against CONST1_RTX. (ashrdi3): Likewise. (lshrdi3): Likewise. (ashlsi3): Replace cast of INTVAL to unsigned HOST_WIDE_INT with UINTVAL. (ashrsi3): Likewise. (lshrsi3): Likewise. (rotrsi3): Likewise. (define_split above *compareqi_eq0): Likewise. (define_split above "prologue"): Likewise. * config/arm/arm.c (thumb1_size_rtx_costs): Likewise. * config/arm/predicates.md (shift_operator): Likewise. (shift_nomul_operator): Likewise. (sat_shift_operator): Likewise. (thumb1_cmp_operand): Likewise. (const_neon_scalar_shift_amount_operand): Replace manual range check with IN_RANGE. * config/arm/thumb1.md (define_peephole2 above *thumb_subdi3): Replace cast of INTVAL to unsigned HOST_WIDE_INT with UINTVAL. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236640 138bc75d-0d04-0410-961f-82ee72b054a4
* Tighten syntax checking for OpenACC routine construct in Ctschwinge2016-05-246-20/+43
| | | | | | | | | | | gcc/c/ * c-parser.c (c_parser_oacc_routine): Tighten syntax checks. gcc/testsuite/ * c-c++-common/goacc/routine-5.c: Add tests. * g++.dg/goacc/routine-2.C: Remove duplicate tests. * gfortran.dg/goacc/routine-6.f90: Add tests. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236639 138bc75d-0d04-0410-961f-82ee72b054a4