aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-11-07Add new fusion patchesibm/addr3Michael Meissner
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/ibm/addr3@265898 138bc75d-0d04-0410-961f-82ee72b054a4
2018-11-07Do not optimize references to the constant pool; Do not evict old pointersMichael Meissner
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/ibm/addr3@265897 138bc75d-0d04-0410-961f-82ee72b054a4
2018-11-07Add patch to remove p9 fusionMichael Meissner
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/ibm/addr3@265859 138bc75d-0d04-0410-961f-82ee72b054a4
2018-11-07remove unused variableMichael Meissner
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/ibm/addr3@265858 138bc75d-0d04-0410-961f-82ee72b054a4
2018-11-07Clone from addr2Michael Meissner
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/ibm/addr3@265857 138bc75d-0d04-0410-961f-82ee72b054a4
2018-11-06Merge up to 265537Michael Meissner
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/ibm/addr3@265850 138bc75d-0d04-0410-961f-82ee72b054a4
2018-10-26[rs6000] Enable 32bit support for tests of x86-compatibile intrinsicsPaul Clarke
Also, bugfix for mmx-packuswb-1.c, which had ommitted the required "-mpower8-vector" from dg-options. 2018-10-26 Paul A. Clarke <pc@us.ibm.com> gcc/testsuite/ChangeLog: * gcc.target/powerpc/mmx-packs.c: Enable 32 bit execution. * gcc.target/powerpc/mmx-packssdw-1.c: Likewise. * gcc.target/powerpc/mmx-packsswb-1.c: Likewise. * gcc.target/powerpc/mmx-packs.c: Likewise. * gcc.target/powerpc/mmx-packssdw-1.c: Likewise. * gcc.target/powerpc/mmx-packsswb-1.c: Likewise. * gcc.target/powerpc/mmx-paddb-1.c: Likewise. * gcc.target/powerpc/mmx-paddd-1.c: Likewise. * gcc.target/powerpc/mmx-paddsb-1.c: Likewise. * gcc.target/powerpc/mmx-paddsw-1.c: Likewise. * gcc.target/powerpc/mmx-paddusb-1.c: Likewise. * gcc.target/powerpc/mmx-paddusw-1.c: Likewise. * gcc.target/powerpc/mmx-paddw-1.c: Likewise. * gcc.target/powerpc/mmx-pcmpeqb-1.c: Likewise. * gcc.target/powerpc/mmx-pcmpeqd-1.c: Likewise. * gcc.target/powerpc/mmx-pcmpeqw-1.c: Likewise. * gcc.target/powerpc/mmx-pcmpgtb-1.c: Likewise. * gcc.target/powerpc/mmx-pcmpgtd-1.c: Likewise. * gcc.target/powerpc/mmx-pcmpgtw-1.c: Likewise. * gcc.target/powerpc/mmx-pmaddwd-1.c: Likewise. * gcc.target/powerpc/mmx-pmulhw-1.c: Likewise. * gcc.target/powerpc/mmx-pmullw-1.c: Likewise. * gcc.target/powerpc/mmx-pslld-1.c: Likewise. * gcc.target/powerpc/mmx-psllw-1.c: Likewise. * gcc.target/powerpc/mmx-psrad-1.c: Likewise. * gcc.target/powerpc/mmx-psraw-1.c: Likewise. * gcc.target/powerpc/mmx-psrld-1.c: Likewise. * gcc.target/powerpc/mmx-psrlw-1.c: Likewise. * gcc.target/powerpc/mmx-psubb-2.c: Likewise. * gcc.target/powerpc/mmx-psubd-2.c: Likewise. * gcc.target/powerpc/mmx-psubsb-1.c: Likewise. * gcc.target/powerpc/mmx-psubsw-1.c: Likewise. * gcc.target/powerpc/mmx-psubusb-1.c: Likewise. * gcc.target/powerpc/mmx-psubusw-1.c: Likewise. * gcc.target/powerpc/mmx-psubw-2.c: Likewise. * gcc.target/powerpc/mmx-punpckhbw-1.c: Likewise. * gcc.target/powerpc/mmx-punpckhdq-1.c: Likewise. * gcc.target/powerpc/mmx-punpckhwd-1.c: Likewise. * gcc.target/powerpc/mmx-punpcklbw-1.c: Likewise. * gcc.target/powerpc/mmx-punpckldq-1.c: Likewise. * gcc.target/powerpc/mmx-punpcklwd-1.c: Likewise. * gcc.target/powerpc/pr37191.c: Likewise. * gcc.target/powerpc/sse-addps-1.c: Likewise. * gcc.target/powerpc/sse-addss-1.c: Likewise. * gcc.target/powerpc/sse-andnps-1.c: Likewise. * gcc.target/powerpc/sse-andps-1.c: Likewise. * gcc.target/powerpc/sse-cmpss-1.c: Likewise. * gcc.target/powerpc/sse-cvtpi16ps-1.c: Likewise. * gcc.target/powerpc/sse-cvtpi32ps-1.c: Likewise. * gcc.target/powerpc/sse-cvtpi32x2ps-1.c: Likewise. * gcc.target/powerpc/sse-cvtpi8ps-1.c: Likewise. * gcc.target/powerpc/sse-cvtpspi16-1.c: Likewise. * gcc.target/powerpc/sse-cvtpspi8-1.c: Likewise. * gcc.target/powerpc/sse-cvtpu16ps-1.c: Likewise. * gcc.target/powerpc/sse-cvtpu8ps-1.c: Likewise. * gcc.target/powerpc/sse-cvtsi2ss-1.c: Likewise. * gcc.target/powerpc/sse-cvtsi2ss-2.c: Likewise. * gcc.target/powerpc/sse-cvtss2si-1.c: Likewise. * gcc.target/powerpc/sse-cvtss2si-2.c: Likewise. * gcc.target/powerpc/sse-cvttss2si-1.c: Likewise. * gcc.target/powerpc/sse-cvttss2si-2.c: Likewise. * gcc.target/powerpc/sse-divps-1.c: Likewise. * gcc.target/powerpc/sse-divss-1.c: Likewise. * gcc.target/powerpc/sse-maxps-1.c: Likewise. * gcc.target/powerpc/sse-maxps-2.c: Likewise. * gcc.target/powerpc/sse-maxss-1.c: Likewise. * gcc.target/powerpc/sse-minps-1.c: Likewise. * gcc.target/powerpc/sse-minps-2.c: Likewise. * gcc.target/powerpc/sse-minss-1.c: Likewise. * gcc.target/powerpc/sse-movaps-1.c: Likewise. * gcc.target/powerpc/sse-movaps-2.c: Likewise. * gcc.target/powerpc/sse-movhlps-1.c: Likewise. * gcc.target/powerpc/sse-movhps-1.c: Likewise. * gcc.target/powerpc/sse-movhps-2.c: Likewise. * gcc.target/powerpc/sse-movlhps-1.c: Likewise. * gcc.target/powerpc/sse-movlps-1.c: Likewise. * gcc.target/powerpc/sse-movlps-2.c: Likewise. * gcc.target/powerpc/sse-movmskb-1.c: Likewise. * gcc.target/powerpc/sse-movmskps-1.c: Likewise. * gcc.target/powerpc/sse-movss-1.c: Likewise. * gcc.target/powerpc/sse-movss-2.c: Likewise. * gcc.target/powerpc/sse-movss-3.c: Likewise. * gcc.target/powerpc/sse-mulps-1.c: Likewise. * gcc.target/powerpc/sse-mulss-1.c: Likewise. * gcc.target/powerpc/sse-orps-1.c: Likewise. * gcc.target/powerpc/sse-pavgw-1.c: Likewise. * gcc.target/powerpc/sse-pmaxsw-1.c: Likewise. * gcc.target/powerpc/sse-pmaxub-1.c: Likewise. * gcc.target/powerpc/sse-pminsw-1.c: Likewise. * gcc.target/powerpc/sse-pminub-1.c: Likewise. * gcc.target/powerpc/sse-pmulhuw-1.c: Likewise. * gcc.target/powerpc/sse-psadbw-1.c: Likewise. * gcc.target/powerpc/sse-rcpps-1.c: Likewise. * gcc.target/powerpc/sse-rsqrtps-1.c: Likewise. * gcc.target/powerpc/sse-shufps-1.c: Likewise. * gcc.target/powerpc/sse-sqrtps-1.c: Likewise. * gcc.target/powerpc/sse-subps-1.c: Likewise. * gcc.target/powerpc/sse-subss-1.c: Likewise. * gcc.target/powerpc/sse-ucomiss-1.c: Likewise. * gcc.target/powerpc/sse-ucomiss-2.c: Likewise. * gcc.target/powerpc/sse-ucomiss-3.c: Likewise. * gcc.target/powerpc/sse-ucomiss-4.c: Likewise. * gcc.target/powerpc/sse-ucomiss-5.c: Likewise. * gcc.target/powerpc/sse-ucomiss-6.c: Likewise. * gcc.target/powerpc/sse-unpckhps-1.c: Likewise. * gcc.target/powerpc/sse-unpcklps-1.c: Likewise. * gcc.target/powerpc/sse-xorps-1.c: Likewise. * gcc.target/powerpc/sse2-addpd-1.c: Likewise. * gcc.target/powerpc/sse2-addsd-1.c: Likewise. * gcc.target/powerpc/sse2-andnpd-1.c: Likewise. * gcc.target/powerpc/sse2-andpd-1.c: Likewise. * gcc.target/powerpc/sse2-cmppd-1.c: Likewise. * gcc.target/powerpc/sse2-cmpsd-1.c: Likewise. * gcc.target/powerpc/sse2-comisd-1.c: Likewise. * gcc.target/powerpc/sse2-comisd-2.c: Likewise. * gcc.target/powerpc/sse2-comisd-3.c: Likewise. * gcc.target/powerpc/sse2-comisd-4.c: Likewise. * gcc.target/powerpc/sse2-comisd-5.c: Likewise. * gcc.target/powerpc/sse2-comisd-6.c: Likewise. * gcc.target/powerpc/sse2-cvtdq2pd-1.c: Likewise. * gcc.target/powerpc/sse2-cvtdq2ps-1.c: Likewise. * gcc.target/powerpc/sse2-cvtpd2dq-1.c: Likewise. * gcc.target/powerpc/sse2-cvtpd2ps-1.c: Likewise. * gcc.target/powerpc/sse2-cvtps2dq-1.c: Likewise. * gcc.target/powerpc/sse2-cvtps2pd-1.c: Likewise. * gcc.target/powerpc/sse2-cvtsd2si-1.c: Likewise. * gcc.target/powerpc/sse2-cvtsd2si-2.c: Likewise. * gcc.target/powerpc/sse2-cvtsd2ss-1.c: Likewise. * gcc.target/powerpc/sse2-cvtsi2sd-1.c: Likewise. * gcc.target/powerpc/sse2-cvtsi2sd-2.c: Likewise. * gcc.target/powerpc/sse2-cvtss2sd-1.c: Likewise. * gcc.target/powerpc/sse2-cvttpd2dq-1.c: Likewise. * gcc.target/powerpc/sse2-cvttps2dq-1.c: Likewise. * gcc.target/powerpc/sse2-cvttsd2si-1.c: Likewise. * gcc.target/powerpc/sse2-cvttsd2si-2.c: Likewise. * gcc.target/powerpc/sse2-divpd-1.c: Likewise. * gcc.target/powerpc/sse2-divsd-1.c: Likewise. * gcc.target/powerpc/sse2-maxpd-1.c: Likewise. * gcc.target/powerpc/sse2-maxsd-1.c: Likewise. * gcc.target/powerpc/sse2-minpd-1.c: Likewise. * gcc.target/powerpc/sse2-minsd-1.c: Likewise. * gcc.target/powerpc/sse2-mmx.c: Likewise. * gcc.target/powerpc/sse2-movhpd-1.c: Likewise. * gcc.target/powerpc/sse2-movhpd-2.c: Likewise. * gcc.target/powerpc/sse2-movlpd-1.c: Likewise. * gcc.target/powerpc/sse2-movlpd-2.c: Likewise. * gcc.target/powerpc/sse2-movmskpd-1.c: Likewise. * gcc.target/powerpc/sse2-movq-1.c: Likewise. * gcc.target/powerpc/sse2-movq-2.c: Likewise. * gcc.target/powerpc/sse2-movq-3.c: Likewise. * gcc.target/powerpc/sse2-movsd-1.c: Likewise. * gcc.target/powerpc/sse2-movsd-2.c: Likewise. * gcc.target/powerpc/sse2-movsd-3.c: Likewise. * gcc.target/powerpc/sse2-mulpd-1.c: Likewise. * gcc.target/powerpc/sse2-mulsd-1.c: Likewise. * gcc.target/powerpc/sse2-orpd-1.c: Likewise. * gcc.target/powerpc/sse2-packssdw-1.c: Likewise. * gcc.target/powerpc/sse2-packsswb-1.c: Likewise. * gcc.target/powerpc/sse2-packuswb-1.c: Likewise. * gcc.target/powerpc/sse2-paddb-1.c: Likewise. * gcc.target/powerpc/sse2-paddd-1.c: Likewise. * gcc.target/powerpc/sse2-paddq-1.c: Likewise. * gcc.target/powerpc/sse2-paddsb-1.c: Likewise. * gcc.target/powerpc/sse2-paddsw-1.c: Likewise. * gcc.target/powerpc/sse2-paddusb-1.c: Likewise. * gcc.target/powerpc/sse2-paddusw-1.c: Likewise. * gcc.target/powerpc/sse2-paddw-1.c: Likewise. * gcc.target/powerpc/sse2-pand-1.c: Likewise. * gcc.target/powerpc/sse2-pandn-1.c: Likewise. * gcc.target/powerpc/sse2-pavgb-1.c: Likewise. * gcc.target/powerpc/sse2-pavgw-1.c: Likewise. * gcc.target/powerpc/sse2-pcmpeqb-1.c: Likewise. * gcc.target/powerpc/sse2-pcmpeqd-1.c: Likewise. * gcc.target/powerpc/sse2-pcmpeqw-1.c: Likewise. * gcc.target/powerpc/sse2-pcmpgtb-1.c: Likewise. * gcc.target/powerpc/sse2-pcmpgtd-1.c: Likewise. * gcc.target/powerpc/sse2-pcmpgtw-1.c: Likewise. * gcc.target/powerpc/sse2-pextrw.c: Likewise. * gcc.target/powerpc/sse2-pinsrw.c: Likewise. * gcc.target/powerpc/sse2-pmaddwd-1.c: Likewise. * gcc.target/powerpc/sse2-pmaxsw-1.c: Likewise. * gcc.target/powerpc/sse2-pmaxub-1.c: Likewise. * gcc.target/powerpc/sse2-pminsw-1.c: Likewise. * gcc.target/powerpc/sse2-pminub-1.c: Likewise. * gcc.target/powerpc/sse2-pmovmskb-1.c: Likewise. * gcc.target/powerpc/sse2-pmulhuw-1.c: Likewise. * gcc.target/powerpc/sse2-pmulhw-1.c: Likewise. * gcc.target/powerpc/sse2-pmullw-1.c: Likewise. * gcc.target/powerpc/sse2-pmuludq-1.c: Likewise. * gcc.target/powerpc/sse2-por-1.c: Likewise. * gcc.target/powerpc/sse2-psadbw-1.c: Likewise. * gcc.target/powerpc/sse2-pshufd-1.c: Likewise. * gcc.target/powerpc/sse2-pshufhw-1.c: Likewise. * gcc.target/powerpc/sse2-pshuflw-1.c: Likewise. * gcc.target/powerpc/sse2-pslld-1.c: Likewise. * gcc.target/powerpc/sse2-pslld-2.c: Likewise. * gcc.target/powerpc/sse2-pslldq-1.c: Likewise. * gcc.target/powerpc/sse2-psllq-1.c: Likewise. * gcc.target/powerpc/sse2-psllq-2.c: Likewise. * gcc.target/powerpc/sse2-psllw-1.c: Likewise. * gcc.target/powerpc/sse2-psllw-2.c: Likewise. * gcc.target/powerpc/sse2-psrad-1.c: Likewise. * gcc.target/powerpc/sse2-psrad-2.c: Likewise. * gcc.target/powerpc/sse2-psraw-1.c: Likewise. * gcc.target/powerpc/sse2-psraw-2.c: Likewise. * gcc.target/powerpc/sse2-psrld-1.c: Likewise. * gcc.target/powerpc/sse2-psrld-2.c: Likewise. * gcc.target/powerpc/sse2-psrldq-1.c: Likewise. * gcc.target/powerpc/sse2-psrlq-1.c: Likewise. * gcc.target/powerpc/sse2-psrlq-2.c: Likewise. * gcc.target/powerpc/sse2-psrlw-1.c: Likewise. * gcc.target/powerpc/sse2-psrlw-2.c: Likewise. * gcc.target/powerpc/sse2-psubb-1.c: Likewise. * gcc.target/powerpc/sse2-psubd-1.c: Likewise. * gcc.target/powerpc/sse2-psubq-1.c: Likewise. * gcc.target/powerpc/sse2-psubsb-1.c: Likewise. * gcc.target/powerpc/sse2-psubsw-1.c: Likewise. * gcc.target/powerpc/sse2-psubusb-1.c: Likewise. * gcc.target/powerpc/sse2-psubusw-1.c: Likewise. * gcc.target/powerpc/sse2-psubw-1.c: Likewise. * gcc.target/powerpc/sse2-punpckhbw-1.c: Likewise. * gcc.target/powerpc/sse2-punpckhdq-1.c: Likewise. * gcc.target/powerpc/sse2-punpckhqdq-1.c: Likewise. * gcc.target/powerpc/sse2-punpckhwd-1.c: Likewise. * gcc.target/powerpc/sse2-punpcklbw-1.c: Likewise. * gcc.target/powerpc/sse2-punpckldq-1.c: Likewise. * gcc.target/powerpc/sse2-punpcklqdq-1.c: Likewise. * gcc.target/powerpc/sse2-punpcklwd-1.c: Likewise. * gcc.target/powerpc/sse2-pxor-1.c: Likewise. * gcc.target/powerpc/sse2-shufpd-1.c: Likewise. * gcc.target/powerpc/sse2-sqrtpd-1.c: Likewise. * gcc.target/powerpc/sse2-subpd-1.c: Likewise. * gcc.target/powerpc/sse2-subsd-1.c: Likewise. * gcc.target/powerpc/sse2-ucomisd-1.c: Likewise. * gcc.target/powerpc/sse2-ucomisd-2.c: Likewise. * gcc.target/powerpc/sse2-ucomisd-3.c: Likewise. * gcc.target/powerpc/sse2-ucomisd-4.c: Likewise. * gcc.target/powerpc/sse2-ucomisd-5.c: Likewise. * gcc.target/powerpc/sse2-ucomisd-6.c: Likewise. * gcc.target/powerpc/sse2-unpckhpd-1.c: Likewise. * gcc.target/powerpc/sse2-unpcklpd-1.c: Likewise. * gcc.target/powerpc/sse2-xorpd-1.c: Likewise. * gcc.target/powerpc/sse3-addsubpd.c: Likewise. * gcc.target/powerpc/sse3-addsubps.c: Likewise. * gcc.target/powerpc/sse3-haddpd.c: Likewise. * gcc.target/powerpc/sse3-haddps.c: Likewise. * gcc.target/powerpc/sse3-hsubpd.c: Likewise. * gcc.target/powerpc/sse3-hsubps.c: Likewise. * gcc.target/powerpc/sse3-lddqu.c: Likewise. * gcc.target/powerpc/sse3-movddup.c: Likewise. * gcc.target/powerpc/sse3-movshdup.c: Likewise. * gcc.target/powerpc/sse3-movsldup.c: Likewise. * gcc.target/powerpc/mmx-packuswb-1.c: Likewise. Also, add ommitted "-mpower8-vector" to dg-options. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@265537 138bc75d-0d04-0410-961f-82ee72b054a4
2018-10-26[rs6000] x86 vector intrinsics compatibility: clean-ups for 32bit support Paul Clarke
Implement various corrections in the compatibility implementations of the x86 vector intrinsics found after enabling 32bit mode for the associated test cases. (Actual enablement coming in a subsequent patch.) 2018-10-26 Paul A. Clarke <pc@us.ibm.com> gcc/ChangeLog: * config/rs6000/mmintrin.h: Enable 32bit compilation. * config/rs6000/xmmintrin.h: Likewise. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@265535 138bc75d-0d04-0410-961f-82ee72b054a4
2018-10-26 libgo: avoid use of 'local' directive in shell scriptIan Lance Taylor
Avoid declaring shell variables with 'local' (not supported on all systems of interest). Reviewed-on: https://go-review.googlesource.com/c/145021 git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@265534 138bc75d-0d04-0410-961f-82ee72b054a4
2018-10-26 libgo: fix improperly mangled linker symbol directiveIan Lance Taylor
Fix asm name directive for the C version of log/syslog.syslog_c, which didn't get included in the recent name mangling change. Reviewed-on: https://go-review.googlesource.com/c/145017 git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@265533 138bc75d-0d04-0410-961f-82ee72b054a4
2018-10-26[rs6000] Fix _mm_extract_pi16 for big-endianPaul Clarke
For compatibility implementation of x86 vector intrinsic, _mm_extract_pi16, adjust shift value for big-endian mode. gcc/ChangeLog: 2018-10-25 Paul A. Clarke <pc@us.ibm.com> * config/rs6000/xmmintrin.h (_mm_extract_pi16): Fix for big-endian. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@265531 138bc75d-0d04-0410-961f-82ee72b054a4
2018-10-262018-10-26 Richard Biener <rguenther@suse.de>Richard Biener
* tree-vect-slp.c (vect_mark_slp_stmts): Add visited hash_set and wrapper. (vect_mark_slp_stmts_relevant): Likewise. (vect_detect_hybrid_slp_stmts): Likewise. (vect_bb_slp_scalar_cost): Likewise. (vect_remove_slp_scalar_calls): Likewise. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@265528 138bc75d-0d04-0410-961f-82ee72b054a4
2018-10-26 * update_version_svn (IGNORE_BRANCHES): Add gcc-6-branch.Jakub Jelinek
* crontab: Remove gcc-6-branch entry. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@265527 138bc75d-0d04-0410-961f-82ee72b054a4
2018-10-26 * gcc_release (error, inform): Use $@ instead of $1.Jakub Jelinek
(build_sources): Check for ^[[:blank:]]*GCC in both index.html and changes.html, rather than for GCC in one and ^GCC in another one. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@265526 138bc75d-0d04-0410-961f-82ee72b054a4
2018-10-26 * ipa-devirt.c (odr_subtypes_equivalent_p): Fix recursion.Jan Hubicka
(warn_types_mismatch): Fix walk of DECL_NAME. (odr_types_equivalent_p): Fix overactive assert. * lto/lto-symtab.c (lto_symtab_merge_decls_2): Fix extra space. * g++.dg/lto/odr-1_0.C: Fix template. * g++.dg/lto/odr-1_1.C: Fix template. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@265523 138bc75d-0d04-0410-961f-82ee72b054a4
2018-10-262018-10-26 Richard Biener <rguenther@suse.de>Richard Biener
PR tree-optimization/87105 * tree-vectorizer.h (_slp_tree::refcnt): New member. * tree-vect-slp.c (vect_free_slp_tree): Decrement and honor refcnt. (vect_create_new_slp_node): Initialize refcnt to one. (bst_traits): Move. (scalar_stmts_set_t, bst_fail): Remove. (vect_build_slp_tree_2): Add bst_map argument and adjust calls. (vect_build_slp_tree): Add bst_map argument and lookup already created SLP nodes. (vect_print_slp_tree): Handle a SLP graph, print SLP node addresses. (vect_slp_rearrange_stmts): Handle a SLP graph. (vect_analyze_slp_instance): Adjust and free SLP nodes from the CSE map. Fix indenting. (vect_schedule_slp_instance): Add short-cut. * g++.dg/vect/slp-pr87105.cc: Adjust. * gcc.dg/torture/20181024-1.c: New testcase. * g++.dg/opt/20181025-1.C: Likewise. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@265522 138bc75d-0d04-0410-961f-82ee72b054a4
2018-10-26Relax hash function to match equals function behavior (PR testsuite/86158).Martin Liska
2018-10-26 Martin Liska <mliska@suse.cz> PR testsuite/86158 * ipa-prop.c (struct ipa_vr_ggc_hash_traits): Hash with addr_expr and not with pointers. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@265521 138bc75d-0d04-0410-961f-82ee72b054a4
2018-10-26 * tree.c (free_lang_data_in_type): Only check main variants.Jan Hubicka
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@265520 138bc75d-0d04-0410-961f-82ee72b054a4
2018-10-26 * ipa-devirt.c (warn_odr): Make static.Jan Hubicka
(types_same_for_odr): Drop strict variant. (types_odr_comparable): Likewise. (odr_or_derived_type_p): Look for main variants. (odr_name_hasher::equal): Cleanup comment. (odr_subtypes_equivalent): Add warn and warned arguments; check main variants. (type_variants_equivalent_p): break out from ... (odr_types_equivalent): ... here; go for main variants where needed. (warn_odr): ... here; turn static. (warn_types_mismatch): Compare mangled names of main variants. * ipa-utils.h (types_odr_comparable): Drop strict parameter. (type_with_linkage_p): Sanity check that we look at main variant. * lto.c (lto_read_decls): Only consider main variant to be ODR type. * tree.h (types_same_for_odr): Drop strict argument. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@265519 138bc75d-0d04-0410-961f-82ee72b054a4
2018-10-262018-10-26 Richard Biener <rguenther@suse.de>Richard Biener
PR testsuite/87754 * g++.dg/lto/odr-1_0.C: Fix pattern. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@265518 138bc75d-0d04-0410-961f-82ee72b054a4
2018-10-262018-10-26 Richard Biener <rguenther@suse.de>Richard Biener
PR tree-optimization/87746 * tree-vect-data-refs.c (vect_update_misalignment_for_peel): Simplify and fix WRT strided store groups with size not equal to step in element count. (vect_analyze_group_access_1): Dump the whole group. * gcc.dg/pr87746.c: New testcase. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@265517 138bc75d-0d04-0410-961f-82ee72b054a4
2018-10-26Don't xfail gcc.dg/pr78973-2.c on non-ilp64 targetsRainer Orth
* gcc.dg/pr78973-2.c: Remove xfail on dg-warning. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@265516 138bc75d-0d04-0410-961f-82ee72b054a4
2018-10-26 libgo: don't use wc in gotestIan Lance Taylor
The wc command is not in the GNU approved list of Makefile utilities (https://www.gnu.org/prep/standards/html_node/Utilities-in-Makefiles.html#Utilities-in-Makefiles). Reviewed-on: https://go-review.googlesource.com/c/144897 git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@265515 138bc75d-0d04-0410-961f-82ee72b054a4
2018-10-26Daily bump.GCC Administrator
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@265514 138bc75d-0d04-0410-961f-82ee72b054a4
2018-10-25 compiler: improve name mangling for packpathsIan Lance Taylor
The current implementation of Gogo::pkgpath_for_symbol was written in a way that allowed two distinct package paths to map to the same symbol, which could cause collisions at link- time or compile-time. Switch to a better mangling scheme to insure that we get a unique packagepath symbol for each package. In the new scheme instead of having separate mangling schemes for identifiers and package paths, the main identifier mangler ("go_encode_id") now handles mangling of both packagepath characters and identifier characters. The new mangling scheme is more intrusive: "foo/bar.Baz" is mangled as "foo..z2fbar.Baz" instead of "foo_bar.Baz". To mitigate this, this patch also adds a demangling capability so that function names returned from runtime.CallersFrames are converted back to their original unmangled form. Changing the pkgpath_for_symbol scheme requires updating a number of //go:linkname directives and C "__asm__" directives to match the new scheme, as well as updating the 'gotest' driver (which makes assumptions about the correct mapping from pkgpath symbol to package name). Fixes golang/go#27534. Reviewed-on: https://go-review.googlesource.com/c/135455 git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@265510 138bc75d-0d04-0410-961f-82ee72b054a4
2018-10-25gcc/ChangeLog:Carl Love
2018-10-25 Carl Love <cel@us.ibm.com> * config/rs6000/rs6000-c.c (P9V_BUILTIN_VEC_VSCEDPGT, P9V_BUILTIN_VEC_VSCEDPLT, P9V_BUILTIN_VEC_VSCEDPEQ, P9V_BUILTIN_VEC_VSCEDPUO): Rename base overloaded name. Add quad precicion entry for each overloaded builtin. * config/rs6000/rs6000-builtin.def (VSCEDPGT, VSCEDPLT, VSCEDPEQ, VSCEDPUO): Rename overloaded name. (VSCEDPGT, VSCEQPGT, VSCEDPLT, VSCEQPLT, VSCEDPEQ, VSCEQPEQ, VSCEDPUO, VSCEQPUO): Add defitions for overloaded builtins. * config/rs6000/vsx.md (xscmpexpqp_<code>_<mode>): Add define_expand for xscmpexqp instruction. (*xscmpexpqp): Add define_insn for the xscmpexqp instruction. gcc/testsuite/ChangeLog: 2018-10-25 Carl Love <cel@us.ibm.com> * gcc.target/powerpc/float128-cmp2-runnable.c: New test file. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@265509 138bc75d-0d04-0410-961f-82ee72b054a4
2018-10-252018-10-25 Bill Schmidt <wschmidt@linux.ibm.com>Bill Schmidt
Jinsong Ji <jji@us.ibm.com> * config/rs6000/emmintrin.h (_mm_slli_epi16): Replace deprecated function with vec_sl. (_mm_slli_epi32): Likewise. (_mm_slli_epi64): Likewise. (_mm_srai_epi16): Replace deprecated function with vec_sra. (_mm_srai_epi32): Likewise. (_mm_srli_epi16): Replace deprecated function with vec_sr. (_mm_srli_epi32): Likewise. (_mm_srli_epi64): Likewise. (_mm_sll_epi16): Replace deprecated function with vec_sl. (_mm_sll_epi32): Likewise. (_mm_sll_epi64): Likewise. (_mm_sra_epi16): Replace deprecated function with vec_sra. (_mm_sra_epi32): Likewise. (_mm_srl_epi16): Replace deprecated function with vec_sr. (_mm_srl_epi32): Likewise. (_mm_srl_epi64): Likewise. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@265508 138bc75d-0d04-0410-961f-82ee72b054a4
2018-10-252018-10-25 Bill Schmidt <wschmidt@linux.ibm.com>Bill Schmidt
Jinsong Ji <jji@us.ibm.com> * gcc/config/rs6000/emmintrin.h (_mm_sll_epi16): Replace comparison operators with vec_cmp* for compatibility due to unfortunate history; clean up formatting and use types more appropriately. (_mm_sll_epi32): Likewise. (_mm_sll_epi64): Likewise. (_mm_srl_epi16): Likewise. (_mm_srl_epi32): Likewise. (_mm_srl_epi64): Likewise. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@265507 138bc75d-0d04-0410-961f-82ee72b054a4
2018-10-252018-10-25 Bill Schmidt <wschmidt@linux.ibm.com>Bill Schmidt
Jinsong Ji <jji@us.ibm.com> * config/rs6000/emmintrin.h (_mm_sll_epi64): Remove wrong cast. * config/rs6000/xmmintrin.h (_mm_min_ps): Change m's type to __vector __bool int. Use vec_cmpgt in preference to deprecated function vec_vcmpgtfp. (_mm_max_ps): Likewise. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@265506 138bc75d-0d04-0410-961f-82ee72b054a4
2018-10-25 * config/rl78/rl78.c (insn_ok_now): Always re-recognize the insnJeff Law
if returning false. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@265505 138bc75d-0d04-0410-961f-82ee72b054a4
2018-10-25* parser.c (cp_parser_sizeof_operand): Remove redundant grokdeclarator.Jason Merrill
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@265503 138bc75d-0d04-0410-961f-82ee72b054a4
2018-10-25gcc/ChangeLog:Martin Sebor
* doc/extend.texi (aligned): Expand attribute description. (Alignment): Rename section. Discuss function arguments. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@265498 138bc75d-0d04-0410-961f-82ee72b054a4
2018-10-25Use signed char in a test (PR testsuite/87739).Martin Liska
2018-10-25 Martin Liska <mliska@suse.cz> PR testsuite/87739 * gcc.dg/tree-ssa/pr84436-5.c (foo): Use signed char. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@265495 138bc75d-0d04-0410-961f-82ee72b054a4
2018-10-25Revert partially changes from r265454 (PR other/87735).Martin Liska
2018-10-25 Martin Liska <mliska@suse.cz> PR other/87735 * gcc.dg/tree-prof/time-profiler-1.c: Revert. * gcc.dg/tree-prof/time-profiler-2.c: Likewise. * gcc.dg/tree-prof/time-profiler-3.c: Likewise. 2018-10-25 Martin Liska <mliska@suse.cz> PR other/87735 * libgcov-profiler.c: Revert. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@265494 138bc75d-0d04-0410-961f-82ee72b054a4
2018-10-25PR libstdc++/87749 fix (and optimize) string move constructionJonathan Wakely
The move constructor for the SSO string uses assign(const basic_string&) when either: (1) the source string is "local" and so the contents of the small string buffer need to be copied, or (2) the allocator does not propagate and is_always_equal is false. Case (1) is suboptimal, because the assign member is not noexcept and the compiler isn't smart enough to see it won't actually throw in this case. This causes extra code in the move assignment operator so that any exception will be turned into a call to std::terminate. This can be fixed by copying small strings inline instead of calling assign. Case (2) is a bug, because the specific instances of the allocators could be equal even if is_always_equal is false. This can result in an unnecessary deep copy (and potentially-throwing allocation) when the storage should be moved. This can be fixed by simply checking if the allocators are equal. PR libstdc++/87749 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (basic_string::operator=(basic_string&&)): For short strings copy the buffer inline. Only fall back to using assign(const basic_string&) to do a deep copy when reallocation is needed. * testsuite/21_strings/basic_string/modifiers/assign/char/87749.cc: New test. * testsuite/21_strings/basic_string/modifiers/assign/char/ move_assign_optim.cc: New test. * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/87749.cc: New test. * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/ move_assign_optim.cc: New test. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@265493 138bc75d-0d04-0410-961f-82ee72b054a4
2018-10-25 * ipa-devirt.c (main_odr_variant): Remove.Jan Hubicka
(hash_odr_name, types_same_for_odr, types_odr_comparable, odr_name_hasher::equal, odr_subtypes_equivalent_p): Drop use of main_odr_variant. (add_type_duplicate): Silence confused warnings on integer types. (get_odr_type): Always look for main variant. (register_odr_type): Simplify. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@265492 138bc75d-0d04-0410-961f-82ee72b054a4
2018-10-252018-10-25 Richard Biener <rguenther@suse.de>Richard Biener
* tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Initialize ng to silence error with release checking bootstrap. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@265491 138bc75d-0d04-0410-961f-82ee72b054a4
2018-10-25S/390: Merge movdi_larl into movdi_64Ilya Leoshkevich
Consider the following RTL: (insn (set (mem/f/c:DI (reg/f:DI 60)) (const:DI (plus:DI (symbol_ref:DI ("*.LANCHOR0")) (const_int 8))))) generated by cse2 pass. It is matched to movdi_64, resulting in the following inefficient code: larl %r5,.L6 # Load literal pool@ lg %r1,.L7-.L6(%r5) # Load .LANCHOR0+8 stgrl %r1,.LANCHOR0 br %r14 Matching it to movdi_larl improves the code, eliminating one instruction and the literal pool entry: larl %r1,.LANCHOR0+8 stgrl %r1,.LANCHOR0 br %r14 Taking it one step further, there is no reason to keep movdi_64 and movdi_larl separate, since this could potentially improve code in other ways by giving lra one more alternative to choose from. gcc/ChangeLog: 2018-10-25 Ilya Leoshkevich <iii@linux.ibm.com> * config/s390/constraints.md (ZL): New constraint. * config/s390/s390.c (legitimate_pic_operand_p): Accept LARL operands. * config/s390/s390.md (movdi_larl): Remove. (movdi_64): Add the LARL alternative. gcc/testsuite/ChangeLog: 2018-10-25 Ilya Leoshkevich <iii@linux.ibm.com> * gcc.target/s390/global-array-almost-huge-element.c: New test. * gcc.target/s390/global-array-almost-negative-huge-element.c: New test. * gcc.target/s390/global-array-element-pic.c: New test. * gcc.target/s390/global-array-even-element.c: New test. * gcc.target/s390/global-array-huge-element.c: New test. * gcc.target/s390/global-array-negative-huge-element.c: New test. * gcc.target/s390/global-array-odd-element.c: New test. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@265490 138bc75d-0d04-0410-961f-82ee72b054a4
2018-10-252018-10-25 Richard Biener <rguenther@suse.de>Richard Biener
* tree-if-conv.c: Include tree-ssa-sccvn.h. (tree_if_conversion): Run CSE on the if-converted loop body. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@265489 138bc75d-0d04-0410-961f-82ee72b054a4
2018-10-25Fix rtx_code_size static initialization order fiascoIlya Leoshkevich
r264556 and r264537 changed the format of EQ_ATTR_ALT RTXs to "ww", which also required adjusting rtx_code_size initializer. In order to simplify things, the list of rtx_codes known to use HOST_WIDE_INTs was replaced by the format string check. However, unlike the old one, this new check cannot be always performed at compile time, in which case a static constructor is generated. This may lead to a static initialization order fiasco with respect to other static constructors in the compiler, in case of PR87747, cselib's pool_allocator. gcc/ChangeLog: 2018-10-25 Ilya Leoshkevich <iii@linux.ibm.com> PR bootstrap/87747 * rtl.c (RTX_CODE_HWINT_P_1): New helper macro. (RTX_CODE_HWINT_P): New macro. (rtx_code_size): Use RTX_CODE_HWINT_P (). git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@265488 138bc75d-0d04-0410-961f-82ee72b054a4
2018-10-25Relocation (= move+destroy)Marc Glisse
2018-10-25 Marc Glisse <marc.glisse@inria.fr> PR libstdc++/87106 * include/bits/alloc_traits.h (_S_construct, _S_destroy, construct, destroy): Add noexcept specification. * include/bits/allocator.h (construct, destroy): Likewise. * include/ext/alloc_traits.h (construct, destroy): Likewise. * include/ext/malloc_allocator.h (construct, destroy): Likewise. * include/ext/new_allocator.h (construct, destroy): Likewise. * include/bits/stl_uninitialized.h (__relocate_object_a, __relocate_a, __relocate_a_1): New functions. (__is_trivially_relocatable): New class. * include/bits/stl_vector.h (__use_relocate): New static member. * include/bits/vector.tcc (reserve, _M_realloc_insert, _M_default_append): Use __relocate_a. (reserve, _M_assign_aux, _M_realloc_insert, _M_fill_insert, _M_default_append, _M_range_insert): Move _GLIBCXX_ASAN_ANNOTATE_REINIT after _Destroy. * testsuite/23_containers/vector/modifiers/push_back/49836.cc: Replace CopyConsOnlyType with DelAnyAssign. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@265485 138bc75d-0d04-0410-961f-82ee72b054a4
2018-10-25 * ipa-devirt.c (odr_types_equivalent_p): Do not ICE if one of typesJan Hubicka
is anonymous. * g++.dg/lto/odr-1_0.C: New test. * g++.dg/lto/odr-1_1.C: New test. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@265484 138bc75d-0d04-0410-961f-82ee72b054a4
2018-10-25dg-cmp-results: display NA->FAIL & NA->UNRESOLVED by defaultThomas Preud'homme
Currently, dg-cmp-results will not print anything for a test that was not run before, even if it is a FAIL or UNRESOLVED now. This means that when contributing a code change together with a testcase in the same commit one must run dg-cmp-results twice: once to check for regression on a full testsuite run and once against the new testcase with -v -v. This also prevents using dg-cmp-results on sum files generated with test_summary since these would not contain PASS. This patch changes dg-cmp-results to print NA->FAIL and NA->UNRESOLVED changes by default. 2018-10-25 Thomas Preud'homme <thomas.preudhomme@linaro.org> contrib/ * dg-cmp-results.sh: Print NA-FAIL and NA->UNRESOLVED changes at default verbosity. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@265483 138bc75d-0d04-0410-961f-82ee72b054a4
2018-10-25[testsuite] Fix sibcall-9 & sibcall-10 with -fPICThomas Preud'homme
gcc.dg/sibcall-9.c and gcc.dg/sibcall-10.c give execution failure on ARM when compiled with -fPIC due to the PIC access to volatile variable v creating an extra spill which causes the frame size of the two recursive functions to be different. Making the variable static solve the issue because the variable can be access in a PC-relative way and avoid the spill, while still testing sibling call as originally intended. 2018-10-25 Thomas Preud'homme <thomas.preudhomme@linaro.org> gcc/testsuite/ * gcc.dg/sibcall-9.c: Make v static. * gcc.dg/sibcall-10.c: Likewise. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@265482 138bc75d-0d04-0410-961f-82ee72b054a4
2018-10-252018-10-25 Richard Biener <rguenther@suse.de>Richard Biener
PR tree-optimization/87665 PR tree-optimization/87745 * tree-vectorizer.h (get_earlier_stmt): Remove. (get_later_stmt): Pick up UID from the original non-pattern stmt. * gfortran.dg/20181025-1.f: New testcase. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@265481 138bc75d-0d04-0410-961f-82ee72b054a4
2018-10-25[DOC] Relocate list under Deprecated in options.texi to VarSam Tebbs
gcc/doc 2018-10-25 Sam Tebbs <sam.tebbs@arm.com> * options.texi (Deprecated): Move list to Var section. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@265480 138bc75d-0d04-0410-961f-82ee72b054a4
2018-10-25 PR fortran/87725Jakub Jelinek
* openmp.c (gfc_match_omp_clauses): Parse simd, monotonic and nonmonotonic modifiers regardless of if they have been parsed already or if the opposite one has. Fix up check whether comma after modifier should be parsed. (resolve_omp_clauses): Diagnose schedule modifier restrictions. * c-c++-common/gomp/schedule-modifiers-1.c (bar): Separate modifier from kind with a colon rather than comma. * gfortran.dg/gomp/schedule-modifiers-1.f90: New test. * gfortran.dg/gomp/schedule-modifiers-2.f90: New test. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@265479 138bc75d-0d04-0410-961f-82ee72b054a4
2018-10-25Daily bump.GCC Administrator
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@265478 138bc75d-0d04-0410-961f-82ee72b054a4
2018-10-24combine: Don't do make_more_copies for dest PC (PR87720)Segher Boessenkool
Jumps are written in RTL as moves to PC. But the latter has no mode, so we shouldn't try to use it. Since the optimization this routine does does not really help for jumps at all, let's just skip it. PR rtl-optimization/87720 * combine.c (make_more_copies): Skip if the dest is pc_rtx. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@265474 138bc75d-0d04-0410-961f-82ee72b054a4
2018-10-24gOlogy: do not change code in isolate-paths for warnings onlyAlexandre Oliva
The isolate-paths pass is activated by various -f flags, but also by -Wnull-dereference. Most of its codegen changes are conditioned on at least one of the -f flags, but those that detect, warn about and isolate paths that return the address of local variables are enabled even if the pass is activated only by -Wnull-dereference. -W flags should not cause codegen changes, so this patch makes the codegen changes conditional on the presence of any of the -f flags that activate the pass. Should we have a separate option to activate only this kind of transformation? for gcc/ChangeLog * gimple-ssa-isolate-paths.c (find_implicit_erroneous_behavior): Do not change code if the pass is running for warnings only. (find_explicit_erroneous_behavior): Likewise. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@265473 138bc75d-0d04-0410-961f-82ee72b054a4