1. 07 Jan, 2020 3 commits
  2. 06 Jan, 2020 15 commits
    • pa.md: Revert change to use ordered_comparison_operator instead of... · cf319b3f
      	* config/pa/pa.md: Revert change to use ordered_comparison_operator
      	instead of cmpib_comparison_operator in cmpib patterns.
      	* config/pa/predicates.md (cmpib_comparison_operator): Revert removal
      	of cmpib_comparison_operator.  Revise comment.
      
      From-SVN: r279927
      John David Anglin committed
    • Require equal shift amounts for IFN_DIV_POW2 · a0643f02
      IFN_DIV_POW2 currently requires all elements to be shifted by the
      same amount, in a similar way as for WIDEN_LSHIFT_EXPR.  This patch
      enforces that when building the SLP tree.
      
      If in future targets want to support IFN_DIV_POW2 without this
      restriction, we'll probably need the kind of vector-vector/
      vector-scalar split that we already have for normal shifts.
      
      2020-01-06  Richard Sandiford  <richard.sandiford@arm.com>
      
      gcc/
      	* tree-vect-slp.c (vect_build_slp_tree_1): Require all shifts
      	in an IFN_DIV_POW2 node to be equal.
      
      gcc/testsuite/
      	* gcc.target/aarch64/sve/asrdiv_1.c: Remove trailing %s.
      	* gcc.target/aarch64/sve/asrdiv_2.c: New test.
      	* gcc.target/aarch64/sve/asrdiv_3.c: Likewise.
      
      From-SVN: r279908
      Richard Sandiford committed
    • Check mask argument's type when vectorising conditional functions · 8a0ae3c1
      We can't yet vectorise conditional internal functions whose boolean
      condition is fed by a data access (or more generally, by a tree of logic
      ops in which all the leaves are data accesses).  Although we should add
      that eventually, we'd need further work to generate good-quality code.
      
      Unlike vectorizable_load and vectorizalbe_store, vectorizable_call
      wasn't checking whether the mask had a suitable type, leading to an
      ICE on the testcases.
      
      2020-01-06  Richard Sandiford  <richard.sandiford@arm.com>
      
      gcc/
      	* tree-vect-stmts.c (vect_check_load_store_mask): Rename to...
      	(vect_check_scalar_mask): ...this.
      	(vectorizable_store, vectorizable_load): Update call accordingly.
      	(vectorizable_call): Use vect_check_scalar_mask to check the mask
      	argument in calls to conditional internal functions.
      
      gcc/testsuite/
      	* gcc.dg/vect/vect-cond-arith-8.c: New test.
      	* gcc.target/aarch64/sve/cond_fmul_5.c: Likewise.
      
      From-SVN: r279907
      Richard Sandiford committed
    • Fix amdgcn issue with '0' constraints · d54fc770
      2020-01-06  Andrew Stubbs  <ams@codesourcery.com>
      
      	gcc/
      	* config/gcn/gcn-valu.md (subv64di3): Use separate alternatives for
      	'0' matching inputs.
      	(subv64di3_exec): Likewise.
      
      From-SVN: r279906
      Andrew Stubbs committed
    • mips.c (vr4130_align_insns): Fix typo. · 2b4f0b89
      2020-01-06  Bryan Stenson  <bryan@siliconvortex.com>
      
      	* config/mips/mips.c (vr4130_align_insns): Fix typo.
      	* doc/md.texi (movstr): Likewise.
      
      From-SVN: r279905
      Bryan Stenson committed
    • Fix early-clobber in amdgcn vec_extract · b4d74ed7
      2020-01-06  Andrew Stubbs  <ams@codesourcery.com>
      
      	gcc/
      	* config/gcn/gcn-valu.md (vec_extract<mode><scalar_mode>): Add early
      	clobber.
      
      From-SVN: r279904
      Andrew Stubbs committed
    • PR c++/79592 adjust testcase · 1810a89c
      https://gcc.gnu.org/ml/gcc-patches/2020-01/msg00127.html
      	* g++.dg/ubsan/vptr-4.C: Add expected error.
      
      From-SVN: r279902
      Nathan Sidwell committed
    • [AArch64] Use move-if-change for aarch64-tune.md · 03338111
      If aarch64-tune.md was older than gentune.sh or aarch64-cores.def,
      we'd try to overwrite it even if the current contents were correct.
      This could cause problems with read-only source directories and
      could cause spurious copying for rsync --archive.
      
      2020-01-06  Richard Sandiford  <richard.sandiford@arm.com>
      
      gcc/
      	* config/aarch64/t-aarch64 ($(srcdir)/config/aarch64/aarch64-tune.md):
      	Depend on...
      	(s-aarch64-tune-md): ...this new stamp file.  Pipe the new contents
      	to a temporary file and use move-if-change to update the real
      	file where necessary.
      
      From-SVN: r279900
      Richard Sandiford committed
    • [AArch64] Fix constraints for CPY /M · 3c2707f3
      The constraints for CPY /M allowed p0-p15 instead of the intended p0-p7.
      This looks like a pasto from the preceding constant pattern, where p0-p15
      is allowed.
      
      2020-01-06  Richard Sandiford  <richard.sandiford@arm.com>
      
      gcc/
      	* config/aarch64/aarch64-sve.md (@aarch64_sel_dup<mode>): Use Upl
      	rather than Upa for CPY /M.
      
      gcc/testsuite/
      	* gcc.target/aarch64/sve/acle/general/cpy_1.c: New test.
      
      From-SVN: r279899
      Richard Sandiford committed
    • Fix amdgcn inline immediate range · 5960de78
      2020-01-06  Andrew Stubbs  <ams@codesourcery.com>
      
      	gcc/
      	* config/gcn/gcn.c (gcn_inline_constant_p): Allow 64 as an inline
      	immediate.
      
      From-SVN: r279898
      Andrew Stubbs committed
    • libstdc++: Remove redundant inequality operators in <stop_token> · a4a1f965
      	* include/std/stop_token (stop_token): Remove operator!= (LWG 3254).
      	(stop_source): Likewise (LWG 3362).
      	* testsuite/30_threads/stop_token/stop_source.cc: Test equality
      	comparisons.
      
      From-SVN: r279897
      Jonathan Wakely committed
    • libstdc++: Define __cpp_lib_three_way_comparison conditionally · f31a99f7
      The contents of the <compare> header are not complete unless concepts
      are supported, so the feature test macro should depend on the macro for
      concepts.
      
      As a result, the std::lexicographical_compare_three_way function will
      not be defined unless concepts are supported, so there is no need to
      check __cpp_lib_concepts before using concepts in those functions.
      
      	* include/bits/stl_algobase.h (__is_byte_iter, __min_cmp)
      	(lexicographical_compare_three_way): Do not depend on
      	__cpp_lib_concepts.
      	* include/std/version (__cpp_lib_three_way_comparison): Only define
      	when __cpp_lib_concepts is defined.
      	* libsupc++/compare (__cpp_lib_three_way_comparison): Likewise.
      
      From-SVN: r279896
      Jonathan Wakely committed
    • Mark param_max_combine_insns with Optimization keyword. · 4ce43ba4
          PR tree-optimization/92860
          * params.opt: Mark param_max_combine_insns with Optimization
          keyword.
      
      From-SVN: r279895
      Martin Liska committed
    • New bitfield testcases. · 8f50e25f
      2020-01-05  Andrew Pinski  <apinski@marvell.com>
      
              * gcc.c-torture/compile/20200105-1.c: New testcase.
              * gcc.c-torture/compile/20200105-2.c: New testcase.
              * gcc.c-torture/compile/20200105-3.c: New testcase.
      
      From-SVN: r279893
      Andrew Pinski committed
    • Daily bump. · 6ce195bd
      From-SVN: r279892
      GCC Administrator committed
  3. 05 Jan, 2020 7 commits
    • discr1.ads: Compile with -gnatc instead of -gnatct. · e9c6bb46
      	* gnat.dg/specs/discr1.ads: Compile with -gnatc instead of -gnatct.
      	* gnat.dg/specs/limited_with4.ads: Likewise.
      	* gnat.dg/specs/limited_with4_pkg.ads: Likewise.
      	* gnat.dg/specs/private1-sub.ads: Likewise.
      	* gnat.dg/specs/task1.ads: Likewise.
      
      From-SVN: r279889
      Eric Botcazou committed
    • [testsuite, Darwin] Fix failing darwin-version-1.c. · 53cfd936
      Recent platform linkers will no longer accept linking for a target
      OS version less than 10.4.  Recent SDKs no longer have the libgcc_s
      shims used for 10.4 and 10.5.  So we need to adjust tests that expect
      these.
      
      gcc/testsuite/ChangeLog:
      
      2020-01-05  Iain Sandoe  <iain@sandoe.co.uk>
      
      	* gcc.dg/darwin-version-1.c: Adjust test to use different
      	options for Darwin4-9 and Darwin10+.
      
      From-SVN: r279888
      Iain Sandoe committed
    • re PR target/93141 (Missed optimization : Use of adc when checking overflow) · c57b4c22
      	PR target/93141
      	* config/i386/i386.md (SWIDWI): New mode iterator.
      	(DWI, dwi): Add TImode variants.
      	(addv<mode>4): Use SWIDWI iterator instead of SWI.  Use
      	<general_hilo_operand> instead of <general_operand>.  Use
      	CONST_SCALAR_INT_P instead of CONST_INT_P.
      	(*addv<mode>4_1): Rename to ...
      	(addv<mode>4_1): ... this.
      	(QWI): New mode attribute.
      	(*addv<dwi>4_doubleword, *addv<dwi>4_doubleword_1): New
      	define_insn_and_split patterns.
      	(*addv<mode>4_overflow_1, *addv<mode>4_overflow_2): New define_insn
      	patterns.
      	(uaddv<mode>4): Use SWIDWI iterator instead of SWI.  Use
      	<general_hilo_operand> instead of <general_operand>.
      	(*addcarry<mode>_1): New define_insn.
      	(*add<dwi>3_doubleword_cc_overflow_1): New define_insn_and_split.
      
      	* gcc.target/i386/pr93141-1.c: New test.
      	* gcc.dg/pr67089-6.c: Expect 16 ADD_OVERFLOW calls even on ia32.
      
      From-SVN: r279887
      Jakub Jelinek committed
    • re PR c++/93138 (elaborated type specifier visibility check problem) · 39bec8cd
      	PR c++/93138
      	* parser.c (cp_parser_check_class_key): Disable access checks for the
      	simple name lookup.
      	(cp_parser_maybe_warn_enum_key): Likewise.  Return early if
      	!warn_redundant_tags.
      
      	* g++.dg/warn/Wredundant-tags-2.C: New test.
      
      From-SVN: r279886
      Jakub Jelinek committed
    • Guard inclusion of vxAtomicLib.h from gthr-vxworks.h · 5205a445
      2020-01-05  Olivier Hainque  <hainque@adacore.com>
      
              * config/gthr-vxworks.h: Guard #include vxAtomicLib.h
      	by IN_LIBGCC2.
      
      From-SVN: r279885
      Olivier Hainque committed
    • re PR c++/93046 (ICE in cp_gimplify_init_expr) · 72036b59
      	PR c++/93046
      	* cp-gimplify.c (cp_gimplify_init_expr): Don't look through
      	TARGET_EXPR if it has been gimplified already.
      
      	* g++.dg/ext/cond4.C: New test.
      
      From-SVN: r279884
      Jakub Jelinek committed
    • Daily bump. · 48cb874a
      From-SVN: r279883
      GCC Administrator committed
  4. 04 Jan, 2020 3 commits
  5. 03 Jan, 2020 12 commits
    • PR c++/93033 - incorrect tree node sharing with array init. · 8b5d34fc
      The split_nonconstant_init piece is the only one necessary to fix the
      testcase, but it occurred to me that we might as well not split when
      -fno-exceptions.
      
      	* typeck2.c (split_nonconstant_init): Unshare non-decl.
      	* cp-gimplify.c (cp_gimplify_init_expr): Only split if -fexceptions.
      
      From-SVN: r279871
      Jason Merrill committed
    • Reject class template placeholder as non-type template parm type in C++17. · 657fea97
      	* pt.c (invalid_nontype_parm_type_p): Reject class placeholder in
      	C++17.
      
      From-SVN: r279870
      Jason Merrill committed
    • [testsuite, X86] Require effective target masm_intel for two tests. · cfe9c753
      These tests currently fail on targets that do not support intel asm
      syntax.
      
      gcc/testsuite/ChangeLog:
      
      2020-01-03  Iain Sandoe  <iain@sandoe.co.uk>
      
      	* gcc.target/i386/avx512bw-pr92686-vpcmp-intelasm-1.c: Require
      	effective target masm_intel.
      	* gcc.target/i386/avx512vl-pr92686-vpcmp-intelasm-1.c: Likewise.
      
      From-SVN: r279869
      Iain Sandoe committed
    • gdbinit.in: call a function with "call", not "set" · 582097cb
      Calling a function foo in gdb as "set foo()" results in a warning.
      Disregarding, it looks wrong to call a function with "set". Let's use
      "call" instead.
      
      2019-11-14  Konstantin Kharlamov  <Hi-Angel@yandex.ru>
      
      	* gdbinit.in (pr, prl, pt, pct, pgg, pgq, pgs, pge, pmz, pdd, pbs, pbm):
      	Use "call" instead of "set".
      
      From-SVN: r279866
      Konstantin Kharlamov committed
    • libstdc++: Only use std::compare_three_way when concepts are supported · b4e70137
      Clang now supports three-way comparisons. That causes both overloads of
      std::lexicographical_compare_three_way to be defined, but the second one
      uses std::compare_three_way which depends on concepts. Clang does not
      yet support concepts, so the second overload should also depend on
      __cpp_lib_concepts.
      
      	* include/bits/stl_algobase.h (lexicographical_compare_three_way):
      	Only define four-argument overload when __cpp_lib_concepts is defined.
      
      From-SVN: r279861
      Jonathan Wakely committed
    • Avoid segfault when dumping IPA-CP lattices for unoptimized functions (PR 92917) · 48182bd6
      2020-01-03  Martin Jambor  <mjambor@suse.cz>
      
      	PR ipa/92917
      	* ipa-cp.c (print_all_lattices): Skip functions without info.
      
      From-SVN: r279859
      Martin Jambor committed
    • Fortran] OpenMP/OpenACC – fix more issues with OPTIONAL · f760c0c7
              gcc/fortran/
              * trans-openmp.c (gfc_omp_check_optional_argument): Always return a
              Boolean expression; handle unallocated/disassociated actual arguments
              as absent if passed to nonallocatable/nonpointer dummy array arguments.
              (gfc_build_cond_assign): Change to assume a Boolean expr not a pointer.
              (gfc_omp_finish_clause, gfc_trans_omp_clauses): Assign NULL to generated
              array-data variable if the argument is absent. Simplify code as
              'present' is now a Boolean expression.
      
              libgomp/
              * testsuite/libgomp.fortran/optional-map.f90: Add test for
              unallocated/disassociated actual arguments to nonallocatable/nonpointer
              dummy arguments; those are/shall be regarded as absent arguments.
              * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
              * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: New.
      
      From-SVN: r279858
      Tobias Burnus committed
    • re PR target/93089 (Force mprefer-vector-width=512 in 'e' simd clones) · 1609bedd
      	PR target/93089
      	* config/i386/i386-options.c (ix86_simd_clone_adjust): If
      	TARGET_PREFER_AVX128, use prefer-vector-width=256 for 'c' and 'd'
      	simd clones.  If TARGET_PREFER_AVX256, use prefer-vector-width=512
      	for 'e' simd clones.
      
      	* gcc.target/i386/pr93089-2.c: New test.
      	* gcc.target/i386/pr93089-3.c: New test.
      
      From-SVN: r279857
      Jakub Jelinek committed
    • re PR target/93089 (Force mprefer-vector-width=512 in 'e' simd clones) · 46e6341f
      	PR target/93089
      	* config/i386/i386.opt (x_prefer_vector_width_type): Remove TargetSave
      	entry.
      	(mprefer-vector-width=): Add Save.
      	* config/i386/i386-options.c (ix86_target_string): Add PVW argument, print
      	-mprefer-vector-width= if non-zero.  Fix up -mfpmath= comment.
      	(ix86_debug_options, ix86_function_specific_print): Adjust
      	ix86_target_string callers.
      	(ix86_valid_target_attribute_inner_p): Handle prefer-vector-width=.
      	(ix86_valid_target_attribute_tree): Likewise.
      	* config/i386/i386-options.h (ix86_target_string): Add PVW argument.
      	* config/i386/i386-expand.c (ix86_expand_builtin): Adjust
      	ix86_target_string caller.
      
      	* gcc.target/i386/pr93089-1.c: New test.
      
      From-SVN: r279856
      Jakub Jelinek committed
    • re PR target/93110 (grub-2.04/grub-core/lib/division.c:28:1: internal compiler… · 5499c862
      re PR target/93110 (grub-2.04/grub-core/lib/division.c:28:1: internal compiler error: in extract_insn, at recog.c:2294)
      
      	PR target/93110
      	* config/i386/i386.md (abs<mode>2): Use expand_simple_binop instead of
      	emitting ASHIFTRT, XOR and MINUS by hand.  Use gen_int_mode with QImode
      	instead of gen_int_shift_amount + convert_modes.
      
      	* gcc.dg/torture/pr93110.c: New test.
      
      From-SVN: r279855
      Jakub Jelinek committed
    • re PR rtl-optimization/93088 (Compile time hog on… · 5a6e28b5
      re PR rtl-optimization/93088 (Compile time hog on gcc/testsuite/gcc.target/i386/pr56348.c w/ -O3 -funroll-loops -fno-tree-dominator-opts -fno-tree-vrp)
      
      	PR rtl-optimization/93088
      	* loop-iv.c (find_single_def_src): Punt after looking through
      	128 reg copies for regs with single definitions.  Move definitions
      	to first uses.
      
      	* gcc.target/i386/pr93088.c: New test.
      
      From-SVN: r279854
      Jakub Jelinek committed
    • Fortran] PR 92994 – add more ASSOCIATE checks · 4d124378
              PR fortran/92994
              * primary.c (gfc_match_rvalue): Add some flavor checks
              gfc_matching_procptr_assignment.
              * resolve.c (resolve_assoc_var): Add more checks for invalid targets.
      
              PR fortran/92994
              * gfortran.dg/associate_50.f90: Update dg-error.
              * gfortran.dg/associate_51.f90: New.
      
      From-SVN: r279853
      Tobias Burnus committed