1. 12 Jul, 2018 7 commits
  2. 11 Jul, 2018 13 commits
    • avx512bitalgintrin.h (_mm512_mask_bitshuffle_epi64_mask): Use __mmask64 type… · 18379eea
      avx512bitalgintrin.h (_mm512_mask_bitshuffle_epi64_mask): Use __mmask64 type instead of __mmask8 for __M argument.
      
      	* config/i386/avx512bitalgintrin.h (_mm512_mask_bitshuffle_epi64_mask):
      	Use __mmask64 type instead of __mmask8 for __M argument.
      	* config/i386/avx512fintrin.h (_mm512_mask_xor_epi64,
      	_mm512_maskz_xor_epi64): Use __mmask8 type instead of __mmask16 for
      	__U argument.
      	(_mm512_mask_cmpneq_epi64_mask): Use __mmask8 type instead of
      	__mmask16 for __M argument.
      	(_mm512_maskz_insertf32x4, _mm512_maskz_inserti32x4,
      	_mm512_mask_insertf32x4, _mm512_mask_inserti32x4): Cast last argument
      	to __mmask16 instead of __mmask8.
      	* config/i386/avx512vlintrin.h (_mm_mask_add_ps, _mm_maskz_add_ps,
      	_mm256_mask_add_ps, _mm256_maskz_add_ps, _mm_mask_sub_ps,
      	_mm_maskz_sub_ps, _mm256_mask_sub_ps, _mm256_maskz_sub_ps,
      	_mm256_maskz_cvtepi32_ps, _mm_maskz_cvtepi32_ps): Use __mmask8 type
      	instead of __mmask16 for __U argument.
      	* config/i386/avx512vlbwintrin.h (_mm_mask_cmp_epi8_mask): Use
      	__mmask16 instead of __mmask8 for __U argument.
      	(_mm256_mask_cmp_epi8_mask): Use __mmask32 instead of __mmask16 for
      	__U argument.
      	(_mm256_cmp_epi8_mask): Use __mmask32 return type instead of
      	__mmask16.
      	(_mm_mask_cmp_epu8_mask): Use __mmask16 instead of __mmask8 for __U
      	argument.
      	(_mm256_mask_cmp_epu8_mask): Use __mmask32 instead of __mmask16 for
      	__U argument.
      	(_mm256_cmp_epu8_mask): Use __mmask32 return type instead of
      	__mmask16.
      	(_mm_mask_cmp_epi16_mask): Cast last argument to __mmask8 instead
      	of __mmask16.
      	(_mm256_mask_cvtepi8_epi16): Use __mmask16 instead of __mmask32 for
      	__U argument.
      	(_mm_mask_cvtepi8_epi16): Use __mmask8 instead of __mmask32 for
      	__U argument.
      	(_mm256_mask_cvtepu8_epi16): Use __mmask16 instead of __mmask32 for
      	__U argument.
      	(_mm_mask_cvtepu8_epi16): Use __mmask8 instead of __mmask32 for
      	__U argument.
      	(_mm256_mask_cmpneq_epu8_mask, _mm256_mask_cmplt_epu8_mask,
      	_mm256_mask_cmpge_epu8_mask, _mm256_mask_cmple_epu8_mask): Change
      	return type as well as __M argument type and all casts from __mmask8
      	to __mmask32.
      	(_mm256_mask_cmpneq_epu16_mask, _mm256_mask_cmplt_epu16_mask,
      	_mm256_mask_cmpge_epu16_mask, _mm256_mask_cmple_epu16_mask): Change
      	return type as well as __M argument type and all casts from __mmask8
      	to __mmask16.
      	(_mm256_mask_cmpneq_epi8_mask, _mm256_mask_cmplt_epi8_mask,
      	_mm256_mask_cmpge_epi8_mask, _mm256_mask_cmple_epi8_mask): Change
      	return type as well as __M argument type and all casts from __mmask8
      	to __mmask32.
      	(_mm256_mask_cmpneq_epi16_mask, _mm256_mask_cmplt_epi16_mask,
      	_mm256_mask_cmpge_epi16_mask, _mm256_mask_cmple_epi16_mask): Change
      	return type as well as __M argument type and all casts from __mmask8
      	to __mmask16.
      	* config/i386/avx512vbmi2vlintrin.h (_mm_mask_shrdi_epi32,
      	_mm_mask_shldi_epi32): Cast last argument to __mmask8 instead of
      	__mmask16.
      
      	* gcc.target/i386/avx512bw-vpcmpb-2.c (CMP): Use SIZE macro instead
      	of hardcoding size.  Cast (rel) to MASK_TYPE.
      	* gcc.target/i386/avx512bw-vpcmpub-2.c (CMP): Likewise.
      	* gcc.target/i386/avx512f-vinserti32x4-3.c: New test.
      	* gcc.target/i386/avx512f-vinsertf32x4-3.c: New test.
      	* gcc.target/i386/avx512vl-vpcmpnequb-2.c: New test.
      	* gcc.target/i386/avx512vl-vpcmpgeub-2.c: New test.
      	* gcc.target/i386/avx512vl-vpcmpleb-2.c: New test.
      	* gcc.target/i386/avx512vl-vpcmpgeb-2.c: New test.
      	* gcc.target/i386/avx512vl-vpcmpltb-2.c: New test.
      	* gcc.target/i386/avx512vl-vpcmpltub-2.c: New test.
      	* gcc.target/i386/avx512vl-vpcmpleub-2.c: New test.
      	* gcc.target/i386/avx512vl-vpcmpneqb-2.c: New test.
      	* gcc.target/i386/avx512vl-vpcmpnequw-2.c: New test.
      	* gcc.target/i386/avx512vl-vpcmpgeuw-2.c: New test.
      	* gcc.target/i386/avx512vl-vpcmplew-2.c: New test.
      	* gcc.target/i386/avx512vl-vpcmpgew-2.c: New test.
      	* gcc.target/i386/avx512vl-vpcmpltw-2.c: New test.
      	* gcc.target/i386/avx512vl-vpcmpltuw-2.c: New test.
      	* gcc.target/i386/avx512vl-vpcmpleuw-2.c: New test.
      	* gcc.target/i386/avx512vl-vpcmpneqw-2.c: New test.
      
      2018-07-11  Grazvydas Ignotas  <notasas@gmail.com>
      
      	* config/i386/avx512bwintrin.h: (_mm512_mask_cmp_epi8_mask,
      	_mm512_mask_cmp_epu8_mask): Use __mmask64 type instead of __mmask32
      	for __U argument.
      
      	* gcc.target/i386/avx512bw-vpcmpb-2.c (SIZE): Define to
      	(AVX512F_LEN / 8) instead of (AVX512F_LEN / 16).
      	* gcc.target/i386/avx512bw-vpcmpub-2.c (SIZE): Likewise.
      
      From-SVN: r262566
      Jakub Jelinek committed
    • Correct date on ChangeLog entry. · 2d05894b
      From-SVN: r262563
      Paul Koning committed
    • md.texi (define_subst): Document how multiple occurrences of the same argument… · 8245edf3
      md.texi (define_subst): Document how multiple occurrences of the same argument in the replacement...
      
      	* doc/md.texi (define_subst): Document how multiple occurrences of
      	the same argument in the replacement pattern are handled.
      
      From-SVN: r262562
      Paul Koning committed
    • Add documentation for "mode" attribute for types. · bf8218db
      	* doc/extend.texi (Common Variable Attributes): Move "mode" into
      	alphabetical order.
      	(Common Type Attributes): Add "mode" attribute.
      
      From-SVN: r262561
      Paul Koning committed
    • lto-streamer-out.c (DFS::DFS_write_tree_body): Do not stream DECL_ORIGINAL_TYPE. · 69e02b35
      
      	* lto-streamer-out.c (DFS::DFS_write_tree_body): Do not
      	stream DECL_ORIGINAL_TYPE.
      	(DFS::DFS_write_tree_body): Drop hack handling local external decls.
      	(hash_tree): Do not walk DECL_ORIGINAL_TYPE.
      	* tree-streamer-in.c (lto_input_ts_decl_non_common_tree_pointers):
      	Do not walk original type.
      	* tree-streamer-out.c (streamer_write_chain): Drop hack handling
      	external decls.
      	(write_ts_decl_non_common_tree_pointers): Do not stream
      	DECL_ORIGINAL_TYPE
      	* tree.c (free_lang_data_in_decl): Clear DECL_ORIGINAL_TYPE.
      	(find_decls_types_r): Do not walk DEC_ORIGINAL_TYPE.
      
      From-SVN: r262560
      Jan Hubicka committed
    • tree-ssa-threadupdate.c (thread_through_all_blocks): Do not jump thread twice… · f790df6b
      tree-ssa-threadupdate.c (thread_through_all_blocks): Do not jump thread twice from the same starting edge.
      
              * tree-ssa-threadupdate.c (thread_through_all_blocks): Do not jump
      	thread twice from the same starting edge.
      
      From-SVN: r262559
      Aldy Hernandez committed
    • vr-values.c (gimple_stmt_nonzero_p): Abstract common code to... · 288aaa5f
              * vr-values.c (gimple_stmt_nonzero_p): Abstract common code to...
              * gimple.c (gimple_call_nonnull_result_p): ...here...
              (gimple_call_nonnull_arg): ...and here.
              * gimple.h (gimple_call_nonnull_result_p): New.
              (gimple_call_nonnull_arg): New.
      
      From-SVN: r262557
      Aldy Hernandez committed
    • [arm] Put CPU's FPU capabilities directly in the ISA specification · dff2abcb
      As part of the transition from the original support for named FPUs to
      general FPU properties I defined an entry in the CPU definitions in
      arm-cpus.in to use a named FPU.  However, that has now outlived its
      usefulness and increasingly we are likely to find that newer cores do
      not fit the legacy FPU names very well.  Furthermore it is now possible
      to encode all the FPU capatilities directly in the ISA definitions, often
      as simply as using +fp or +simd.
      
      So this patch removes the fpu field from the "define cpu" entries and
      instead encodes the same information in the isa field.  This also alows us
      to remove a bit of now-dead code from parsecpu.awk.
      
      	* config/arm/arm-cpus.in: Move information from fpu field of each
      	cpu definition to the isa field.
      	* config/arm/parsecpu.awk (fpu): Delete match rule.
      	(gen_comm_data): Don't add bits from the CPU's FPU entry.
      
      From-SVN: r262556
      Richard Earnshaw committed
    • compiler: fix evaluation order of LHS index expressions · 305130b9
          
          The spec says that when an index expression appears on the left hand
          side of an assignment, the operands should be evaluated. The
          gofrontend code was assuming that that only referred to the index
          operand. But discussion of https://golang.org/issue/23188 has
          clarified that this means both the slice/map/string operand and the
          index operand. Adjust the gofrontend code accordingly.
          
          Fixes golang/go#23188
          
          Reviewed-on: https://go-review.googlesource.com/123155
      
      From-SVN: r262554
      Ian Lance Taylor committed
    • re PR c++/86443 (ICEs on #pragma omp distribute parallel for with class iterators) · 2bae8b2f
      	PR c++/86443
      	* testsuite/libgomp.c++/for-15.C (a): Remove unused variable.
      	(results): Make sure the variable is not inside declare target region.
      	(qux): Remove unused function.
      
      From-SVN: r262552
      Jakub Jelinek committed
    • re PR debug/86457 (ICE in add_dwarf_attr, at dwarf2out.c:4405 since r251448) · cc71a1fe
      2018-07-11  Richard Biener  <rguenther@suse.de>
      
      	PR debug/86457
      	* dwarf2out.c (init_sections_and_labels): Use
      	output_asm_line_debug_info consistently.
      	(dwarf2out_early_finish): Likewise.
      	(dwarf2out_finish): Remove DW_AT_stmt_list from early generated
      	type units.
      
      From-SVN: r262551
      Richard Biener committed
    • tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely_1): Rework father_bb… · 286fa984
      tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely_1): Rework father_bb setting in a way to avoid propagating constants multiple times...
      
      2018-07-10  Richard Biener  <rguenther@suse.de>
      
      	* tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely_1):
      	Rework father_bb setting in a way to avoid propagating constants
      	multiple times on a loop body.
      
      From-SVN: r262550
      Richard Biener committed
    • Daily bump. · 7b8bddb4
      From-SVN: r262549
      GCC Administrator committed
  3. 10 Jul, 2018 10 commits
  4. 09 Jul, 2018 10 commits
    • PR middle-end/77357 - strlen of constant strings not folded · 35b4d3a6
      gcc/ChangeLog:
      
      	PR middle-end/77357
      	PR middle-end/86428
      	* builtins.c (c_strlen): Avoid out-of-bounds warnings when
      	accessing implicitly initialized array elements.
      	* expr.c (string_constant): Handle string initializers of
      	character arrays within aggregates.
      	* gimple-fold.c (fold_array_ctor_reference): Add argument.
      	Store element offset.  As a special case, handle zero size.
      	(fold_nonarray_ctor_reference): Same.
      	(fold_ctor_reference): Add argument.  Store subobject offset.
      	* gimple-fold.h (fold_ctor_reference): Add argument.
      
      gcc/testsuite/ChangeLog:
      
      	PR middle-end/77357
      	* gcc.dg/strlenopt-49.c: New test.
      	* gcc.dg/strlenopt-50.c: New test.
      	* gcc.dg/strlenopt-51.c: New test.
      	* gcc.dg/strlenopt-52.c: New test.
      
      From-SVN: r262522
      Martin Sebor committed
    • Improve code generation for pdp11 target. · aad2444d
      	* config/pdp11/pdp11.c (pdp11_addr_cost): New function.
      	(pdp11_insn_cost): New function.
      	(pdp11_md_asm_adjust): New function.
      	(TARGET_INVALID_WITHIN_DOLOOP): Define.
      	(pdp11_rtx_costs): Update to match machine better.
      	(output_addr_const_pdp11): Correct format mismatch warnings.
      	* config/pdp11/pdp11.h (SLOW_BYTE_ACCESS): Correct definition.
      	* config/pdp11/pdp11.md: General change to add base_cost and/or
      	length attributes for use by new pdp11_insn_cost function.
      	(MIN_BRANCH): Correct definition.
      	(MIN_SOB): Ditto.
      	(doloop_end): Use standard pattern name for looping pattern.
      	(doloop_end_nocc): New.
      	(movsf): Add another constraint alternative.
      	(zero_extendqihi2): Add constraint alternatives for not in place
      	extend.
      	(zero_extendhisi2): Remove.
      	(shift patterns): Add CC handling variants.
      	(bswaphi2): New.
      	(bswapsi2): New.
      	(rothi3): New.
      	(define_peephole2): New peephole to recognize mov that sets CC for
      	subsequent test.
      
      From-SVN: r262519
      Paul Koning committed
    • Fix overflow handling in sparc.c:sparc_fold_builtin · c36c567c
      	* config/sparc/sparc.c (sparc_fold_builtin) <SPARC_BUILTIN_PDIST,
      	SPARC_BUILTIN_PDISTN>: Adapt for signature change of wi::neg,
      	wi::add.
      
      From-SVN: r262518
      Rainer Orth committed
    • re PR c/86420 (nextafter(0x1p-1022,0) is constant folded) · 56d04c75
      	PR c/86420
      	* real.c (real_nextafter): Return true if result is denormal.
      
      	* gcc.dg/nextafter-1.c (TEST): Adjust the tests that expect denormals
      	to be returned and when first argument is not 0, so that they don't do
      	anything for NEED_EXC or NEED_ERRNO.
      
      From-SVN: r262517
      Jakub Jelinek committed
    • [testsuite] Use relative line numbers in gcc.dg/guality · eccba1ac
      Use relative line number where obvious: either the relative line number is
      '.', '.-1' or '.+1', or adjacent to another obvious case.
      
      2018-07-09  Tom de Vries  <tdevries@suse.de>
      
      	* gcc.dg/guality/asm-1.c: Use relative line numbers where obvious.
      	* gcc.dg/guality/bswaptest.c: Same.
      	* gcc.dg/guality/clztest.c: Same.
      	* gcc.dg/guality/csttest.c: Same.
      	* gcc.dg/guality/ctztest.c: Same.
      	* gcc.dg/guality/drap.c: Same.
      	* gcc.dg/guality/nrv-1.c: Same.
      	* gcc.dg/guality/pr41353-1.c: Same.
      	* gcc.dg/guality/pr41353-2.c: Same.
      	* gcc.dg/guality/pr41404-1.c: Same.
      	* gcc.dg/guality/pr43051-1.c: Same.
      	* gcc.dg/guality/pr43077-1.c: Same.
      	* gcc.dg/guality/pr43177.c: Same.
      	* gcc.dg/guality/pr43329-1.c: Same.
      	* gcc.dg/guality/pr43479.c: Same.
      	* gcc.dg/guality/pr43593.c: Same.
      	* gcc.dg/guality/pr45003-1.c: Same.
      	* gcc.dg/guality/pr45003-2.c: Same.
      	* gcc.dg/guality/pr45003-3.c: Same.
      	* gcc.dg/guality/pr48437.c: Same.
      	* gcc.dg/guality/pr48466.c: Same.
      	* gcc.dg/guality/pr49888.c: Same.
      	* gcc.dg/guality/pr54200.c: Same.
      	* gcc.dg/guality/pr54519-1.c: Same.
      	* gcc.dg/guality/pr54519-2.c: Same.
      	* gcc.dg/guality/pr54519-3.c: Same.
      	* gcc.dg/guality/pr54519-4.c: Same.
      	* gcc.dg/guality/pr54519-5.c: Same.
      	* gcc.dg/guality/pr54519-6.c: Same.
      	* gcc.dg/guality/pr54551.c: Same.
      	* gcc.dg/guality/pr54693-2.c: Same.
      	* gcc.dg/guality/pr54693.c: Same.
      	* gcc.dg/guality/pr54796.c: Same.
      	* gcc.dg/guality/pr54970.c: Same.
      	* gcc.dg/guality/pr67192.c: Same.
      	* gcc.dg/guality/pr69947.c: Same.
      	* gcc.dg/guality/pr78726.c: Same.
      	* gcc.dg/guality/rotatetest.c: Same.
      	* gcc.dg/guality/sra-1.c: Same.
      	* gcc.dg/guality/vla-2.c: Same.
      
      From-SVN: r262516
      Tom de Vries committed
    • Add missing Optimization attribute. · 8956e247
      2018-07-09  Martin Liska  <mliska@suse.cz>
      
      	* common.opt: Add back wrongly removed attribute.
      
      From-SVN: r262513
      Martin Liska committed
    • decl.c (grokdeclarator): Use rich_location::add_range in three more places;… · 7b3bc054
      decl.c (grokdeclarator): Use rich_location::add_range in three more places; include gcc-rich-location.h.
      
      /cp
      2018-07-09  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* decl.c (grokdeclarator): Use rich_location::add_range in three
      	more places; include gcc-rich-location.h.
      
      /testsuite
      2018-07-09  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* g++.dg/diagnostic/long-short.C: New.
      	* g++.dg/diagnostic/signed-unsigned.C: Likewise.
      	* g++.dg/diagnostic/virtual-friend.C: Likewise.
      	* g++.old-deja/g++.brendan/crash11.C: Adjust.
      
      From-SVN: r262512
      Paolo Carlini committed
    • re PR debug/86413 (gcc.dg/guality/pr48437.c fail) · 1dc9cf5d
      2018-07-09  Richard Biener  <rguenther@suse.de>
      
      	PR debug/86413
      	* dwarf2out.c (gen_block_die): For an early generated DIE
      	always output high/low PC attributes.
      
      From-SVN: r262511
      Richard Biener committed
    • [debug] Handle debug references to skipped params · 74725f46
      When compiling guality/vla-1.c with -O3 -g, vla a in f1 is optimized away, but
      f1 still contains a debug expression describing the upper bound of the vla
      (D.1914):
      ...
           __attribute__((noinline))
           f1 (intD.6 iD.1900)
           {
             <bb 2>
             saved_stack.1_2 = __builtin_stack_save ();
             # DEBUG BEGIN_STMT
             # DEBUG D#3 => i_1(D) + 1
             # DEBUG D#2 => (long intD.8) D#3
             # DEBUG D#1 => D#2 + -1
             # DEBUG D.1914 => (sizetype) D#1
      ...
      
      Then f1 is cloned to a version f1.constprop with no parameters, eliminating
      parameter i, and 'DEBUG D#3 => i_1(D) + 1' turns into 'D#3 => NULL'.
      
      This patch fixes that by defining debug expressions for default defs of
      eliminated parameters in remap_ssa_name:
      ...
           __attribute__((noinline))
           f1.constprop ()
           {
             intD.6 iD.1949;
      
             <bb 3>
             # DEBUG D#8 s=> iD.1900
             # DEBUG iD.1949 => D#8
      
             <bb 2>
      +      # DEBUG D#6 s=> iD.1949
             saved_stack.1_1 = __builtin_stack_save ();
             # DEBUG BEGIN_STMT
      -      # DEBUG D#3 => NULL
      +      # DEBUG D#3 => D#6 + 1
             # DEBUG D#2 => (long intD.8) D#3
             # DEBUG D#1 => D#2 + -1
             # DEBUG D.1951 => (sizetype) D#1
      ...
      
      Bootstrapped and reg-tested on x86_64.
      
      2018-07-09  Tom de Vries  <tdevries@suse.de>
      
      	* cfgexpand.c (expand_debug_source_expr): Handle VAR_DECL.
      	* tree-inline.c (remap_ssa_name): Handle default def ssa_name mapping
      	onto VAR_DECL with abstract origin.
      
      	* gcc.dg/vla-1.c: New test.
      
      From-SVN: r262510
      Tom de Vries committed
    • Daily bump. · d2c8944b
      From-SVN: r262509
      GCC Administrator committed